From a534b136b07a5f3f3bead2e488405d86a8ac2a1d Mon Sep 17 00:00:00 2001 From: "pull[bot]" <39814207+pull[bot]@users.noreply.github.com> Date: Sat, 25 May 2024 13:50:02 +0600 Subject: [PATCH 1/2] [pull] master from apify:master (#1) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(deps): lock file maintenance * chore(deps): lock file maintenance * chore(deps): lock file maintenance * chore(deps): lock file maintenance * ci: test on node 22 (#2438) * chore: use node 20 in templates * chore(deps): update yarn to v4.2.1 * chore(deps): lock file maintenance * fix: return true when robots.isAllowed returns undefined (#2439) `undefined` means that there is no explicit rule for the requested route. No rules means no disallow, therefore it's allowed. Fixes #2437 --------- Co-authored-by: Jan Buchar * chore(deps): update patch/minor dependencies to v3.3.0 * chore(deps): update patch/minor dependencies to v3.3.2 * chore(deps): lock file maintenance * chore(deps): lock file maintenance * docs: Should be "Same Domain" not "Same Subdomain" (#2445) The docs appear to be a bit misleading. If people want "Same Subdomain" they should actually use "Same Hostname". ![image](https://github.com/apify/crawlee/assets/10026538/2b5452c5-e313-404b-812d-811e0764bd2d) * chore(docker): update docker state [skip ci] * docs: fix two typos (array or requests -> array of requests, no much -> not much) (#2451) * fix: sitemap `content-type` check breaks on `content-type` parameters (#2442) According to the [RFC1341](https://www.w3.org/Protocols/rfc1341/4_Content-Type.html), the Content-type header can contain additional string parameters. * chore(docker): update docker state [skip ci] * chore(deps): lock file maintenance * fix(core): fire local `SystemInfo` events every second (#2454) During local development, we are firing events for the AutoscaledPool about current system resources like memory or CPU. We were firing them once a minute by default, but we remove those snapshots older than 30s, so we never had anything to compare and always used only the very last piece of information. This PR changes the interval to 1s, aligning this with how the Apify platform fires events. * chore(deps): lock file maintenance * chore(deps): lock file maintenance * chore(deps): lock file maintenance * chore(deps): lock file maintenance * chore(deps): lock file maintenance * chore(deps): lock file maintenance * chore(deps): update dependency linkedom to ^0.18.0 (#2457) * chore(docker): update docker state [skip ci] * perf: optimize adding large amount of requests via `crawler.addRequests()` (#2456) This PR resolves three main issues with adding large amount of requests into the queue: - Every requests added to the queue was automatically added to the LRU requests cache, which has a size of 1 million items. this makes sense for enqueuing a few items, but if we try to add more than the limit, we end up with overloading the LRU cache for no reason. Now we only add the first 1000 requests to the cache (plus any requests added via separate calls, e.g. when doing `enqueueLinks` from inside a request handler, again with a limit of the first 1000 links). - We used to validate the whole requests array via `ow`, and since the shape can vary, it was very slow (e.g. 20s just for the `ow` validation). Now we use a tailored validation for the array that does the same but resolves within 100ms or so. - We always created the `Request` objects out of everything, which had a significant impact on memory usage. Now we skip this completely and let the objects be created later when needed (when calling `RQ.addRequests()` which only receives the actual batch and not the whole array) Related: https://apify.slack.com/archives/C0L33UM7Z/p1715109984834079 * perf: improve scaling based on memory (#2459) We only allowed to use 70% of the available memory, this PR changes the limit to 90%. Tested with a low memory options and it did not have any effect, while it allows to use more memory on the large memory setups - where the 30% could mean 2gb or so, we dont need such a huge buffer. Also increases the scaling steps to 10% instead of 5% so speed up the scaling. Related: [apify.slack.com/archives/C0L33UM7Z/p1715109984834079](https://apify.slack.com/archives/C0L33UM7Z/p1715109984834079) * feat: make `RequestQueue` v2 the default queue, see more on [Apify blog](https://blog.apify.com/new-apify-request-queue/) (#2390) Closes #2388 --------- Co-authored-by: drobnikj Co-authored-by: Martin Adámek * fix: do not drop statistics on migration/resurrection/resume (#2462) This fixes a bug that was introduced with https://github.com/apify/crawlee/pull/1844 and https://github.com/apify/crawlee/pull/2083 - we reset the persisted state for statistics and session pool each time a crawler is started, which prevents their restoration. --------- Co-authored-by: Martin Adámek * chore(deps): update patch/minor dependencies (#2450) * chore(docker): update docker state [skip ci] * fix: double tier decrement in tiered proxy (#2468) * docs: scrapy-vs-crawlee blog (#2431) Co-authored-by: Saurav Jain Co-authored-by: davidjohnbarton <41335923+davidjohnbarton@users.noreply.github.com> * perf: optimize `RequestList` memory footprint (#2466) The request list now delays the conversion of the source items into the `Request` objects, resulting in a significantly less memory footprint. Related: https://apify.slack.com/archives/C0L33UM7Z/p1715109984834079 * fix: `EnqueueStrategy.All` erroring with links using unsupported protocols (#2389) This changes `EnqueueStrategy.All` to filter out non-http and non-https URLs (`mailto:` links were causing the crawler to error). Let me know if there's a better fix or if you want me to change something. Thanks! ``` Request failed and reached maximum retries. Error: Received one or more errors at _ArrayValidator.handle (/path/to/project/node_modules/@sapphire/shapeshift/src/validators/ArrayValidator.ts:102:17) at _ArrayValidator.parse (/path/to/project/node_modules/@sapphire/shapeshift/src/validators/BaseValidator.ts:103:2) at RequestQueueClient.batchAddRequests (/path/to/project/node_modules/@crawlee/src/resource-clients/request-queue.ts:340:36) at RequestQueue.addRequests (/path/to/project/node_modules/@crawlee/src/storages/request_provider.ts:238:46) at RequestQueue.addRequests (/path/to/project/node_modules/@crawlee/src/storages/request_queue.ts:304:22) at attemptToAddToQueueAndAddAnyUnprocessed (/path/to/project/node_modules/@crawlee/src/storages/request_provider.ts:302:42) at RequestQueue.addRequestsBatched (/path/to/project/node_modules/@crawlee/src/storages/request_provider.ts:319:37) at RequestQueue.addRequestsBatched (/path/to/project/node_modules/@crawlee/src/storages/request_queue.ts:309:22) at enqueueLinks (/path/to/project/node_modules/@crawlee/src/enqueue_links/enqueue_links.ts:384:2) at browserCrawlerEnqueueLinks (/path/to/project/node_modules/@crawlee/src/internals/browser-crawler.ts:777:21) ``` * fix(core): use createSessionFunction when loading Session from persisted state (#2444) Changes SessionPool's new Session loading behavior in the core module to utilize the configured createSessionFunction if specified. This ensures that new Sessions are instantiated using the custom session creation logic provided by the user, improving flexibility and adherence to user configurations. * fix(core): conversion between tough cookies and browser pool cookies (#2443) Fixes the conversion from tough cookies to browser pool cookies and vice versa, by correctly handling cookies where the domain has a leading dot versus when it doesn't. * test: fix e2e tests for zero concurrency * chore(deps): update dependency puppeteer to v22.8.2 * chore(docker): update docker state [skip ci] * docs: fixes (#2469) @B4nan minor fixes * chore(deps): update dependency puppeteer to v22.9.0 * feat: implement ErrorSnapshotter for error context capture (#2332) This commit introduces the ErrorSnapshotter class to the crawlee package, providing functionality to capture screenshots and HTML snapshots when an error occurs during web crawling. This functionality is opt-in, and can be enabled via the crawler options: ```ts const crawler = new BasicCrawler({ // ... statisticsOptions: { saveErrorSnapshots: true, }, }); ``` Closes #2280 --------- Co-authored-by: Martin Adámek * test: fix e2e tests for error snapshotter * feat: add `FileDownload` "crawler" (#2435) Adds a new package `@crawlee/file-download`, which overrides the `HttpCrawler`'s MIME type limitations and allows the users to download arbitrary files. Aside from the regular `requestHandler`, this crawler introduces `streamHandler`, which passes a `ReadableStream` with the downloaded data to the user handler. --------- Co-authored-by: Martin Adámek Co-authored-by: Jan Buchar * chore(release): v3.10.0 * chore(release): update internal dependencies [skip ci] * chore(docker): update docker state [skip ci] * docs: add v3.10 snapshot * docs: fix broken link for a moved content * chore(deps): lock file maintenance * docs: improve crawlee seo ranking (#2472) * chore(deps): lock file maintenance * refactor: Remove redundant fields from `StatisticsPersistedState` (#2475) Those fields are duplicated in the base class anyway. * chore(deps): lock file maintenance * fix: provide URLs to the error snapshot (#2482) This will respect the Actor SDK override automatically since importing the SDK will fire this side effect: https://github.com/apify/apify-sdk-js/blob/master/packages/apify/src/key_value_store.ts#L25 * docs: update keywords (#2481) Co-authored-by: Saurav Jain * docs: add feedback from community. (#2478) Co-authored-by: Saurav Jain Co-authored-by: Martin Adámek Co-authored-by: davidjohnbarton <41335923+davidjohnbarton@users.noreply.github.com> * chore: use biome for code formatting (#2301) This takes ~50ms on my machine :exploding_head: - closes #2366 - Replacing spaces with tabs won't be done right here, right now. - eslint and biome are reconciled - ~biome check fails because of typescript errors - we can either fix those or find a way to ignore it~ * chore(docker): update docker state [skip ci] * test: Check if the proxy tier drops after an amount of successful requests (#2490) * chore: ignore docker state when checking formatting (#2491) * chore: remove unused eslint ignore directives * chore: fix formatting * chore: run biome as a pre-commit hook (#2493) * fix: adjust `URL_NO_COMMAS_REGEX` regexp to allow single character hostnames (#2492) Closes #2487 * fix: investigate and temp fix for possible 0-concurrency bug in RQv2 (#2494) * test: add e2e test for zero concurrency with RQ v2 * chore: update biome * chore(docker): update docker state [skip ci] * chore(deps): lock file maintenance (#2495) * chore(release): v3.10.1 * chore(release): update internal dependencies [skip ci] * chore(docker): update docker state [skip ci] * chore: add undeclared dependency * chore(deps): update patch/minor dependencies to v1.44.1 * chore(deps): lock file maintenance * chore(docker): update docker state [skip ci] * feat: Loading sitemaps from string (#2496) - closes #2460 * docs: fix homepage gradients (#2500) * fix: Autodetect sitemap filetype from content (#2497) - closes #2461 * chore(deps): update dependency puppeteer to v22.10.0 * chore(deps): lock file maintenance --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Martin Adámek Co-authored-by: Gigino Chianese Co-authored-by: Jan Buchar Co-authored-by: Connor Adams Co-authored-by: Apify Release Bot Co-authored-by: Jiří Spilka Co-authored-by: Jindřich Bär Co-authored-by: Vlad Frangu Co-authored-by: drobnikj Co-authored-by: Jan Buchar Co-authored-by: Saurav Jain Co-authored-by: Saurav Jain Co-authored-by: davidjohnbarton <41335923+davidjohnbarton@users.noreply.github.com> Co-authored-by: Stefan Sundin Co-authored-by: Gustavo Silva Co-authored-by: Hamza Alwan --- .editorconfig | 2 - .eslintrc.json | 133 +- .github/workflows/release.yml | 2 +- .github/workflows/test-ci.yml | 5 +- .husky/pre-commit | 1 + CHANGELOG.md | 47 + biome.json | 26 + docs/examples/.eslintrc.json | 22 +- docs/examples/cheerio_crawler.ts | 4 +- docs/examples/crawl_multiple_urls_cheerio.ts | 6 +- .../crawl_multiple_urls_playwright.ts | 6 +- .../examples/crawl_multiple_urls_puppeteer.ts | 6 +- docs/examples/crawl_sitemap.mdx | 2 +- docs/examples/crawler-plugins/index.mdx | 6 +- docs/examples/forms.ts | 4 +- docs/examples/http_crawler.mdx | 2 +- docs/examples/http_crawler.ts | 9 +- docs/examples/jsdom_crawler.ts | 4 +- docs/examples/jsdom_crawler_react.ts | 12 +- docs/examples/map.ts | 4 +- docs/examples/reduce.ts | 4 +- docs/examples/tsconfig.json | 38 +- docs/experiments/request_locking.mdx | 15 + docs/guides/avoid_blocking_playwright.ts | 16 +- docs/guides/avoid_blocking_puppeteer.ts | 13 +- docs/guides/cheerio_crawler.mdx | 6 +- .../modified-detail-route.mjs | 4 +- .../parallel-scraping/parallel-scraper.mjs | 47 +- .../proxy_management_inspection_cheerio.ts | 4 +- .../proxy_management_inspection_http.ts | 4 +- .../proxy_management_inspection_jsdom.ts | 4 +- .../proxy_management_inspection_playwright.ts | 4 +- .../proxy_management_inspection_puppeteer.ts | 4 +- .../proxy_management_integration_cheerio.ts | 5 +- .../proxy_management_integration_http.ts | 5 +- .../proxy_management_integration_jsdom.ts | 5 +- ...proxy_management_integration_playwright.ts | 5 +- .../proxy_management_integration_puppeteer.ts | 5 +- .../proxy_management_session_cheerio.ts | 4 +- docs/guides/proxy_management_session_http.ts | 4 +- docs/guides/proxy_management_session_jsdom.ts | 4 +- .../proxy_management_session_playwright.ts | 4 +- .../proxy_management_session_puppeteer.ts | 4 +- .../proxy_management_session_standalone.ts | 8 +- docs/guides/request_storage.mdx | 4 +- docs/guides/session_management_basic.ts | 4 +- docs/guides/session_management_cheerio.ts | 4 +- docs/guides/session_management_http.ts | 4 +- docs/guides/session_management_jsdom.ts | 4 +- docs/guides/session_management_playwright.ts | 4 +- docs/guides/session_management_puppeteer.ts | 4 +- docs/introduction/03-filter-without-el.ts | 4 +- docs/introduction/03-find-without-el.ts | 4 +- docs/introduction/tsconfig.json | 38 +- lerna.json | 35 +- package.json | 25 +- packages/basic-crawler/CHANGELOG.md | 26 + packages/basic-crawler/package.json | 8 +- .../src/internals/basic-crawler.ts | 370 +- packages/basic-crawler/test/migration.test.ts | 66 +- packages/basic-crawler/test/tsconfig.json | 5 +- packages/basic-crawler/tsconfig.build.json | 10 +- packages/basic-crawler/tsconfig.json | 4 +- packages/browser-crawler/CHANGELOG.md | 16 + packages/browser-crawler/package.json | 10 +- .../src/internals/browser-crawler.ts | 180 +- .../src/internals/browser-launcher.ts | 26 +- .../browser-crawler/test/migration.test.ts | 44 +- packages/browser-crawler/test/tsconfig.json | 5 +- packages/browser-crawler/tsconfig.build.json | 10 +- packages/browser-crawler/tsconfig.json | 4 +- packages/browser-pool/CHANGELOG.md | 16 + packages/browser-pool/package.json | 6 +- .../abstract-classes/browser-controller.ts | 43 +- .../src/abstract-classes/browser-plugin.ts | 58 +- .../src/abstract-classes/utils.ts | 3 - packages/browser-pool/src/anonymize-proxy.ts | 10 +- packages/browser-pool/src/browser-pool.ts | 203 +- .../browser-pool/src/fingerprinting/hooks.ts | 14 +- .../browser-pool/src/fingerprinting/types.ts | 58 +- .../browser-pool/src/fingerprinting/utils.ts | 3 +- .../src/playwright/playwright-controller.ts | 24 +- .../src/playwright/playwright-plugin.ts | 50 +- .../src/puppeteer/puppeteer-controller.ts | 6 +- .../src/puppeteer/puppeteer-plugin.ts | 64 +- packages/browser-pool/src/utils.ts | 52 +- .../tab-as-a-container/background.js | 58 +- .../tab-as-a-container/content.js | 55 +- .../tab-as-a-container/manifest.json | 8 +- .../test/changing-page-options.test.ts | 31 +- .../test/multiple-plugins.test.ts | 10 +- .../test/no-hybrid-plugins.test.ts | 20 +- packages/browser-pool/tsconfig.build.json | 10 +- packages/browser-pool/tsconfig.json | 4 +- packages/cheerio-crawler/CHANGELOG.md | 16 + packages/cheerio-crawler/package.json | 8 +- .../src/internals/cheerio-crawler.ts | 69 +- .../cheerio-crawler/test/migration.test.ts | 44 +- packages/cheerio-crawler/test/tsconfig.json | 5 +- packages/cheerio-crawler/tsconfig.build.json | 10 +- packages/cheerio-crawler/tsconfig.json | 4 +- packages/cli/CHANGELOG.md | 16 + packages/cli/package.json | 4 +- .../cli/src/commands/CreateProjectCommand.ts | 90 +- .../InstallPlaywrightBrowsersCommand.ts | 9 +- packages/cli/src/index.ts | 12 +- packages/cli/tsconfig.build.json | 10 +- packages/cli/tsconfig.json | 4 +- packages/core/CHANGELOG.md | 40 + packages/core/package.json | 8 +- .../core/src/autoscaling/autoscaled_pool.ts | 53 +- packages/core/src/autoscaling/snapshotter.ts | 84 +- .../core/src/autoscaling/system_status.ts | 32 +- packages/core/src/configuration.ts | 6 +- packages/core/src/cookie_utils.ts | 23 +- packages/core/src/crawlers/crawler_commons.ts | 70 +- .../core/src/crawlers/error_snapshotter.ts | 160 + .../src/crawlers}/error_tracker.ts | 92 +- packages/core/src/crawlers/index.ts | 2 + packages/core/src/crawlers/statistics.ts | 49 +- .../core/src/enqueue_links/enqueue_links.ts | 95 +- packages/core/src/enqueue_links/shared.ts | 55 +- .../core/src/events/local_event_manager.ts | 21 +- packages/core/src/log.ts | 10 +- packages/core/src/proxy_configuration.ts | 37 +- packages/core/src/request.ts | 57 +- packages/core/src/router.ts | 18 +- packages/core/src/serialization.ts | 22 +- packages/core/src/session_pool/session.ts | 52 +- .../core/src/session_pool/session_pool.ts | 47 +- packages/core/src/storages/access_checking.ts | 5 +- packages/core/src/storages/dataset.ts | 55 +- packages/core/src/storages/index.ts | 5 +- packages/core/src/storages/key_value_store.ts | 89 +- packages/core/src/storages/request_list.ts | 125 +- .../core/src/storages/request_provider.ts | 325 +- packages/core/src/storages/request_queue.ts | 123 +- .../core/src/storages/request_queue_v2.ts | 115 +- packages/core/src/storages/storage_manager.ts | 16 +- packages/core/src/storages/utils.ts | 26 +- packages/core/src/typedefs.ts | 11 +- .../core/test/enqueue_links/userData.test.ts | 4 +- ...me-request-should-not-call-the-api.test.ts | 9 +- .../request-queue/request-queue-v2.test.ts | 19 +- packages/core/test/tsconfig.json | 5 +- packages/core/tsconfig.build.json | 10 +- packages/core/tsconfig.json | 4 +- packages/crawlee/CHANGELOG.md | 16 + packages/crawlee/package.json | 26 +- packages/crawlee/tsconfig.build.json | 10 +- packages/crawlee/tsconfig.json | 4 +- packages/http-crawler/CHANGELOG.md | 19 + packages/http-crawler/package.json | 8 +- packages/http-crawler/src/index.ts | 1 + .../src/internals/file-download.ts | 229 + .../src/internals/http-crawler.ts | 159 +- packages/http-crawler/tsconfig.build.json | 10 +- packages/http-crawler/tsconfig.json | 4 +- packages/jsdom-crawler/CHANGELOG.md | 16 + packages/jsdom-crawler/package.json | 6 +- .../src/internals/jsdom-crawler.ts | 63 +- packages/jsdom-crawler/tsconfig.build.json | 10 +- packages/jsdom-crawler/tsconfig.json | 4 +- packages/linkedom-crawler/CHANGELOG.md | 16 + packages/linkedom-crawler/package.json | 8 +- .../src/internals/linkedom-crawler.ts | 38 +- packages/linkedom-crawler/tsconfig.build.json | 10 +- packages/linkedom-crawler/tsconfig.json | 4 +- packages/memory-storage/CHANGELOG.md | 19 + packages/memory-storage/package.json | 4 +- .../src/background-handler/fs-utils.ts | 37 +- .../src/background-handler/index.ts | 11 +- packages/memory-storage/src/body-parser.ts | 15 +- packages/memory-storage/src/cache-helpers.ts | 24 +- .../memory-storage/src/fs/dataset/index.ts | 4 +- .../src/fs/key-value-store/fs.ts | 12 +- .../src/fs/key-value-store/index.ts | 4 +- .../src/fs/request-queue/index.ts | 4 +- packages/memory-storage/src/memory-storage.ts | 39 +- .../resource-clients/dataset-collection.ts | 4 +- .../src/resource-clients/dataset.ts | 54 +- .../key-value-store-collection.ts | 10 +- .../src/resource-clients/key-value-store.ts | 45 +- .../request-queue-collection.ts | 10 +- .../src/resource-clients/request-queue.ts | 80 +- packages/memory-storage/src/utils.ts | 12 +- .../memory-storage/test/fs-fallback.test.ts | 55 +- .../key-value-store/with-extension.test.ts | 14 +- .../test/no-crash-on-big-buffers.test.ts | 2 +- .../test/no-writing-to-disk.test.ts | 4 +- .../handledRequestCount-should-update.test.ts | 12 +- .../ignore-non-json-files.test.ts | 46 +- packages/memory-storage/test/tsconfig.json | 5 +- .../test/write-metadata.test.ts | 5 +- packages/memory-storage/tsconfig.build.json | 10 +- packages/memory-storage/tsconfig.json | 4 +- packages/playwright-crawler/CHANGELOG.md | 19 + packages/playwright-crawler/package.json | 13 +- .../internals/adaptive-playwright-crawler.ts | 185 +- .../internals/enqueue-links/click-elements.ts | 117 +- .../src/internals/playwright-crawler.ts | 43 +- .../src/internals/playwright-launcher.ts | 43 +- .../src/internals/utils/playwright-utils.ts | 213 +- .../utils/rendering-type-prediction.ts | 29 +- .../src/logistic-regression.d.ts | 30 +- .../playwright-crawler/tsconfig.build.json | 10 +- packages/playwright-crawler/tsconfig.json | 4 +- packages/puppeteer-crawler/CHANGELOG.md | 16 + packages/puppeteer-crawler/package.json | 10 +- .../internals/enqueue-links/click-elements.ts | 112 +- .../src/internals/puppeteer-crawler.ts | 44 +- .../src/internals/puppeteer-launcher.ts | 18 +- .../utils/puppeteer_request_interception.ts | 7 +- .../src/internals/utils/puppeteer_utils.ts | 207 +- .../puppeteer-crawler/tsconfig.build.json | 10 +- packages/puppeteer-crawler/tsconfig.json | 4 +- packages/templates/.eslintrc.json | 14 +- packages/templates/CHANGELOG.md | 16 + packages/templates/manifest.json | 216 +- packages/templates/package.json | 2 +- .../templates/scripts/validate-manifest.mjs | 13 +- packages/templates/src/index.ts | 34 +- .../templates/templates/cheerio-js/Dockerfile | 2 +- .../templates/templates/cheerio-ts/Dockerfile | 4 +- .../templates/cheerio-ts/tsconfig.json | 22 +- .../templates/getting-started-js/Dockerfile | 2 +- .../templates/getting-started-ts/Dockerfile | 4 +- .../getting-started-ts/tsconfig.json | 22 +- .../templates/playwright-js/Dockerfile | 2 +- .../templates/playwright-ts/Dockerfile | 4 +- .../templates/playwright-ts/tsconfig.json | 22 +- .../templates/puppeteer-js/Dockerfile | 2 +- .../templates/puppeteer-ts/Dockerfile | 4 +- .../templates/puppeteer-ts/tsconfig.json | 22 +- packages/templates/tsconfig.build.json | 12 +- packages/templates/tsconfig.json | 6 +- packages/types/CHANGELOG.md | 16 + packages/types/package.json | 2 +- packages/types/src/storages.ts | 2 - packages/types/tsconfig.build.json | 10 +- packages/types/tsconfig.json | 4 +- packages/utils/CHANGELOG.md | 29 + packages/utils/package.json | 11 +- packages/utils/src/index.ts | 1 - packages/utils/src/internals/blocked.ts | 4 +- packages/utils/src/internals/cheerio.ts | 18 +- packages/utils/src/internals/debug.ts | 5 +- packages/utils/src/internals/extract-urls.ts | 28 +- packages/utils/src/internals/general.ts | 28 +- packages/utils/src/internals/memory-info.ts | 13 +- .../utils/src/internals/open_graph_parser.ts | 37 +- packages/utils/src/internals/robots.ts | 14 +- packages/utils/src/internals/sitemap.ts | 148 +- packages/utils/src/internals/social.ts | 79 +- .../test/non-error-objects-working.test.ts | 2 +- packages/utils/test/robots.test.ts | 35 +- packages/utils/test/sitemap.test.ts | 399 +- packages/utils/test/tsconfig.json | 5 +- packages/utils/tsconfig.build.json | 12 +- packages/utils/tsconfig.json | 4 +- renovate.json | 65 +- scripts/actions/docker-images/main.ts | 13 +- scripts/actions/docker-images/state.json | 18 +- scripts/copy.ts | 4 +- scripts/typescript_fixes.mjs | 12 +- .../browser-plugins/plugins.test.ts | 82 +- test/browser-pool/browser-pool.test.ts | 118 +- test/core/autoscaling/autoscaled_pool.test.ts | 36 +- test/core/autoscaling/snapshotter.test.ts | 28 +- test/core/autoscaling/system_status.test.ts | 7 +- .../adaptive_playwright_crawler.test.ts | 141 +- test/core/crawlers/basic_browser_crawler.ts | 11 +- test/core/crawlers/basic_crawler.test.ts | 246 +- test/core/crawlers/browser_crawler.test.ts | 147 +- test/core/crawlers/cheerio_crawler.test.ts | 164 +- test/core/crawlers/crawler_extension.test.ts | 6 +- test/core/crawlers/dom_crawler.test.ts | 15 +- test/core/crawlers/file_download.test.ts | 160 + test/core/crawlers/http_crawler.test.ts | 44 +- test/core/crawlers/playwright_crawler.test.ts | 22 +- test/core/crawlers/puppeteer_crawler.test.ts | 76 +- .../core/enqueue_links/click_elements.test.ts | 53 +- test/core/enqueue_links/enqueue_links.test.ts | 174 +- test/core/enqueue_links/shared.test.ts | 8 +- test/core/error_tracker.test.ts | 251 +- test/core/playwright_utils.test.ts | 35 +- test/core/proxy_configuration.test.ts | 75 +- .../puppeteer_request_interception.test.ts | 53 +- test/core/puppeteer_utils.test.ts | 55 +- test/core/request_list.test.ts | 96 +- test/core/router.test.ts | 10 +- test/core/session_pool/session.test.ts | 87 +- test/core/session_pool/session_pool.test.ts | 33 +- test/core/session_pool/session_utils.test.ts | 5 +- test/core/storages/dataset.test.ts | 201 +- test/core/storages/key_value_store.test.ts | 105 +- test/core/storages/request_queue.test.ts | 84 +- test/e2e/.eslintrc.json | 12 +- .../e2e/automatic-persist-value/actor/main.js | 5 +- test/e2e/automatic-persist-value/test.mjs | 5 +- .../actor/main.js | 5 +- .../cheerio-default-ts/actor/.eslintrc.json | 2 +- .../cheerio-default-ts/actor/tsconfig.json | 16 +- test/e2e/cheerio-default/actor/main.js | 9 +- .../cheerio-enqueue-links-base/actor/main.js | 5 +- test/e2e/cheerio-enqueue-links/actor/main.js | 5 +- .../actor/.actor/actor.json | 7 + .../cheerio-error-snapshot/actor/.gitignore | 7 + .../cheerio-error-snapshot/actor/Dockerfile | 16 + test/e2e/cheerio-error-snapshot/actor/main.js | 63 + .../cheerio-error-snapshot/actor/package.json | 28 + test/e2e/cheerio-error-snapshot/test.mjs | 21 + .../cheerio-ignore-ssl-errors/actor/main.js | 10 +- test/e2e/cheerio-ignore-ssl-errors/test.mjs | 5 +- .../e2e/cheerio-initial-cookies/actor/main.js | 40 +- test/e2e/cheerio-initial-cookies/test.mjs | 4 +- test/e2e/cheerio-max-requests/actor/main.js | 24 +- test/e2e/cheerio-page-info/actor/main.js | 5 +- .../cheerio-request-queue-v2/actor/main.js | 5 +- .../cheerio-throw-on-ssl-errors/actor/main.js | 9 +- test/e2e/input-json5/actor/main.js | 5 +- test/e2e/input-json5/test.mjs | 14 +- .../e2e/jsdom-default-ts/actor/.eslintrc.json | 2 +- test/e2e/jsdom-default-ts/actor/tsconfig.json | 16 +- test/e2e/jsdom-react-ts/actor/.eslintrc.json | 2 +- test/e2e/jsdom-react-ts/actor/main.ts | 4 +- test/e2e/jsdom-react-ts/actor/tsconfig.json | 16 +- .../linkedom-default-ts/actor/.eslintrc.json | 2 +- .../linkedom-default-ts/actor/tsconfig.json | 16 +- test/e2e/migration/actor/main.js | 5 +- .../actor/main.js | 13 +- test/e2e/playwright-default/actor/main.js | 13 +- .../actor/main.js | 5 +- .../playwright-enqueue-links/actor/main.js | 5 +- .../actor/main.js | 13 +- .../playwright-initial-cookies/actor/main.js | 38 +- test/e2e/playwright-initial-cookies/test.mjs | 4 +- .../actor/main.js | 11 +- test/e2e/proxy-rotation/actor/main.js | 12 +- test/e2e/puppeteer-default/actor/main.js | 13 +- .../e2e/puppeteer-enqueue-links/actor/main.js | 5 +- .../actor/.actor/actor.json | 7 + .../puppeteer-error-snapshot/actor/.gitignore | 7 + .../puppeteer-error-snapshot/actor/Dockerfile | 23 + .../puppeteer-error-snapshot/actor/main.js | 62 + .../actor/package.json | 29 + test/e2e/puppeteer-error-snapshot/test.mjs | 33 + .../puppeteer-ignore-ssl-errors/actor/main.js | 18 +- .../puppeteer-initial-cookies/actor/main.js | 38 +- test/e2e/puppeteer-initial-cookies/test.mjs | 4 +- test/e2e/puppeteer-page-info/actor/main.js | 34 +- .../actor/main.js | 36 +- .../puppeteer-store-pagination/actor/main.js | 37 +- .../actor/main.js | 18 +- .../actor/.actor/actor.json | 7 + .../actor/.gitignore | 7 + .../actor/Dockerfile | 16 + .../actor/main.js | 33 + .../actor/package.json | 28 + .../test.mjs | 12 + .../actor/main.js | 9 +- .../e2e/request-skip-navigation/actor/main.js | 11 +- test/e2e/run.mjs | 25 +- test/e2e/session-rotation/actor/main.js | 5 +- test/e2e/session-rotation/test.mjs | 6 +- test/e2e/tools.mjs | 81 +- test/e2e/tsconfig.json | 5 +- test/shared/_helper.ts | 32 +- test/shared/data/html_to_text_test_data.ts | 17 +- test/shared/data/simple_url_list.txt | 1 + test/tsconfig.json | 31 +- test/utils/cheerio.test.ts | 5 +- test/utils/extract-urls.test.ts | 36 +- test/utils/general.test.ts | 26 +- test/utils/social.test.ts | 534 +- tsconfig.build.json | 37 +- tsconfig.json | 32 +- turbo.json | 36 +- vitest.config.ts | 6 +- .../02-22-launching-crawlee-blog/index.md | 2 +- .../img/scrapy-vs-crawlee.png | Bin 0 -> 70111 bytes .../2024/04-23-scrapy-vs-crawlee/index.md | 319 + website/package.json | 14 +- website/src/components/Gradients.jsx | 46 + website/src/components/Highlights.jsx | 6 +- website/static/img/features/gradient.svg | 40 - .../version-3.10/api-packages.json | 1 + .../version-3.10/api-typedoc.json | 335371 +++++++++++++++ .../deployment/apify_platform.mdx | 305 + .../deployment/apify_platform_init_exit.ts | 27 + .../deployment/apify_platform_main.ts | 25 + .../version-3.10/deployment/aws-browsers.md | 124 + .../version-3.10/deployment/aws-cheerio.md | 126 + .../version-3.10/deployment/gcp-browsers.md | 91 + .../version-3.10/deployment/gcp-cheerio.md | 81 + .../version-3.10/examples/.eslintrc.json | 13 + .../examples/accept_user_input.mdx | 23 + .../examples/accept_user_input.ts | 4 + .../examples/add_data_to_dataset.mdx | 21 + .../examples/add_data_to_dataset.ts | 21 + .../version-3.10/examples/basic_crawler.mdx | 19 + .../version-3.10/examples/basic_crawler.ts | 35 + .../version-3.10/examples/cheerio_crawler.mdx | 14 + .../version-3.10/examples/cheerio_crawler.ts | 64 + .../version-3.10/examples/crawl_all_links.mdx | 63 + .../examples/crawl_all_links_cheerio.ts | 13 + .../examples/crawl_all_links_playwright.ts | 13 + .../examples/crawl_all_links_puppeteer.ts | 13 + .../examples/crawl_multiple_urls.mdx | 54 + .../examples/crawl_multiple_urls_cheerio.ts | 16 + .../crawl_multiple_urls_playwright.ts | 16 + .../examples/crawl_multiple_urls_puppeteer.ts | 16 + .../examples/crawl_relative_links.mdx | 88 + .../examples/crawl_relative_links_all.ts | 18 + .../crawl_relative_links_same_domain.ts | 19 + .../crawl_relative_links_same_hostname.ts | 19 + .../examples/crawl_single_url.mdx | 17 + .../version-3.10/examples/crawl_single_url.ts | 5 + .../version-3.10/examples/crawl_sitemap.mdx | 55 + .../examples/crawl_sitemap_cheerio.ts | 16 + .../examples/crawl_sitemap_playwright.ts | 16 + .../examples/crawl_sitemap_puppeteer.ts | 16 + .../examples/crawl_some_links.mdx | 14 + .../version-3.10/examples/crawl_some_links.ts | 21 + .../examples/crawler-plugins/index.mdx | 78 + .../crawler-plugins/playwright-extra.ts | 74 + .../crawler-plugins/puppeteer-extra.ts | 71 + .../examples/export_entire_dataset.mdx | 14 + .../examples/export_entire_dataset.ts | 20 + .../version-3.10/examples/forms.mdx | 24 + .../version-3.10/examples/forms.ts | 39 + .../version-3.10/examples/http_crawler.mdx | 14 + .../version-3.10/examples/http_crawler.ts | 55 + .../version-3.10/examples/jsdom_crawler.mdx | 22 + .../version-3.10/examples/jsdom_crawler.ts | 64 + .../examples/jsdom_crawler_react.ts | 32 + .../version-3.10/examples/map.ts | 28 + .../version-3.10/examples/map_and_reduce.mdx | 80 + .../examples/playwright_crawler.mdx | 22 + .../examples/playwright_crawler.ts | 64 + .../examples/playwright_crawler_firefox.mdx | 22 + .../examples/playwright_crawler_firefox.ts | 22 + .../examples/puppeteer_capture_screenshot.mdx | 75 + .../examples/puppeteer_crawler.mdx | 25 + .../examples/puppeteer_crawler.ts | 64 + ...uppeteer_crawler_crawler_utils_snapshot.ts | 20 + .../puppeteer_crawler_page_screenshot.ts | 22 + .../puppeteer_crawler_utils_snapshot.ts | 17 + .../examples/puppeteer_page_screenshot.ts | 22 + .../examples/puppeteer_recursive_crawl.mdx | 20 + .../examples/puppeteer_recursive_crawl.ts | 17 + .../version-3.10/examples/reduce.ts | 30 + .../version-3.10/examples/skip-navigation.mdx | 23 + .../version-3.10/examples/skip-navigation.ts | 31 + .../version-3.10/examples/tsconfig.json | 21 + .../experiments/request_locking.mdx | 146 + .../version-3.10/guides/avoid_blocking.mdx | 61 + .../guides/avoid_blocking_playwright.ts | 23 + ...id_blocking_playwright_fingerprints_off.ts | 8 + .../guides/avoid_blocking_puppeteer.ts | 23 + ...oid_blocking_puppeteer_fingerprints_off.ts | 8 + .../version-3.10/guides/cheerio_crawler.mdx | 87 + .../version-3.10/guides/configuration.mdx | 224 + .../version-3.10/guides/docker_browser_js.txt | 29 + .../version-3.10/guides/docker_browser_ts.txt | 51 + .../version-3.10/guides/docker_images.mdx | 188 + .../version-3.10/guides/docker_node_js.txt | 29 + .../version-3.10/guides/docker_node_ts.txt | 50 + .../version-3.10/guides/got_scraping.mdx | 190 + ...javascript-rendering-playwright-no-wait.ts | 14 + .../guides/javascript-rendering-playwright.ts | 15 + .../javascript-rendering-puppeteer-no-wait.ts | 14 + .../guides/javascript-rendering-puppeteer.ts | 17 + .../guides/javascript-rendering.mdx | 94 + .../version-3.10/guides/jsdom_crawler.mdx | 61 + .../version-3.10/guides/motivation.mdx | 0 .../parallel-scraping/adapted-routes.mjs | 22 + .../modified-detail-route.mjs | 47 + .../parallel-scraping/parallel-scraper.mjs | 107 + .../parallel-scraping/parallel-scraping.mdx | 195 + .../guides/parallel-scraping/shared.mjs | 23 + .../version-3.10/guides/proxy_management.mdx | 169 + .../proxy_management_inspection_cheerio.ts | 11 + .../proxy_management_inspection_http.ts | 11 + .../proxy_management_inspection_jsdom.ts | 11 + .../proxy_management_inspection_playwright.ts | 11 + .../proxy_management_inspection_puppeteer.ts | 11 + .../proxy_management_integration_cheerio.ts | 13 + .../proxy_management_integration_http.ts | 13 + .../proxy_management_integration_jsdom.ts | 13 + ...proxy_management_integration_playwright.ts | 13 + .../proxy_management_integration_puppeteer.ts | 13 + .../proxy_management_session_cheerio.ts | 10 + .../guides/proxy_management_session_http.ts | 10 + .../guides/proxy_management_session_jsdom.ts | 10 + .../proxy_management_session_playwright.ts | 10 + .../proxy_management_session_puppeteer.ts | 10 + .../proxy_management_session_standalone.ts | 9 + .../version-3.10/guides/request_storage.mdx | 146 + .../guides/request_storage_queue_basic.ts | 17 + .../guides/request_storage_queue_crawler.ts | 25 + .../request_storage_queue_crawler_explicit.ts | 27 + .../guides/request_storage_queue_list.ts | 42 + .../guides/request_storage_queue_only.ts | 32 + .../version-3.10/guides/result_storage.mdx | 113 + .../version-3.10/guides/scaling_crawlers.mdx | 120 + .../scaling_crawlers_autoscaledPoolOptions.ts | 8 + .../scaling_crawlers_maxRequestsPerMinute.ts | 8 + .../scaling_crawlers_minMaxConcurrency.ts | 8 + .../guides/session_management.mdx | 81 + .../guides/session_management_basic.ts | 54 + .../guides/session_management_cheerio.ts | 26 + .../guides/session_management_http.ts | 26 + .../guides/session_management_jsdom.ts | 26 + .../guides/session_management_playwright.ts | 26 + .../guides/session_management_puppeteer.ts | 26 + .../guides/session_management_standalone.ts | 21 + .../guides/typescript_project.mdx | 154 + .../introduction/01-setting-up.mdx | 89 + .../introduction/02-first-crawler.mdx | 128 + .../introduction/03-adding-urls.mdx | 166 + .../version-3.10/introduction/03-filter-el.ts | 15 + .../introduction/03-filter-without-el.ts | 32 + .../version-3.10/introduction/03-find-el.ts | 17 + .../introduction/03-find-without-el.ts | 29 + .../introduction/04-pw-w-cheerio.ts | 21 + .../version-3.10/introduction/04-pw.ts | 21 + .../introduction/04-real-world-project.mdx | 173 + .../version-3.10/introduction/05-crawling.mdx | 102 + .../version-3.10/introduction/06-example.ts | 77 + .../version-3.10/introduction/06-scraping.mdx | 175 + .../version-3.10/introduction/07-example.ts | 78 + .../introduction/07-saving-data.mdx | 59 + .../introduction/08-refactoring.mdx | 159 + .../introduction/09-deployment.mdx | 118 + .../version-3.10/introduction/index.mdx | 49 + .../version-3.10/introduction/tsconfig.json | 21 + .../quick-start/headful_playwright.ts | 19 + .../quick-start/headful_puppeteer.ts | 19 + .../version-3.10/quick-start/index.mdx | 171 + .../quick-start/quick_start_cheerio.ts | 24 + .../quick-start/quick_start_cheerio.txt | 5 + .../quick-start/quick_start_playwright.ts | 26 + .../quick-start/quick_start_puppeteer.ts | 26 + .../version-3.10/upgrading/upgrading_v1.md | 450 + .../version-3.10/upgrading/upgrading_v2.md | 8 + .../version-3.10/upgrading/upgrading_v3.md | 484 + .../examples/crawl_relative_links.mdx | 2 +- .../version-3.10-sidebars.json | 141 + website/versions.json | 1 + website/yarn.lock | 3100 +- yarn.lock | 2045 +- 552 files changed, 354994 insertions(+), 7388 deletions(-) create mode 100644 .husky/pre-commit create mode 100644 biome.json delete mode 100644 packages/browser-pool/src/abstract-classes/utils.ts create mode 100644 packages/core/src/crawlers/error_snapshotter.ts rename packages/{utils/src/internals => core/src/crawlers}/error_tracker.ts (79%) create mode 100644 packages/http-crawler/src/internals/file-download.ts create mode 100644 test/core/crawlers/file_download.test.ts create mode 100644 test/e2e/cheerio-error-snapshot/actor/.actor/actor.json create mode 100644 test/e2e/cheerio-error-snapshot/actor/.gitignore create mode 100644 test/e2e/cheerio-error-snapshot/actor/Dockerfile create mode 100644 test/e2e/cheerio-error-snapshot/actor/main.js create mode 100644 test/e2e/cheerio-error-snapshot/actor/package.json create mode 100644 test/e2e/cheerio-error-snapshot/test.mjs create mode 100644 test/e2e/puppeteer-error-snapshot/actor/.actor/actor.json create mode 100644 test/e2e/puppeteer-error-snapshot/actor/.gitignore create mode 100644 test/e2e/puppeteer-error-snapshot/actor/Dockerfile create mode 100644 test/e2e/puppeteer-error-snapshot/actor/main.js create mode 100644 test/e2e/puppeteer-error-snapshot/actor/package.json create mode 100644 test/e2e/puppeteer-error-snapshot/test.mjs create mode 100644 test/e2e/request-queue-v2-zero-concurrency/actor/.actor/actor.json create mode 100644 test/e2e/request-queue-v2-zero-concurrency/actor/.gitignore create mode 100644 test/e2e/request-queue-v2-zero-concurrency/actor/Dockerfile create mode 100644 test/e2e/request-queue-v2-zero-concurrency/actor/main.js create mode 100644 test/e2e/request-queue-v2-zero-concurrency/actor/package.json create mode 100644 test/e2e/request-queue-v2-zero-concurrency/test.mjs create mode 100644 website/blog/2024/04-23-scrapy-vs-crawlee/img/scrapy-vs-crawlee.png create mode 100644 website/blog/2024/04-23-scrapy-vs-crawlee/index.md create mode 100644 website/src/components/Gradients.jsx delete mode 100644 website/static/img/features/gradient.svg create mode 100644 website/versioned_docs/version-3.10/api-packages.json create mode 100644 website/versioned_docs/version-3.10/api-typedoc.json create mode 100644 website/versioned_docs/version-3.10/deployment/apify_platform.mdx create mode 100644 website/versioned_docs/version-3.10/deployment/apify_platform_init_exit.ts create mode 100644 website/versioned_docs/version-3.10/deployment/apify_platform_main.ts create mode 100644 website/versioned_docs/version-3.10/deployment/aws-browsers.md create mode 100644 website/versioned_docs/version-3.10/deployment/aws-cheerio.md create mode 100644 website/versioned_docs/version-3.10/deployment/gcp-browsers.md create mode 100644 website/versioned_docs/version-3.10/deployment/gcp-cheerio.md create mode 100644 website/versioned_docs/version-3.10/examples/.eslintrc.json create mode 100644 website/versioned_docs/version-3.10/examples/accept_user_input.mdx create mode 100644 website/versioned_docs/version-3.10/examples/accept_user_input.ts create mode 100644 website/versioned_docs/version-3.10/examples/add_data_to_dataset.mdx create mode 100644 website/versioned_docs/version-3.10/examples/add_data_to_dataset.ts create mode 100644 website/versioned_docs/version-3.10/examples/basic_crawler.mdx create mode 100644 website/versioned_docs/version-3.10/examples/basic_crawler.ts create mode 100644 website/versioned_docs/version-3.10/examples/cheerio_crawler.mdx create mode 100644 website/versioned_docs/version-3.10/examples/cheerio_crawler.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_all_links.mdx create mode 100644 website/versioned_docs/version-3.10/examples/crawl_all_links_cheerio.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_all_links_playwright.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_all_links_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_multiple_urls.mdx create mode 100644 website/versioned_docs/version-3.10/examples/crawl_multiple_urls_cheerio.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_multiple_urls_playwright.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_multiple_urls_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_relative_links.mdx create mode 100644 website/versioned_docs/version-3.10/examples/crawl_relative_links_all.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_relative_links_same_domain.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_relative_links_same_hostname.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_single_url.mdx create mode 100644 website/versioned_docs/version-3.10/examples/crawl_single_url.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_sitemap.mdx create mode 100644 website/versioned_docs/version-3.10/examples/crawl_sitemap_cheerio.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_sitemap_playwright.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_sitemap_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawl_some_links.mdx create mode 100644 website/versioned_docs/version-3.10/examples/crawl_some_links.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawler-plugins/index.mdx create mode 100644 website/versioned_docs/version-3.10/examples/crawler-plugins/playwright-extra.ts create mode 100644 website/versioned_docs/version-3.10/examples/crawler-plugins/puppeteer-extra.ts create mode 100644 website/versioned_docs/version-3.10/examples/export_entire_dataset.mdx create mode 100644 website/versioned_docs/version-3.10/examples/export_entire_dataset.ts create mode 100644 website/versioned_docs/version-3.10/examples/forms.mdx create mode 100644 website/versioned_docs/version-3.10/examples/forms.ts create mode 100644 website/versioned_docs/version-3.10/examples/http_crawler.mdx create mode 100644 website/versioned_docs/version-3.10/examples/http_crawler.ts create mode 100644 website/versioned_docs/version-3.10/examples/jsdom_crawler.mdx create mode 100644 website/versioned_docs/version-3.10/examples/jsdom_crawler.ts create mode 100644 website/versioned_docs/version-3.10/examples/jsdom_crawler_react.ts create mode 100644 website/versioned_docs/version-3.10/examples/map.ts create mode 100644 website/versioned_docs/version-3.10/examples/map_and_reduce.mdx create mode 100644 website/versioned_docs/version-3.10/examples/playwright_crawler.mdx create mode 100644 website/versioned_docs/version-3.10/examples/playwright_crawler.ts create mode 100644 website/versioned_docs/version-3.10/examples/playwright_crawler_firefox.mdx create mode 100644 website/versioned_docs/version-3.10/examples/playwright_crawler_firefox.ts create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_capture_screenshot.mdx create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_crawler.mdx create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_crawler.ts create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_crawler_crawler_utils_snapshot.ts create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_crawler_page_screenshot.ts create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_crawler_utils_snapshot.ts create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_page_screenshot.ts create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_recursive_crawl.mdx create mode 100644 website/versioned_docs/version-3.10/examples/puppeteer_recursive_crawl.ts create mode 100644 website/versioned_docs/version-3.10/examples/reduce.ts create mode 100644 website/versioned_docs/version-3.10/examples/skip-navigation.mdx create mode 100644 website/versioned_docs/version-3.10/examples/skip-navigation.ts create mode 100644 website/versioned_docs/version-3.10/examples/tsconfig.json create mode 100644 website/versioned_docs/version-3.10/experiments/request_locking.mdx create mode 100644 website/versioned_docs/version-3.10/guides/avoid_blocking.mdx create mode 100644 website/versioned_docs/version-3.10/guides/avoid_blocking_playwright.ts create mode 100644 website/versioned_docs/version-3.10/guides/avoid_blocking_playwright_fingerprints_off.ts create mode 100644 website/versioned_docs/version-3.10/guides/avoid_blocking_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/guides/avoid_blocking_puppeteer_fingerprints_off.ts create mode 100644 website/versioned_docs/version-3.10/guides/cheerio_crawler.mdx create mode 100644 website/versioned_docs/version-3.10/guides/configuration.mdx create mode 100644 website/versioned_docs/version-3.10/guides/docker_browser_js.txt create mode 100644 website/versioned_docs/version-3.10/guides/docker_browser_ts.txt create mode 100644 website/versioned_docs/version-3.10/guides/docker_images.mdx create mode 100644 website/versioned_docs/version-3.10/guides/docker_node_js.txt create mode 100644 website/versioned_docs/version-3.10/guides/docker_node_ts.txt create mode 100644 website/versioned_docs/version-3.10/guides/got_scraping.mdx create mode 100644 website/versioned_docs/version-3.10/guides/javascript-rendering-playwright-no-wait.ts create mode 100644 website/versioned_docs/version-3.10/guides/javascript-rendering-playwright.ts create mode 100644 website/versioned_docs/version-3.10/guides/javascript-rendering-puppeteer-no-wait.ts create mode 100644 website/versioned_docs/version-3.10/guides/javascript-rendering-puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/guides/javascript-rendering.mdx create mode 100644 website/versioned_docs/version-3.10/guides/jsdom_crawler.mdx create mode 100644 website/versioned_docs/version-3.10/guides/motivation.mdx create mode 100644 website/versioned_docs/version-3.10/guides/parallel-scraping/adapted-routes.mjs create mode 100644 website/versioned_docs/version-3.10/guides/parallel-scraping/modified-detail-route.mjs create mode 100644 website/versioned_docs/version-3.10/guides/parallel-scraping/parallel-scraper.mjs create mode 100644 website/versioned_docs/version-3.10/guides/parallel-scraping/parallel-scraping.mdx create mode 100644 website/versioned_docs/version-3.10/guides/parallel-scraping/shared.mjs create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management.mdx create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_inspection_cheerio.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_inspection_http.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_inspection_jsdom.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_inspection_playwright.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_inspection_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_integration_cheerio.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_integration_http.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_integration_jsdom.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_integration_playwright.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_integration_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_session_cheerio.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_session_http.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_session_jsdom.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_session_playwright.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_session_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/guides/proxy_management_session_standalone.ts create mode 100644 website/versioned_docs/version-3.10/guides/request_storage.mdx create mode 100644 website/versioned_docs/version-3.10/guides/request_storage_queue_basic.ts create mode 100644 website/versioned_docs/version-3.10/guides/request_storage_queue_crawler.ts create mode 100644 website/versioned_docs/version-3.10/guides/request_storage_queue_crawler_explicit.ts create mode 100644 website/versioned_docs/version-3.10/guides/request_storage_queue_list.ts create mode 100644 website/versioned_docs/version-3.10/guides/request_storage_queue_only.ts create mode 100644 website/versioned_docs/version-3.10/guides/result_storage.mdx create mode 100644 website/versioned_docs/version-3.10/guides/scaling_crawlers.mdx create mode 100644 website/versioned_docs/version-3.10/guides/scaling_crawlers_autoscaledPoolOptions.ts create mode 100644 website/versioned_docs/version-3.10/guides/scaling_crawlers_maxRequestsPerMinute.ts create mode 100644 website/versioned_docs/version-3.10/guides/scaling_crawlers_minMaxConcurrency.ts create mode 100644 website/versioned_docs/version-3.10/guides/session_management.mdx create mode 100644 website/versioned_docs/version-3.10/guides/session_management_basic.ts create mode 100644 website/versioned_docs/version-3.10/guides/session_management_cheerio.ts create mode 100644 website/versioned_docs/version-3.10/guides/session_management_http.ts create mode 100644 website/versioned_docs/version-3.10/guides/session_management_jsdom.ts create mode 100644 website/versioned_docs/version-3.10/guides/session_management_playwright.ts create mode 100644 website/versioned_docs/version-3.10/guides/session_management_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/guides/session_management_standalone.ts create mode 100644 website/versioned_docs/version-3.10/guides/typescript_project.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/01-setting-up.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/02-first-crawler.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/03-adding-urls.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/03-filter-el.ts create mode 100644 website/versioned_docs/version-3.10/introduction/03-filter-without-el.ts create mode 100644 website/versioned_docs/version-3.10/introduction/03-find-el.ts create mode 100644 website/versioned_docs/version-3.10/introduction/03-find-without-el.ts create mode 100644 website/versioned_docs/version-3.10/introduction/04-pw-w-cheerio.ts create mode 100644 website/versioned_docs/version-3.10/introduction/04-pw.ts create mode 100644 website/versioned_docs/version-3.10/introduction/04-real-world-project.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/05-crawling.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/06-example.ts create mode 100644 website/versioned_docs/version-3.10/introduction/06-scraping.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/07-example.ts create mode 100644 website/versioned_docs/version-3.10/introduction/07-saving-data.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/08-refactoring.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/09-deployment.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/index.mdx create mode 100644 website/versioned_docs/version-3.10/introduction/tsconfig.json create mode 100644 website/versioned_docs/version-3.10/quick-start/headful_playwright.ts create mode 100644 website/versioned_docs/version-3.10/quick-start/headful_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/quick-start/index.mdx create mode 100644 website/versioned_docs/version-3.10/quick-start/quick_start_cheerio.ts create mode 100644 website/versioned_docs/version-3.10/quick-start/quick_start_cheerio.txt create mode 100644 website/versioned_docs/version-3.10/quick-start/quick_start_playwright.ts create mode 100644 website/versioned_docs/version-3.10/quick-start/quick_start_puppeteer.ts create mode 100644 website/versioned_docs/version-3.10/upgrading/upgrading_v1.md create mode 100644 website/versioned_docs/version-3.10/upgrading/upgrading_v2.md create mode 100644 website/versioned_docs/version-3.10/upgrading/upgrading_v3.md create mode 100644 website/versioned_sidebars/version-3.10-sidebars.json diff --git a/.editorconfig b/.editorconfig index 984605938bcb..a2046ffd9922 100644 --- a/.editorconfig +++ b/.editorconfig @@ -7,6 +7,4 @@ charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true end_of_line = lf -# editorconfig-tools is unable to ignore longs strings or urls -max_line_length = null quote_type = single diff --git a/.eslintrc.json b/.eslintrc.json index 87173102a0f9..022995a54db7 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,66 +1,71 @@ { - "root": true, - "env": { - "browser": true, - "es2020": true, - "node": true - }, - "extends": "@apify/eslint-config-ts", - "parserOptions": { - "project": "./tsconfig.eslint.json", - "ecmaVersion": 2022 - }, - "ignorePatterns": [ - "node_modules", - "dist", - "coverage", - "**/*.d.ts" - ], - "overrides": [ - { - "plugins": [ - "@typescript-eslint" - ], - "files": [ - "*.ts" - ], - "rules": { - "@typescript-eslint/array-type": "error", - "@typescript-eslint/ban-ts-comment": 0, - "@typescript-eslint/consistent-type-imports": ["error", { - "disallowTypeAnnotations": false - }], - "@typescript-eslint/consistent-type-definitions": ["error", "interface"], - "@typescript-eslint/member-delimiter-style": ["error", { - "multiline": { "delimiter": "semi", "requireLast": true }, - "singleline": { "delimiter": "semi", "requireLast": false } - }], - "@typescript-eslint/no-empty-interface": "off", - "no-empty-function": "off", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-floating-promises": "error", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/comma-dangle": ["error", "always-multiline"] - } - } - ], - "rules": { - "quote-props": ["error", "consistent"], - "import/no-extraneous-dependencies": "off", - "max-classes-per-file": 0, - "no-console": "error", - "no-underscore-dangle": 0, - "no-void": 0, - "max-len": ["error", { - "code": 160, - "ignoreUrls": true, - "ignoreComments": true - }], - "import/order": ["error", { - "groups": ["builtin", "external", ["parent", "sibling"], "index", "object"], - "alphabetize": { "order": "asc", "caseInsensitive": true }, - "newlines-between": "always" - }] - } + "root": true, + "env": { + "browser": true, + "es2020": true, + "node": true + }, + "extends": ["@apify/eslint-config-ts", "prettier"], + "parserOptions": { + "project": "./tsconfig.eslint.json", + "ecmaVersion": 2022 + }, + "ignorePatterns": ["node_modules", "dist", "coverage", "**/*.d.ts"], + "overrides": [ + { + "plugins": ["@typescript-eslint"], + "files": ["*.ts"], + "rules": { + "@typescript-eslint/array-type": "error", + "@typescript-eslint/ban-ts-comment": 0, + "@typescript-eslint/consistent-type-imports": [ + "error", + { + "disallowTypeAnnotations": false + } + ], + "@typescript-eslint/consistent-type-definitions": [ + "error", + "interface" + ], + "@typescript-eslint/member-delimiter-style": [ + "error", + { + "multiline": { "delimiter": "semi", "requireLast": true }, + "singleline": { "delimiter": "semi", "requireLast": false } + } + ], + "@typescript-eslint/no-empty-interface": "off", + "no-empty-function": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/comma-dangle": ["error", "always-multiline"] + } + } + ], + "rules": { + "quote-props": ["error", "consistent"], + "import/no-extraneous-dependencies": "off", + "max-classes-per-file": 0, + "no-console": "error", + "no-underscore-dangle": 0, + "no-void": 0, + "max-len": "off", + "import/order": [ + "error", + { + "groups": [ + "builtin", + "external", + ["parent", "sibling"], + "index", + "object" + ], + "alphabetize": { "order": "asc", "caseInsensitive": true }, + "newlines-between": "always" + } + ] + } } diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 217c83c92abc..cfb1871198ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -33,7 +33,7 @@ jobs: matrix: # We don't test on Windows as the tests are flaky os: [ubuntu-latest] - node-version: [16, 18, 20] + node-version: [16, 18, 20, 22] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/test-ci.yml b/.github/workflows/test-ci.yml index e285f2704ae2..9d1c20adeb1c 100644 --- a/.github/workflows/test-ci.yml +++ b/.github/workflows/test-ci.yml @@ -23,7 +23,7 @@ jobs: # tests on windows are extremely unstable # os: [ ubuntu-latest, windows-2019 ] os: [ubuntu-latest] - node-version: [16, 18, 20] + node-version: [16, 18, 20, 22] steps: - name: Cancel Workflow Action @@ -150,6 +150,9 @@ jobs: - name: ESLint run: yarn lint + - name: Biome format + run: yarn format:check + release_next: name: Release @next if: github.event_name == 'push' && contains(github.event.ref, 'master') && (!contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, 'docs:')) diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 000000000000..b4da9a05779d --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +yarn format diff --git a/CHANGELOG.md b/CHANGELOG.md index 36e55a1bb0a5..46d6858678ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,53 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + + +### Bug Fixes + +* adjust `URL_NO_COMMAS_REGEX` regexp to allow single character hostnames ([#2492](https://github.com/apify/crawlee/issues/2492)) ([ec802e8](https://github.com/apify/crawlee/commit/ec802e85f54022616e5bdcc1a6fd1bd43e1b3ace)), closes [#2487](https://github.com/apify/crawlee/issues/2487) +* investigate and temp fix for possible 0-concurrency bug in RQv2 ([#2494](https://github.com/apify/crawlee/issues/2494)) ([4ebe820](https://github.com/apify/crawlee/commit/4ebe820573b269c2d0a6eff20cfd7787debc63c0)) +* provide URLs to the error snapshot ([#2482](https://github.com/apify/crawlee/issues/2482)) ([7f64145](https://github.com/apify/crawlee/commit/7f64145308dfdb3909d4fcf945759a7d6344e2f5)), closes [/github.com/apify/apify-sdk-js/blob/master/packages/apify/src/key_value_store.ts#L25](https://github.com//github.com/apify/apify-sdk-js/blob/master/packages/apify/src/key_value_store.ts/issues/L25) + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + + +### Bug Fixes + +* `EnqueueStrategy.All` erroring with links using unsupported protocols ([#2389](https://github.com/apify/crawlee/issues/2389)) ([8db3908](https://github.com/apify/crawlee/commit/8db39080b7711ba3c27dff7fce1170ddb0ee3d05)) +* conversion between tough cookies and browser pool cookies ([#2443](https://github.com/apify/crawlee/issues/2443)) ([74f73ab](https://github.com/apify/crawlee/commit/74f73ab77a94ecd285d587b7b3532443deda07b4)) +* fire local `SystemInfo` events every second ([#2454](https://github.com/apify/crawlee/issues/2454)) ([1fa9a66](https://github.com/apify/crawlee/commit/1fa9a66388846505f84dcdea0393e7eaaebf84c3)) +* use createSessionFunction when loading Session from persisted state ([#2444](https://github.com/apify/crawlee/issues/2444)) ([3c56b4c](https://github.com/apify/crawlee/commit/3c56b4ca1efe327138aeb32c39dfd9dd67b6aceb)) +* do not drop statistics on migration/resurrection/resume ([#2462](https://github.com/apify/crawlee/issues/2462)) ([8ce7dd4](https://github.com/apify/crawlee/commit/8ce7dd4ae6a3718dac95e784a53bd5661c827edc)) +* double tier decrement in tiered proxy ([#2468](https://github.com/apify/crawlee/issues/2468)) ([3a8204b](https://github.com/apify/crawlee/commit/3a8204ba417936570ec5569dc4e4eceed79939c1)) +* Fixed double extension for screenshots ([#2419](https://github.com/apify/crawlee/issues/2419)) ([e8b39c4](https://github.com/apify/crawlee/commit/e8b39c41764726280c995e52fa7d79a9240d993e)), closes [#1980](https://github.com/apify/crawlee/issues/1980) +* malformed sitemap url when sitemap index child contains querystring ([#2430](https://github.com/apify/crawlee/issues/2430)) ([e4cd41c](https://github.com/apify/crawlee/commit/e4cd41c49999af270fbe2476a61d92c8e3502463)) +* return true when robots.isAllowed returns undefined ([#2439](https://github.com/apify/crawlee/issues/2439)) ([6f541f8](https://github.com/apify/crawlee/commit/6f541f8c4ea9b1e94eb506383019397676fd79fe)), closes [#2437](https://github.com/apify/crawlee/issues/2437) +* sitemap `content-type` check breaks on `content-type` parameters ([#2442](https://github.com/apify/crawlee/issues/2442)) ([db7d372](https://github.com/apify/crawlee/commit/db7d37256a49820e3e584165fff42377042ec258)) + + +### Features + +* add `FileDownload` "crawler" ([#2435](https://github.com/apify/crawlee/issues/2435)) ([d73756b](https://github.com/apify/crawlee/commit/d73756bb225d9ed8f58cf0a3b2e0ce96f6188863)) +* implement ErrorSnapshotter for error context capture ([#2332](https://github.com/apify/crawlee/issues/2332)) ([e861dfd](https://github.com/apify/crawlee/commit/e861dfdb451ae32fb1e0c7749c6b59744654b303)), closes [#2280](https://github.com/apify/crawlee/issues/2280) +* make `RequestQueue` v2 the default queue, see more on [Apify blog](https://blog.apify.com/new-apify-request-queue/) ([#2390](https://github.com/apify/crawlee/issues/2390)) ([41ae8ab](https://github.com/apify/crawlee/commit/41ae8abec1da811ae0750ac2d298e77c1e3b7b55)), closes [#2388](https://github.com/apify/crawlee/issues/2388) + + +### Performance Improvements + +* improve scaling based on memory ([#2459](https://github.com/apify/crawlee/issues/2459)) ([2d5d443](https://github.com/apify/crawlee/commit/2d5d443da5fa701b21aec003d4d84797882bc175)) +* optimize `RequestList` memory footprint ([#2466](https://github.com/apify/crawlee/issues/2466)) ([12210bd](https://github.com/apify/crawlee/commit/12210bd191b50c76ecca23ea18f3deda7b1517c6)) +* optimize adding large amount of requests via `crawler.addRequests()` ([#2456](https://github.com/apify/crawlee/issues/2456)) ([6da86a8](https://github.com/apify/crawlee/commit/6da86a85d848cd1cf860a28e5f077b8b14cdb213)) + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) diff --git a/biome.json b/biome.json new file mode 100644 index 000000000000..9bd15d91f3f0 --- /dev/null +++ b/biome.json @@ -0,0 +1,26 @@ +{ + "formatter": { + "ignore": [ + "website/**", + "packages/*/dist/**", + "package.json", + "scripts/actions/docker-images/state.json" + ], + "formatWithErrors": true + }, + "javascript": { + "formatter": { + "quoteStyle": "single", + "semicolons": "always", + "trailingComma": "all", + "lineWidth": 120, + "indentStyle": "space", + "indentWidth": 4, + "quoteProperties": "preserve", + "lineEnding": "lf" + } + }, + "linter": { + "enabled": false + } +} diff --git a/docs/examples/.eslintrc.json b/docs/examples/.eslintrc.json index d41f6dbc8164..f14aaaa0cbf6 100644 --- a/docs/examples/.eslintrc.json +++ b/docs/examples/.eslintrc.json @@ -1,13 +1,13 @@ { - "root": true, - "extends": "@apify/ts", - "parserOptions": { - "project": "./tsconfig.eslint.json", - "ecmaVersion": 2022 - }, - "rules": { - "import/extensions": 0, - "import/no-extraneous-dependencies": 0, - "no-console": "off" - } + "root": true, + "extends": "@apify/ts", + "parserOptions": { + "project": "./tsconfig.eslint.json", + "ecmaVersion": 2022 + }, + "rules": { + "import/extensions": 0, + "import/no-extraneous-dependencies": 0, + "no-console": "off" + } } diff --git a/docs/examples/cheerio_crawler.ts b/docs/examples/cheerio_crawler.ts index c496c15727da..2181333db797 100644 --- a/docs/examples/cheerio_crawler.ts +++ b/docs/examples/cheerio_crawler.ts @@ -57,8 +57,6 @@ const crawler = new CheerioCrawler({ }); // Run the crawler and wait for it to finish. -await crawler.run([ - 'https://crawlee.dev', -]); +await crawler.run(['https://crawlee.dev']); log.debug('Crawler finished.'); diff --git a/docs/examples/crawl_multiple_urls_cheerio.ts b/docs/examples/crawl_multiple_urls_cheerio.ts index 011d8b7d6ca6..9312a5f83e4c 100644 --- a/docs/examples/crawl_multiple_urls_cheerio.ts +++ b/docs/examples/crawl_multiple_urls_cheerio.ts @@ -9,8 +9,4 @@ const crawler = new CheerioCrawler({ }); // Run the crawler with initial request -await crawler.run([ - 'http://www.example.com/page-1', - 'http://www.example.com/page-2', - 'http://www.example.com/page-3', -]); +await crawler.run(['http://www.example.com/page-1', 'http://www.example.com/page-2', 'http://www.example.com/page-3']); diff --git a/docs/examples/crawl_multiple_urls_playwright.ts b/docs/examples/crawl_multiple_urls_playwright.ts index 9581bea3f248..f175277e09c3 100644 --- a/docs/examples/crawl_multiple_urls_playwright.ts +++ b/docs/examples/crawl_multiple_urls_playwright.ts @@ -9,8 +9,4 @@ const crawler = new PlaywrightCrawler({ }); // Run the crawler with initial request -await crawler.run([ - 'http://www.example.com/page-1', - 'http://www.example.com/page-2', - 'http://www.example.com/page-3', -]); +await crawler.run(['http://www.example.com/page-1', 'http://www.example.com/page-2', 'http://www.example.com/page-3']); diff --git a/docs/examples/crawl_multiple_urls_puppeteer.ts b/docs/examples/crawl_multiple_urls_puppeteer.ts index d7c6a99a5fc7..7cb5bf70ece4 100644 --- a/docs/examples/crawl_multiple_urls_puppeteer.ts +++ b/docs/examples/crawl_multiple_urls_puppeteer.ts @@ -9,8 +9,4 @@ const crawler = new PuppeteerCrawler({ }); // Run the crawler with initial request -await crawler.run([ - 'http://www.example.com/page-1', - 'http://www.example.com/page-2', - 'http://www.example.com/page-3', -]); +await crawler.run(['http://www.example.com/page-1', 'http://www.example.com/page-2', 'http://www.example.com/page-3']); diff --git a/docs/examples/crawl_sitemap.mdx b/docs/examples/crawl_sitemap.mdx index a136f00eedfa..711b3c337600 100644 --- a/docs/examples/crawl_sitemap.mdx +++ b/docs/examples/crawl_sitemap.mdx @@ -12,7 +12,7 @@ import CheerioSource from '!!raw-loader!roa-loader!./crawl_sitemap_cheerio.ts'; import PuppeteerSource from '!!raw-loader!roa-loader!./crawl_sitemap_puppeteer.ts'; import PlaywrightSource from '!!raw-loader!roa-loader!./crawl_sitemap_playwright.ts'; -This example downloads and crawls the URLs from a sitemap, by using the `Sitemap` utility class provided by the `@crawlee/utils` module. +This example builds a sitemap crawler which downloads and crawls the URLs from a sitemap, by using the `Sitemap` utility class provided by the `@crawlee/utils` module. diff --git a/docs/examples/crawler-plugins/index.mdx b/docs/examples/crawler-plugins/index.mdx index 08bd4d9430ee..fc38fa195a1a 100644 --- a/docs/examples/crawler-plugins/index.mdx +++ b/docs/examples/crawler-plugins/index.mdx @@ -13,7 +13,7 @@ import PlaywrightExtraSource from '!!raw-loader!roa-loader!./playwright-extra.ts [`puppeteer-extra`](https://www.npmjs.com/package/puppeteer-extra) and [`playwright-extra`](https://www.npmjs.com/package/playwright-extra) are community-built libraries that bring in a plugin system to enhance the usage of [`puppeteer`](https://www.npmjs.com/package/puppeteer) and [`playwright`](https://www.npmjs.com/package/playwright) respectively (bringing in extra functionality, like improving stealth for -example by using the [`puppeteer-extra-plugin-stealth`](https://www.npmjs.com/package/puppeteer-extra-plugin-stealth) plugin). +example by using the Puppeteer Stealth plugin [(`puppeteer-extra-plugin-stealth`)](https://www.npmjs.com/package/puppeteer-extra-plugin-stealth)). :::tip Available plugins @@ -23,7 +23,7 @@ For [`playwright`](https://www.npmjs.com/package/playwright), please see [`playw ::: -In this example, we'll show you how to use the [`puppeteer-extra-plugin-stealth`](https://www.npmjs.com/package/puppeteer-extra-plugin-stealth) plugin +In this example, we'll show you how to use the Puppeteer Stealth [(`puppeteer-extra-plugin-stealth`)](https://www.npmjs.com/package/puppeteer-extra-plugin-stealth) plugin to help you avoid bot detections when crawling your target website. @@ -31,7 +31,7 @@ to help you avoid bot detections when crawling your target website. :::info Before you begin -Make sure you've installed the `puppeteer-extra` and `puppeteer-extra-plugin-stealth` packages via your preferred package manager +Make sure you've installed the Puppeteer Extra (`puppeteer-extra`) and Puppeteer Stealth plugin(`puppeteer-extra-plugin-stealth`) packages via your preferred package manager ```bash npm install puppeteer-extra puppeteer-extra-plugin-stealth diff --git a/docs/examples/forms.ts b/docs/examples/forms.ts index 29677f91d101..818ae1e42782 100644 --- a/docs/examples/forms.ts +++ b/docs/examples/forms.ts @@ -23,8 +23,8 @@ await Promise.all([ ]); // Obtain and print list of search results -const results = await page.$$eval('[data-testid="results-list"] div.search-title > a', - (nodes) => nodes.map((node) => ({ +const results = await page.$$eval('[data-testid="results-list"] div.search-title > a', (nodes) => + nodes.map((node) => ({ url: node.href, name: node.innerText, })), diff --git a/docs/examples/http_crawler.mdx b/docs/examples/http_crawler.mdx index e62793ae554a..41f5d25394f3 100644 --- a/docs/examples/http_crawler.mdx +++ b/docs/examples/http_crawler.mdx @@ -7,7 +7,7 @@ import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; import ApiLink from '@site/src/components/ApiLink'; import HttpCrawlerSource from '!!raw-loader!roa-loader!./http_crawler.ts'; -This example demonstrates how to use `HttpCrawler` to crawl a list of URLs from an external file, load each URL using a plain HTTP request, and save HTML. +This example demonstrates how to use `HttpCrawler` to build a crawler that crawls a list of URLs from an external file, load each URL using a plain HTTP request, and save HTML. {HttpCrawlerSource} diff --git a/docs/examples/http_crawler.ts b/docs/examples/http_crawler.ts index 4052df13136b..6ddae73d7d3a 100644 --- a/docs/examples/http_crawler.ts +++ b/docs/examples/http_crawler.ts @@ -35,8 +35,8 @@ const crawler = new HttpCrawler({ // Store the results to the dataset. In local configuration, // the data will be stored as JSON files in ./storage/datasets/default await Dataset.pushData({ - url: request.url, - body, + url: request.url, // URL of the page + body, // HTML code of the page }); }, @@ -47,8 +47,7 @@ const crawler = new HttpCrawler({ }); // Run the crawler and wait for it to finish. -await crawler.run([ - 'https://crawlee.dev', -]); +// It will crawl a list of URLs from an external file, load each URL using a plain HTTP request, and save HTML +await crawler.run(['https://crawlee.dev']); log.debug('Crawler finished.'); diff --git a/docs/examples/jsdom_crawler.ts b/docs/examples/jsdom_crawler.ts index e72034113c2d..8f75f4b7c10e 100644 --- a/docs/examples/jsdom_crawler.ts +++ b/docs/examples/jsdom_crawler.ts @@ -57,8 +57,6 @@ const crawler = new JSDOMCrawler({ }); // Run the crawler and wait for it to finish. -await crawler.run([ - 'https://crawlee.dev', -]); +await crawler.run(['https://crawlee.dev']); log.debug('Crawler finished.'); diff --git a/docs/examples/jsdom_crawler_react.ts b/docs/examples/jsdom_crawler_react.ts index 8b3ec163bc6d..67e55e175042 100644 --- a/docs/examples/jsdom_crawler_react.ts +++ b/docs/examples/jsdom_crawler_react.ts @@ -1,9 +1,9 @@ import { JSDOMCrawler, log } from 'crawlee'; -// Create an instance of the JSDOMCrawler class - crawler that automatically +// Create an instance of the JSDOMCrawler class - crawler that automatically // loads the URLs and parses their HTML using the jsdom library. const crawler = new JSDOMCrawler({ - // Setting the `runScripts` option to `true` allows the crawler to execute client-side + // Setting the `runScripts` option to `true` allows the crawler to execute client-side // JavaScript code on the page. This is required for some websites (such as the React application in this example), but may pose a security risk. runScripts: true, // This function will be called for each crawled URL. @@ -18,15 +18,13 @@ const crawler = new JSDOMCrawler({ document.querySelectorAll('button')[18].click(); // = const result = document.querySelectorAll('.component-display')[0].childNodes[0] as Element; - // The result is passed to the console. Unlike with Playwright or Puppeteer crawlers, + // The result is passed to the console. Unlike with Playwright or Puppeteer crawlers, // this console call goes to the Node.js console, not the browser console. All the code here runs right in Node.js! log.info(result.innerHTML); // 2 }, }); // Run the crawler and wait for it to finish. -await crawler.run([ - 'https://ahfarmer.github.io/calculator/', -]); +await crawler.run(['https://ahfarmer.github.io/calculator/']); -log.debug('Crawler finished.'); \ No newline at end of file +log.debug('Crawler finished.'); diff --git a/docs/examples/map.ts b/docs/examples/map.ts index a06142a912f1..55c1ab03a9b5 100644 --- a/docs/examples/map.ts +++ b/docs/examples/map.ts @@ -1,8 +1,8 @@ import { Dataset, KeyValueStore } from 'crawlee'; const dataset = await Dataset.open<{ - url: string, - headingCount: number, + url: string; + headingCount: number; }>(); // Seeding the dataset with some data diff --git a/docs/examples/reduce.ts b/docs/examples/reduce.ts index 243966c90703..cb2b2848781f 100644 --- a/docs/examples/reduce.ts +++ b/docs/examples/reduce.ts @@ -1,8 +1,8 @@ import { Dataset, KeyValueStore } from 'crawlee'; const dataset = await Dataset.open<{ - url: string, - headingCount: number, + url: string; + headingCount: number; }>(); // Seeding the dataset with some data diff --git a/docs/examples/tsconfig.json b/docs/examples/tsconfig.json index 62b84708237b..ac8e11798b20 100644 --- a/docs/examples/tsconfig.json +++ b/docs/examples/tsconfig.json @@ -1,21 +1,21 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "baseUrl": "../..", - "paths": { - "crawlee": ["packages/crawlee/src"], - "@crawlee/basic": ["packages/basic-crawler/src"], - "@crawlee/browser": ["packages/browser-crawler/src"], - "@crawlee/http": ["packages/http-crawler/src"], - "@crawlee/linkedom": ["packages/linkedom-crawler/src"], - "@crawlee/jsdom": ["packages/jsdom-crawler/src"], - "@crawlee/cheerio": ["packages/cheerio-crawler/src"], - "@crawlee/playwright": ["packages/playwright-crawler/src"], - "@crawlee/puppeteer": ["packages/puppeteer-crawler/src"], - "@crawlee/*": ["packages/*/src"] - }, - "target": "ES2022", - "module": "ES2022", - "noUnusedParameters": false - } + "extends": "@apify/tsconfig", + "compilerOptions": { + "baseUrl": "../..", + "paths": { + "crawlee": ["packages/crawlee/src"], + "@crawlee/basic": ["packages/basic-crawler/src"], + "@crawlee/browser": ["packages/browser-crawler/src"], + "@crawlee/http": ["packages/http-crawler/src"], + "@crawlee/linkedom": ["packages/linkedom-crawler/src"], + "@crawlee/jsdom": ["packages/jsdom-crawler/src"], + "@crawlee/cheerio": ["packages/cheerio-crawler/src"], + "@crawlee/playwright": ["packages/playwright-crawler/src"], + "@crawlee/puppeteer": ["packages/puppeteer-crawler/src"], + "@crawlee/*": ["packages/*/src"] + }, + "target": "ES2022", + "module": "ES2022", + "noUnusedParameters": false + } } diff --git a/docs/experiments/request_locking.mdx b/docs/experiments/request_locking.mdx index f4f00116fff6..224b59ec7006 100644 --- a/docs/experiments/request_locking.mdx +++ b/docs/experiments/request_locking.mdx @@ -6,6 +6,21 @@ description: Parallelize crawlers with ease using request locking import ApiLink from '@site/src/components/ApiLink'; +:::tip Release announcement + +As of **May 2024** (`crawlee` version `3.10.0`), this experiment is now enabled by default! With that said, if you encounter issues you can: + +- set `requestLocking` to `false` in the `experiments` object of your crawler options +- update all imports of `RequestQueue` to `RequestQueueV1` +- open an issue on our [GitHub repository](https://github.com/apify/crawlee) + +The content below is kept for documentation purposes. +If you're interested in the changes, you can read the [blog post about the new Request Queue storage system on the Apify blog](https://blog.apify.com/new-apify-request-queue/). + +::: + +--- + :::caution This is an experimental feature. While we welcome testers, keep in mind that it is currently not recommended to use this in production. diff --git a/docs/guides/avoid_blocking_playwright.ts b/docs/guides/avoid_blocking_playwright.ts index 8a8543504c75..1e5e23aeae42 100644 --- a/docs/guides/avoid_blocking_playwright.ts +++ b/docs/guides/avoid_blocking_playwright.ts @@ -6,16 +6,14 @@ const crawler = new PlaywrightCrawler({ useFingerprints: true, // this is the default fingerprintOptions: { fingerprintGeneratorOptions: { - browsers: [{ - name: BrowserName.edge, - minVersion: 96, - }], - devices: [ - DeviceCategory.desktop, - ], - operatingSystems: [ - OperatingSystemsName.windows, + browsers: [ + { + name: BrowserName.edge, + minVersion: 96, + }, ], + devices: [DeviceCategory.desktop], + operatingSystems: [OperatingSystemsName.windows], }, }, }, diff --git a/docs/guides/avoid_blocking_puppeteer.ts b/docs/guides/avoid_blocking_puppeteer.ts index 6a4a2ea2eec7..5af3ca7fa3b5 100644 --- a/docs/guides/avoid_blocking_puppeteer.ts +++ b/docs/guides/avoid_blocking_puppeteer.ts @@ -6,16 +6,9 @@ const crawler = new PuppeteerCrawler({ useFingerprints: true, // this is the default fingerprintOptions: { fingerprintGeneratorOptions: { - browsers: [ - BrowserName.chrome, - BrowserName.firefox, - ], - devices: [ - DeviceCategory.mobile, - ], - locales: [ - 'en-US', - ], + browsers: [BrowserName.chrome, BrowserName.firefox], + devices: [DeviceCategory.mobile], + locales: ['en-US'], }, }, }, diff --git a/docs/guides/cheerio_crawler.mdx b/docs/guides/cheerio_crawler.mdx index 6097f77b47ed..d6926e9906de 100644 --- a/docs/guides/cheerio_crawler.mdx +++ b/docs/guides/cheerio_crawler.mdx @@ -11,7 +11,7 @@ import ApiLink from '@site/src/components/ApiLink'; ## What is Cheerio -[Cheerio](https://www.npmjs.com/package/cheerio) is essentially [jQuery](https://jquery.com/) for Node.js. It offers the same API, including the familiar `$` object. You can use it, as you would use jQuery for manipulating the DOM of an HTML page. In crawling, you'll mostly use it to select the needed elements and extract their values - the data you're interested in. But jQuery runs in a browser and attaches directly to the browser's DOM. Where does `cheerio` get its HTML? This is where the `Crawler` part of `CheerioCrawler` comes in. +[Cheerio](https://cheerio.js.org/) is essentially [jQuery](https://jquery.com/) for Node.js. It offers the same API, including the familiar `$` object. You can use it, as you would use jQuery for manipulating the DOM of an HTML page. In crawling, you'll mostly use it to select the needed elements and extract their values - the data you're interested in. But jQuery runs in a browser and attaches directly to the browser's DOM. Where does `cheerio` get its HTML? This is where the `Crawler` part of `CheerioCrawler` comes in. ## How the crawler works @@ -23,7 +23,7 @@ Modern web pages often do not serve all of their content in the first HTML respo ::: -Once the page's HTML is retrieved, the crawler will pass it to [Cheerio](https://www.npmjs.com/package/cheerio) for parsing. The result is the typical `$` function, which should be familiar to jQuery users. You can use the `$` function to do all sorts of lookups and manipulation of the page's HTML, but in scraping, you will mostly use it to find specific HTML elements and extract their data. +Once the page's HTML is retrieved, the crawler will pass it to [Cheerio](https://github.com/cheeriojs/cheerio) for parsing. The result is the typical `$` function, which should be familiar to jQuery users. You can use the `$` function to do all sorts of lookups and manipulation of the page's HTML, but in scraping, you will mostly use it to find specific HTML elements and extract their data. Example use of Cheerio and its `$` function in comparison to browser JavaScript: @@ -41,7 +41,7 @@ $('[href]') :::note -This is not to show that Cheerio is better than plain browser JavaScript. Some might actually prefer the more expressive way plain JS provides. Unfortunately, the browser JavaScript methods are not available in Node.js, so Cheerio is your best bet to do the parsing in Node. +This is not to show that Cheerio is better than plain browser JavaScript. Some might actually prefer the more expressive way plain JS provides. Unfortunately, the browser JavaScript methods are not available in Node.js, so Cheerio is your best bet to do the parsing in Node.js. ::: diff --git a/docs/guides/parallel-scraping/modified-detail-route.mjs b/docs/guides/parallel-scraping/modified-detail-route.mjs index e7bc1b74727a..ad7a807f7e7f 100644 --- a/docs/guides/parallel-scraping/modified-detail-route.mjs +++ b/docs/guides/parallel-scraping/modified-detail-route.mjs @@ -5,9 +5,7 @@ router.addHandler('DETAIL', async ({ request, page, log }) => { const manufacturer = urlPart[0].split('-')[0]; // 'sennheiser' const title = await page.locator('.product-meta h1').textContent(); - const sku = await page - .locator('span.product-meta__sku-number') - .textContent(); + const sku = await page.locator('span.product-meta__sku-number').textContent(); const priceElement = page .locator('span.price') diff --git a/docs/guides/parallel-scraping/parallel-scraper.mjs b/docs/guides/parallel-scraping/parallel-scraper.mjs index 1ea13da71d48..6bee4f4ff13a 100644 --- a/docs/guides/parallel-scraping/parallel-scraper.mjs +++ b/docs/guides/parallel-scraping/parallel-scraper.mjs @@ -50,12 +50,14 @@ if (!process.env.IN_WORKER_THREAD) { await Dataset.pushData(data); }); - promises.push(new Promise((resolve) => { - proc.once('exit', (code, signal) => { - log.info(`Process ${i} exited with code ${code} and signal ${signal}`); - resolve(); - }); - })); + promises.push( + new Promise((resolve) => { + proc.once('exit', (code, signal) => { + log.info(`Process ${i} exited with code ${code} and signal ${signal}`); + resolve(); + }); + }), + ); } await Promise.all(promises); @@ -86,22 +88,25 @@ if (!process.env.IN_WORKER_THREAD) { }); workerLogger.debug('Setting up crawler.'); - const crawler = new PlaywrightCrawler({ - log: workerLogger, - // Instead of the long requestHandler with - // if clauses we provide a router instance. - requestHandler: router, - // Enable the request locking experiment so that we can actually use the queue. - // highlight-start - experiments: { - requestLocking: true, + const crawler = new PlaywrightCrawler( + { + log: workerLogger, + // Instead of the long requestHandler with + // if clauses we provide a router instance. + requestHandler: router, + // Enable the request locking experiment so that we can actually use the queue. + // highlight-start + experiments: { + requestLocking: true, + }, + // Provide the request queue we've pre-filled in previous steps + requestQueue, + // highlight-end + // Let's also limit the crawler's concurrency, we don't want to overload a single process 🐌 + maxConcurrency: 5, }, - // Provide the request queue we've pre-filled in previous steps - requestQueue, - // highlight-end - // Let's also limit the crawler's concurrency, we don't want to overload a single process 🐌 - maxConcurrency: 5, - }, config); + config, + ); await crawler.run(); } diff --git a/docs/guides/proxy_management_inspection_cheerio.ts b/docs/guides/proxy_management_inspection_cheerio.ts index 68bdd2125100..842be0e380a3 100644 --- a/docs/guides/proxy_management_inspection_cheerio.ts +++ b/docs/guides/proxy_management_inspection_cheerio.ts @@ -1,6 +1,8 @@ import { CheerioCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new CheerioCrawler({ proxyConfiguration, diff --git a/docs/guides/proxy_management_inspection_http.ts b/docs/guides/proxy_management_inspection_http.ts index 076350877719..759da4f0baed 100644 --- a/docs/guides/proxy_management_inspection_http.ts +++ b/docs/guides/proxy_management_inspection_http.ts @@ -1,6 +1,8 @@ import { HttpCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new HttpCrawler({ proxyConfiguration, diff --git a/docs/guides/proxy_management_inspection_jsdom.ts b/docs/guides/proxy_management_inspection_jsdom.ts index db7607143e70..3ab09968a585 100644 --- a/docs/guides/proxy_management_inspection_jsdom.ts +++ b/docs/guides/proxy_management_inspection_jsdom.ts @@ -1,6 +1,8 @@ import { JSDOMCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new JSDOMCrawler({ proxyConfiguration, diff --git a/docs/guides/proxy_management_inspection_playwright.ts b/docs/guides/proxy_management_inspection_playwright.ts index db4b2d277e2d..9eaade17ce68 100644 --- a/docs/guides/proxy_management_inspection_playwright.ts +++ b/docs/guides/proxy_management_inspection_playwright.ts @@ -1,6 +1,8 @@ import { PlaywrightCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new PlaywrightCrawler({ proxyConfiguration, diff --git a/docs/guides/proxy_management_inspection_puppeteer.ts b/docs/guides/proxy_management_inspection_puppeteer.ts index 154ce0068fca..e119571d8687 100644 --- a/docs/guides/proxy_management_inspection_puppeteer.ts +++ b/docs/guides/proxy_management_inspection_puppeteer.ts @@ -1,6 +1,8 @@ import { PuppeteerCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new PuppeteerCrawler({ proxyConfiguration, diff --git a/docs/guides/proxy_management_integration_cheerio.ts b/docs/guides/proxy_management_integration_cheerio.ts index 74f9878c0952..642f27c42d90 100644 --- a/docs/guides/proxy_management_integration_cheerio.ts +++ b/docs/guides/proxy_management_integration_cheerio.ts @@ -1,10 +1,7 @@ import { CheerioCrawler, ProxyConfiguration } from 'crawlee'; const proxyConfiguration = new ProxyConfiguration({ - proxyUrls: [ - 'http://proxy-1.com', - 'http://proxy-2.com', - ], + proxyUrls: ['http://proxy-1.com', 'http://proxy-2.com'], }); const crawler = new CheerioCrawler({ diff --git a/docs/guides/proxy_management_integration_http.ts b/docs/guides/proxy_management_integration_http.ts index 0db0a9ab9221..920b976c63ad 100644 --- a/docs/guides/proxy_management_integration_http.ts +++ b/docs/guides/proxy_management_integration_http.ts @@ -1,10 +1,7 @@ import { HttpCrawler, ProxyConfiguration } from 'crawlee'; const proxyConfiguration = new ProxyConfiguration({ - proxyUrls: [ - 'http://proxy-1.com', - 'http://proxy-2.com', - ], + proxyUrls: ['http://proxy-1.com', 'http://proxy-2.com'], }); const crawler = new HttpCrawler({ diff --git a/docs/guides/proxy_management_integration_jsdom.ts b/docs/guides/proxy_management_integration_jsdom.ts index 4164ef8cff32..f8a60ddabf63 100644 --- a/docs/guides/proxy_management_integration_jsdom.ts +++ b/docs/guides/proxy_management_integration_jsdom.ts @@ -1,10 +1,7 @@ import { JSDOMCrawler, ProxyConfiguration } from 'crawlee'; const proxyConfiguration = new ProxyConfiguration({ - proxyUrls: [ - 'http://proxy-1.com', - 'http://proxy-2.com', - ], + proxyUrls: ['http://proxy-1.com', 'http://proxy-2.com'], }); const crawler = new JSDOMCrawler({ diff --git a/docs/guides/proxy_management_integration_playwright.ts b/docs/guides/proxy_management_integration_playwright.ts index ad41b377552a..81e4f80e615b 100644 --- a/docs/guides/proxy_management_integration_playwright.ts +++ b/docs/guides/proxy_management_integration_playwright.ts @@ -1,10 +1,7 @@ import { PlaywrightCrawler, ProxyConfiguration } from 'crawlee'; const proxyConfiguration = new ProxyConfiguration({ - proxyUrls: [ - 'http://proxy-1.com', - 'http://proxy-2.com', - ], + proxyUrls: ['http://proxy-1.com', 'http://proxy-2.com'], }); const crawler = new PlaywrightCrawler({ diff --git a/docs/guides/proxy_management_integration_puppeteer.ts b/docs/guides/proxy_management_integration_puppeteer.ts index f4dc43ac3939..74a552ba2931 100644 --- a/docs/guides/proxy_management_integration_puppeteer.ts +++ b/docs/guides/proxy_management_integration_puppeteer.ts @@ -1,10 +1,7 @@ import { PuppeteerCrawler, ProxyConfiguration } from 'crawlee'; const proxyConfiguration = new ProxyConfiguration({ - proxyUrls: [ - 'http://proxy-1.com', - 'http://proxy-2.com', - ], + proxyUrls: ['http://proxy-1.com', 'http://proxy-2.com'], }); const crawler = new PuppeteerCrawler({ diff --git a/docs/guides/proxy_management_session_cheerio.ts b/docs/guides/proxy_management_session_cheerio.ts index f8484e6ced38..bb19a5b88d35 100644 --- a/docs/guides/proxy_management_session_cheerio.ts +++ b/docs/guides/proxy_management_session_cheerio.ts @@ -1,6 +1,8 @@ import { CheerioCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new CheerioCrawler({ useSessionPool: true, diff --git a/docs/guides/proxy_management_session_http.ts b/docs/guides/proxy_management_session_http.ts index 601e26812a21..c8c289de4877 100644 --- a/docs/guides/proxy_management_session_http.ts +++ b/docs/guides/proxy_management_session_http.ts @@ -1,6 +1,8 @@ import { HttpCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new HttpCrawler({ useSessionPool: true, diff --git a/docs/guides/proxy_management_session_jsdom.ts b/docs/guides/proxy_management_session_jsdom.ts index 2321f97de433..98e71d904070 100644 --- a/docs/guides/proxy_management_session_jsdom.ts +++ b/docs/guides/proxy_management_session_jsdom.ts @@ -1,6 +1,8 @@ import { JSDOMCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new JSDOMCrawler({ useSessionPool: true, diff --git a/docs/guides/proxy_management_session_playwright.ts b/docs/guides/proxy_management_session_playwright.ts index 2208684698e3..70edcb79a033 100644 --- a/docs/guides/proxy_management_session_playwright.ts +++ b/docs/guides/proxy_management_session_playwright.ts @@ -1,6 +1,8 @@ import { PlaywrightCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new PlaywrightCrawler({ useSessionPool: true, diff --git a/docs/guides/proxy_management_session_puppeteer.ts b/docs/guides/proxy_management_session_puppeteer.ts index 5bcbb2806cab..fcd1e14427f2 100644 --- a/docs/guides/proxy_management_session_puppeteer.ts +++ b/docs/guides/proxy_management_session_puppeteer.ts @@ -1,6 +1,8 @@ import { PuppeteerCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new PuppeteerCrawler({ useSessionPool: true, diff --git a/docs/guides/proxy_management_session_standalone.ts b/docs/guides/proxy_management_session_standalone.ts index 3723d5072aca..bc2010f79b18 100644 --- a/docs/guides/proxy_management_session_standalone.ts +++ b/docs/guides/proxy_management_session_standalone.ts @@ -1,8 +1,12 @@ import { ProxyConfiguration, SessionPool } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); -const sessionPool = await SessionPool.open({ /* opts */ }); +const sessionPool = await SessionPool.open({ + /* opts */ +}); const session = await sessionPool.getSession(); diff --git a/docs/guides/request_storage.mdx b/docs/guides/request_storage.mdx index 64c2efeb96fd..279a504c912e 100644 --- a/docs/guides/request_storage.mdx +++ b/docs/guides/request_storage.mdx @@ -41,7 +41,7 @@ The request queue is managed by `addRequest()` function. diff --git a/docs/guides/session_management_basic.ts b/docs/guides/session_management_basic.ts index 8e7d41cca23c..4fecdea476f8 100644 --- a/docs/guides/session_management_basic.ts +++ b/docs/guides/session_management_basic.ts @@ -1,7 +1,9 @@ import { BasicCrawler, ProxyConfiguration } from 'crawlee'; import { gotScraping } from 'got-scraping'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new BasicCrawler({ // Activates the Session pool (default is true). diff --git a/docs/guides/session_management_cheerio.ts b/docs/guides/session_management_cheerio.ts index 397256b95e40..15f50f18b910 100644 --- a/docs/guides/session_management_cheerio.ts +++ b/docs/guides/session_management_cheerio.ts @@ -1,6 +1,8 @@ import { CheerioCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new CheerioCrawler({ // To use the proxy IP session rotation logic, you must turn the proxy usage on. diff --git a/docs/guides/session_management_http.ts b/docs/guides/session_management_http.ts index b6d40d3ecdb9..e57317c53f2d 100644 --- a/docs/guides/session_management_http.ts +++ b/docs/guides/session_management_http.ts @@ -1,6 +1,8 @@ import { HttpCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new HttpCrawler({ // To use the proxy IP session rotation logic, you must turn the proxy usage on. diff --git a/docs/guides/session_management_jsdom.ts b/docs/guides/session_management_jsdom.ts index 6f57ca9bab37..f541354d2a90 100644 --- a/docs/guides/session_management_jsdom.ts +++ b/docs/guides/session_management_jsdom.ts @@ -1,6 +1,8 @@ import { JSDOMCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new JSDOMCrawler({ // To use the proxy IP session rotation logic, you must turn the proxy usage on. diff --git a/docs/guides/session_management_playwright.ts b/docs/guides/session_management_playwright.ts index f4ea5651d4d3..aecf3b5c6dcf 100644 --- a/docs/guides/session_management_playwright.ts +++ b/docs/guides/session_management_playwright.ts @@ -1,6 +1,8 @@ import { PlaywrightCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new PlaywrightCrawler({ // To use the proxy IP session rotation logic, you must turn the proxy usage on. diff --git a/docs/guides/session_management_puppeteer.ts b/docs/guides/session_management_puppeteer.ts index 8f7aad903949..57f4c37df004 100644 --- a/docs/guides/session_management_puppeteer.ts +++ b/docs/guides/session_management_puppeteer.ts @@ -1,6 +1,8 @@ import { PuppeteerCrawler, ProxyConfiguration } from 'crawlee'; -const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); +const proxyConfiguration = new ProxyConfiguration({ + /* opts */ +}); const crawler = new PuppeteerCrawler({ // To use the proxy IP session rotation logic, you must turn the proxy usage on. diff --git a/docs/introduction/03-filter-without-el.ts b/docs/introduction/03-filter-without-el.ts index e50b05d8f321..3ddeb4efe5cb 100644 --- a/docs/introduction/03-filter-without-el.ts +++ b/docs/introduction/03-filter-without-el.ts @@ -14,9 +14,7 @@ const crawler = new CheerioCrawler({ // Besides resolving the URLs, we now also need to // grab their hostname for filtering. const { hostname } = new URL(request.loadedUrl); - const absoluteUrls = links.map( - (link) => new URL(link, request.loadedUrl), - ); + const absoluteUrls = links.map((link) => new URL(link, request.loadedUrl)); // We use the hostname to filter links that point // to a different domain, even subdomain. diff --git a/docs/introduction/03-find-without-el.ts b/docs/introduction/03-find-without-el.ts index 33561d0190f3..4c9ec20db061 100644 --- a/docs/introduction/03-find-without-el.ts +++ b/docs/introduction/03-find-without-el.ts @@ -17,9 +17,7 @@ const crawler = new CheerioCrawler({ // Then we need to resolve relative URLs, // otherwise they would be unusable for crawling. - const absoluteUrls = links.map( - (link) => new URL(link, request.loadedUrl).href, - ); + const absoluteUrls = links.map((link) => new URL(link, request.loadedUrl).href); // Finally, we have to add the URLs to the queue await crawler.addRequests(absoluteUrls); diff --git a/docs/introduction/tsconfig.json b/docs/introduction/tsconfig.json index 62b84708237b..ac8e11798b20 100644 --- a/docs/introduction/tsconfig.json +++ b/docs/introduction/tsconfig.json @@ -1,21 +1,21 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "baseUrl": "../..", - "paths": { - "crawlee": ["packages/crawlee/src"], - "@crawlee/basic": ["packages/basic-crawler/src"], - "@crawlee/browser": ["packages/browser-crawler/src"], - "@crawlee/http": ["packages/http-crawler/src"], - "@crawlee/linkedom": ["packages/linkedom-crawler/src"], - "@crawlee/jsdom": ["packages/jsdom-crawler/src"], - "@crawlee/cheerio": ["packages/cheerio-crawler/src"], - "@crawlee/playwright": ["packages/playwright-crawler/src"], - "@crawlee/puppeteer": ["packages/puppeteer-crawler/src"], - "@crawlee/*": ["packages/*/src"] - }, - "target": "ES2022", - "module": "ES2022", - "noUnusedParameters": false - } + "extends": "@apify/tsconfig", + "compilerOptions": { + "baseUrl": "../..", + "paths": { + "crawlee": ["packages/crawlee/src"], + "@crawlee/basic": ["packages/basic-crawler/src"], + "@crawlee/browser": ["packages/browser-crawler/src"], + "@crawlee/http": ["packages/http-crawler/src"], + "@crawlee/linkedom": ["packages/linkedom-crawler/src"], + "@crawlee/jsdom": ["packages/jsdom-crawler/src"], + "@crawlee/cheerio": ["packages/cheerio-crawler/src"], + "@crawlee/playwright": ["packages/playwright-crawler/src"], + "@crawlee/puppeteer": ["packages/puppeteer-crawler/src"], + "@crawlee/*": ["packages/*/src"] + }, + "target": "ES2022", + "module": "ES2022", + "noUnusedParameters": false + } } diff --git a/lerna.json b/lerna.json index 6f91a862e20e..6166ed21e3c1 100644 --- a/lerna.json +++ b/lerna.json @@ -1,22 +1,17 @@ { - "packages": [ - "packages/*" - ], - "version": "3.9.2", - "command": { - "version": { - "conventionalCommits": true, - "createRelease": "github", - "message": "chore(release): %s" - }, - "publish": { - "assets": [] - } - }, - "npmClient": "yarn", - "useNx": false, - "ignoreChanges": [ - "**/test/**", - "**/*.md" - ] + "packages": ["packages/*"], + "version": "3.10.1", + "command": { + "version": { + "conventionalCommits": true, + "createRelease": "github", + "message": "chore(release): %s" + }, + "publish": { + "assets": [] + } + }, + "npmClient": "yarn", + "useNx": false, + "ignoreChanges": ["**/test/**", "**/*.md"] } diff --git a/package.json b/package.json index f948b6fb13fc..4fd5bae8ef21 100644 --- a/package.json +++ b/package.json @@ -48,16 +48,20 @@ "release:prod": "yarn build && yarn publish:prod", "release:pin-versions": "turbo run copy -- -- --pin-versions", "lint": "eslint \"packages/**/*.ts\" \"test/**/*.ts\"", - "lint:fix": "eslint \"packages/**/*.ts\" \"test/**/*.ts\" --fix" + "lint:fix": "eslint \"packages/**/*.ts\" \"test/**/*.ts\" --fix", + "format": "biome format --write .", + "format:check": "biome format .", + "prepare": "husky" }, "devDependencies": { "@apify/eslint-config-ts": "^0.4.0", "@apify/log": "^2.4.0", "@apify/tsconfig": "^0.1.0", + "@biomejs/biome": "^1.7.3", "@commitlint/config-conventional": "^19.0.0", - "@playwright/browser-chromium": "1.43.1", - "@playwright/browser-firefox": "1.43.1", - "@playwright/browser-webkit": "1.43.1", + "@playwright/browser-chromium": "1.44.1", + "@playwright/browser-firefox": "1.44.1", + "@playwright/browser-webkit": "1.44.1", "@types/content-type": "^1.1.5", "@types/deep-equal": "^1.0.1", "@types/domhandler": "^2.4.2", @@ -88,20 +92,21 @@ "cross-env": "^7.0.3", "deep-equal": "^2.0.5", "eslint": "^8.52.0", + "eslint-config-prettier": "^9.1.0", "express": "^4.18.1", "fs-extra": "^11.0.0", "gen-esm-wrapper": "^1.1.3", "globby": "^14.0.0", "got": "^13.0.0", - "husky": "^8.0.1", + "husky": "^9.0.11", "is-ci": "^3.0.1", "lerna": "^8.0.0", "lint-staged": "^15.0.0", "nock": "^13.4.0", - "playwright": "1.43.1", + "playwright": "1.44.1", "portastic": "^1.0.1", "proxy": "^1.0.2", - "puppeteer": "22.7.1", + "puppeteer": "22.10.0", "rimraf": "^5.0.0", "tsx": "^4.4.0", "turbo": "1.13.3", @@ -109,9 +114,9 @@ "vite-tsconfig-paths": "^4.3.2", "vitest": "^1.4.0" }, - "packageManager": "yarn@4.1.1", + "packageManager": "yarn@4.2.2", "volta": { - "node": "20.12.2", - "yarn": "4.1.1" + "node": "20.13.1", + "yarn": "4.2.2" } } diff --git a/packages/basic-crawler/CHANGELOG.md b/packages/basic-crawler/CHANGELOG.md index fcc9cfe44155..b2e9495728cd 100644 --- a/packages/basic-crawler/CHANGELOG.md +++ b/packages/basic-crawler/CHANGELOG.md @@ -3,6 +3,32 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/basic + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + + +### Bug Fixes + +* `EnqueueStrategy.All` erroring with links using unsupported protocols ([#2389](https://github.com/apify/crawlee/issues/2389)) ([8db3908](https://github.com/apify/crawlee/commit/8db39080b7711ba3c27dff7fce1170ddb0ee3d05)) +* do not drop statistics on migration/resurrection/resume ([#2462](https://github.com/apify/crawlee/issues/2462)) ([8ce7dd4](https://github.com/apify/crawlee/commit/8ce7dd4ae6a3718dac95e784a53bd5661c827edc)) + + +### Features + +* implement ErrorSnapshotter for error context capture ([#2332](https://github.com/apify/crawlee/issues/2332)) ([e861dfd](https://github.com/apify/crawlee/commit/e861dfdb451ae32fb1e0c7749c6b59744654b303)), closes [#2280](https://github.com/apify/crawlee/issues/2280) +* make `RequestQueue` v2 the default queue, see more on [Apify blog](https://blog.apify.com/new-apify-request-queue/) ([#2390](https://github.com/apify/crawlee/issues/2390)) ([41ae8ab](https://github.com/apify/crawlee/commit/41ae8abec1da811ae0750ac2d298e77c1e3b7b55)), closes [#2388](https://github.com/apify/crawlee/issues/2388) + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) diff --git a/packages/basic-crawler/package.json b/packages/basic-crawler/package.json index a38ed52334f0..6a90d973a375 100644 --- a/packages/basic-crawler/package.json +++ b/packages/basic-crawler/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/basic", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -48,9 +48,9 @@ "@apify/log": "^2.4.0", "@apify/timeout": "^0.3.0", "@apify/utilities": "^2.7.10", - "@crawlee/core": "3.9.2", - "@crawlee/types": "3.9.2", - "@crawlee/utils": "3.9.2", + "@crawlee/core": "3.10.1", + "@crawlee/types": "3.10.1", + "@crawlee/utils": "3.10.1", "csv-stringify": "^6.2.0", "fs-extra": "^11.0.0", "got-scraping": "^4.0.0", diff --git a/packages/basic-crawler/src/internals/basic-crawler.ts b/packages/basic-crawler/src/internals/basic-crawler.ts index 2a00b012af47..da07be54fde5 100644 --- a/packages/basic-crawler/src/internals/basic-crawler.ts +++ b/packages/basic-crawler/src/internals/basic-crawler.ts @@ -39,8 +39,8 @@ import { mergeCookies, NonRetryableError, purgeDefaultStorages, + RequestQueueV1, RequestQueue, - RequestQueueV2, RequestState, RetryRequestError, Router, @@ -59,9 +59,8 @@ import ow, { ArgumentError } from 'ow'; import { getDomain } from 'tldts'; import type { SetRequired } from 'type-fest'; -export interface BasicCrawlingContext< - UserData extends Dictionary = Dictionary, -> extends CrawlingContext { +export interface BasicCrawlingContext + extends CrawlingContext { /** * This function automatically finds and enqueues links from the current page, adding them to the {@apilink RequestQueue} * currently used by the crawler. @@ -99,9 +98,14 @@ export interface BasicCrawlingContext< */ const SAFE_MIGRATION_WAIT_MILLIS = 20000; -export type RequestHandler = (inputs: Context) => Awaitable; +export type RequestHandler = ( + inputs: Context, +) => Awaitable; -export type ErrorHandler = (inputs: Context, error: Error) => Awaitable; +export type ErrorHandler = ( + inputs: Context, + error: Error, +) => Awaitable; export interface StatusMessageCallbackParams< Context extends CrawlingContext = BasicCrawlingContext, @@ -356,8 +360,10 @@ export interface BasicCrawlerOptions = Router.create(); - running?: boolean; + running = false; + hasFinishedBefore = false; protected log: Log; protected requestHandler!: RequestHandler; @@ -539,7 +546,10 @@ export class BasicCrawler = {}, readonly config = Configuration.getGlobalConfig()) { + constructor( + options: BasicCrawlerOptions = {}, + readonly config = Configuration.getGlobalConfig(), + ) { ow(options, 'BasicCrawlerOptions', ow.object.exactShape(BasicCrawler.optionsShape)); const { @@ -592,14 +602,6 @@ export class BasicCrawler (val == null ? null : +val); // allow at least 5min for internal timeouts - this.internalTimeoutMillis = tryEnv(process.env.CRAWLEE_INTERNAL_TIMEOUT) ?? Math.max(this.requestHandlerTimeoutMillis * 2, 300e3); + this.internalTimeoutMillis = + tryEnv(process.env.CRAWLEE_INTERNAL_TIMEOUT) ?? Math.max(this.requestHandlerTimeoutMillis * 2, 300e3); // override the default internal timeout of request queue to respect `requestHandlerTimeoutMillis` if (this.requestQueue) { @@ -662,7 +665,11 @@ export class BasicCrawler maxSignedInteger) { - log.warning(`requestHandlerTimeoutMillis ${this.requestHandlerTimeoutMillis}` - + ` does not fit a signed 32-bit integer. Limiting the value to ${maxSignedInteger}`); + log.warning( + `requestHandlerTimeoutMillis ${this.requestHandlerTimeoutMillis}` + + ` does not fit a signed 32-bit integer. Limiting the value to ${maxSignedInteger}`, + ); this.requestHandlerTimeoutMillis = maxSignedInteger; } @@ -705,8 +715,10 @@ export class BasicCrawler { if (isMaxPagesExceeded()) { if (shouldLogMaxPagesExceeded) { - log.info('Crawler reached the maxRequestsPerCrawl limit of ' - + `${maxRequestsPerCrawl} requests and will shut down soon. Requests that are in progress will be allowed to finish.`); + log.info( + 'Crawler reached the maxRequestsPerCrawl limit of ' + + `${maxRequestsPerCrawl} requests and will shut down soon. Requests that are in progress will be allowed to finish.`, + ); shouldLogMaxPagesExceeded = false; } return false; @@ -716,9 +728,11 @@ export class BasicCrawler { if (isMaxPagesExceeded()) { - log.info(`Earlier, the crawler reached the maxRequestsPerCrawl limit of ${maxRequestsPerCrawl} requests ` - + 'and all requests that were in progress at that time have now finished. ' - + `In total, the crawler processed ${this.handledRequestsCount} requests and will shut down.`); + log.info( + `Earlier, the crawler reached the maxRequestsPerCrawl limit of ${maxRequestsPerCrawl} requests ` + + 'and all requests that were in progress at that time have now finished. ' + + `In total, the crawler processed ${this.handledRequestsCount} requests and will shut down.`, + ); return true; } @@ -728,7 +742,7 @@ export class BasicCrawler { if (this.running) { - throw new Error('This crawler instance is already running, you can add more requests to it via `crawler.addRequests()`.'); + throw new Error( + 'This crawler instance is already running, you can add more requests to it via `crawler.addRequests()`.', + ); } const purgeRequestQueue = options?.purgeRequestQueue ?? true; - // When executing the run method for the second time explicitly (the first time `this.running` is `undefined`), - // we need to purge the default RQ to allow processing the same requests again - this is important so users can - // pass in failed requests back to the `crawler.run()`, otherwise they would be considered as handled and - // ignored - as a failed requests is still handled. - if (this.running === false && this.requestQueue?.name === 'default' && purgeRequestQueue) { - await this.requestQueue.drop(); - this.requestQueue = await this._getRequestQueue(); + if (this.hasFinishedBefore) { + // When executing the run method for the second time explicitly, + // we need to purge the default RQ to allow processing the same requests again - this is important so users can + // pass in failed requests back to the `crawler.run()`, otherwise they would be considered as handled and + // ignored - as a failed requests is still handled. + if (this.requestQueue?.name === 'default' && purgeRequestQueue) { + await this.requestQueue.drop(); + this.requestQueue = await this._getRequestQueue(); + } + + this.stats.reset(); + await this.stats.resetStore(); + await this.sessionPool?.resetStore(); } this.running = true; - this.stats.reset(); - await this.stats.resetStore(); - await this.sessionPool?.resetStore(); await purgeDefaultStorages({ onlyPurgeOnce: true }); @@ -861,7 +889,9 @@ export class BasicCrawler { - this.log.warning('Pausing... Press CTRL+C again to force exit. To resume, do: CRAWLEE_PURGE_ON_START=0 npm start'); + this.log.warning( + 'Pausing... Press CTRL+C again to force exit. To resume, do: CRAWLEE_PURGE_ON_START=0 npm start', + ); await this._pauseOnMigration(); await this.autoscaledPool!.abort(); }; @@ -916,17 +946,23 @@ export class BasicCrawler { + async addRequests( + requests: (string | Source)[], + options: CrawlerAddRequestsOptions = {}, + ): Promise { const requestQueue = await this.getRequestQueue(); return requestQueue.addRequestsBatched(requests, options); } @@ -988,7 +1027,9 @@ export class BasicCrawler Object.values(item)), - ]); + const value = stringify([Object.keys(items[0]), ...items.map((item) => Object.values(item))]); await ensureDir(dirname(path)); await writeFile(path, value); this.log.info(`Export to ${path} finished!`); @@ -1055,38 +1093,40 @@ export class BasicCrawler { - if (err.message.includes('running tasks did not finish')) { - this.log.error('The crawler was paused due to migration to another host, ' - + 'but some requests did not finish in time. Those requests\' results may be duplicated.'); - } else { - throw err; - } - }); + await this.autoscaledPool.pause(SAFE_MIGRATION_WAIT_MILLIS).catch((err) => { + if (err.message.includes('running tasks did not finish')) { + this.log.error( + 'The crawler was paused due to migration to another host, ' + + "but some requests did not finish in time. Those requests' results may be duplicated.", + ); + } else { + throw err; + } + }); } const requestListPersistPromise = (async () => { if (this.requestList) { if (await this.requestList.isFinished()) return; - await this.requestList.persistState() - .catch((err) => { - if (err.message.includes('Cannot persist state.')) { - this.log.error('The crawler attempted to persist its request list\'s state and failed due to missing or ' - + 'invalid config. Make sure to use either RequestList.open() or the "stateKeyPrefix" option of RequestList ' - + 'constructor to ensure your crawling state is persisted through host migrations and restarts.'); - } else { - this.log.exception(err, 'An unexpected error occurred when the crawler ' - + 'attempted to persist its request list\'s state.'); - } - }); + await this.requestList.persistState().catch((err) => { + if (err.message.includes('Cannot persist state.')) { + this.log.error( + "The crawler attempted to persist its request list's state and failed due to missing or " + + 'invalid config. Make sure to use either RequestList.open() or the "stateKeyPrefix" option of RequestList ' + + 'constructor to ensure your crawling state is persisted through host migrations and restarts.', + ); + } else { + this.log.exception( + err, + 'An unexpected error occurred when the crawler ' + + "attempted to persist its request list's state.", + ); + } + }); } })(); - await Promise.all([ - requestListPersistPromise, - this.stats.persistState(), - ]); + await Promise.all([requestListPersistPromise, this.stats.persistState()]); } /** @@ -1104,7 +1144,10 @@ export class BasicCrawler= this.sameDomainDelayMillis) { + if (!lastAccessTime || now - lastAccessTime >= this.sameDomainDelayMillis) { this.domainAccessedTime.set(domain, now); return false; } @@ -1143,7 +1184,9 @@ export class BasicCrawler { this.log.debug(`Adding request ${request.url} (${request.id}) back to the queue`); // eslint-disable-next-line dot-notation @@ -1159,7 +1202,7 @@ export class BasicCrawler { - const cookieJar = session ? { - getCookieString: async (url: string) => session!.getCookieString(url), - setCookie: async (rawCookie: string, url: string) => session!.setCookie(rawCookie, url), - ...overrideOptions?.cookieJar, - } : overrideOptions?.cookieJar; + const cookieJar = session + ? { + getCookieString: async (url: string) => session!.getCookieString(url), + setCookie: async (rawCookie: string, url: string) => session!.setCookie(rawCookie, url), + ...overrideOptions?.cookieJar, + } + : overrideOptions?.cookieJar; return gotScraping({ url: request!.url, @@ -1254,7 +1299,9 @@ export class BasicCrawler source.markRequestHandled(request!), this.internalTimeoutMillis, - `Marking request ${request.url} (${request.id}) as handled timed out after ${this.internalTimeoutMillis / 1e3} seconds.`, + `Marking request ${request.url} (${request.id}) as handled timed out after ${ + this.internalTimeoutMillis / 1e3 + } seconds.`, ); this.stats.finishJob(statisticsId); @@ -1269,17 +1316,25 @@ export class BasicCrawler this._requestFunctionErrorHandler(err as Error, crawlingContext, source), this.internalTimeoutMillis, - `Handling request failure of ${request.url} (${request.id}) timed out after ${this.internalTimeoutMillis / 1e3} seconds.`, + `Handling request failure of ${request.url} (${request.id}) timed out after ${ + this.internalTimeoutMillis / 1e3 + } seconds.`, ); request.state = RequestState.DONE; } catch (secondaryError: any) { - if (!secondaryError.triggeredFromUserHandler + if ( + !secondaryError.triggeredFromUserHandler && // avoid reprinting the same critical error multiple times, as it will be printed by Nodejs at the end anyway - && !(secondaryError instanceof CriticalError)) { + !(secondaryError instanceof CriticalError) + ) { const apifySpecific = process.env.APIFY_IS_AT_HOME - ? `This may have happened due to an internal error of Apify's API or due to a misconfigured crawler.` : ''; - this.log.exception(secondaryError as Error, 'An exception occurred during handling of failed request. ' - + `This places the crawler and its underlying storages into an unknown state and crawling will be terminated. ${apifySpecific}`); + ? `This may have happened due to an internal error of Apify's API or due to a misconfigured crawler.` + : ''; + this.log.exception( + secondaryError as Error, + 'An exception occurred during handling of failed request. ' + + `This places the crawler and its underlying storages into an unknown state and crawling will be terminated. ${apifySpecific}`, + ); } request.state = RequestState.ERROR; throw secondaryError; @@ -1297,11 +1352,18 @@ export class BasicCrawler Promise, timeout: number, error: Error | string, maxRetries = 3, retried = 1): Promise { + protected async _timeoutAndRetry( + handler: () => Promise, + timeout: number, + error: Error | string, + maxRetries = 3, + retried = 1, + ): Promise { try { await addTimeoutToPromise(handler, timeout, error); } catch (e) { - if (retried <= maxRetries) { // we retry on any error, not just timeout + if (retried <= maxRetries) { + // we retry on any error, not just timeout this.log.warning(`${(e as Error).message} (retrying ${retried}/${maxRetries})`); return this._timeoutAndRetry(handler, timeout, error, maxRetries, retried + 1); } @@ -1315,7 +1377,7 @@ export class BasicCrawler this.errorHandler?.(this._augmentContextWithDeprecatedError(crawlingContext, error), error)); + await this._tagUserHandlerError(() => + this.errorHandler?.(this._augmentContextWithDeprecatedError(crawlingContext, error), error), + ); } if (!request.noRetry) { @@ -1379,17 +1440,26 @@ export class BasicCrawler(cb: () => unknown): Promise { try { - return await cb() as T; + return (await cb()) as T; } catch (e: any) { Object.defineProperty(e, 'triggeredFromUserHandler', { value: true }); throw e; @@ -1415,13 +1485,12 @@ export class BasicCrawler this.failedRequestHandler?.(this._augmentContextWithDeprecatedError(crawlingContext, error), error)); + await this._tagUserHandlerError(() => + this.failedRequestHandler?.(this._augmentContextWithDeprecatedError(crawlingContext, error), error), + ); } } @@ -1444,16 +1513,17 @@ export class BasicCrawler { - // eslint-disable-next-line max-len - this.log.deprecated("The 'error' property of the crawling context is deprecated, and it is now passed as the second parameter in 'errorHandler' and 'failedRequestHandler'. Please update your code, as this property will be removed in a future version."); + this.log.deprecated( + "The 'error' property of the crawling context is deprecated, and it is now passed as the second parameter in 'errorHandler' and 'failedRequestHandler'. Please update your code, as this property will be removed in a future version.", + ); return error; }, @@ -1498,7 +1569,10 @@ export class BasicCrawler Awaitable>(hooks: HookLike[], ...args: Parameters) { + protected async _executeHooks Awaitable>( + hooks: HookLike[], + ...args: Parameters + ) { if (Array.isArray(hooks) && hooks.length) { for (const hook of hooks) { await hook(...args); @@ -1533,19 +1607,23 @@ export class BasicCrawler) { if (newProperty && oldProperty) { - this.log.warning([ - `Both "${newName}" and "${oldName}" were provided in the crawler options.`, - `"${oldName}" has been renamed to "${newName}", and will be removed in a future version.`, - `As such, "${newName}" will be used instead.`, - ].join('\n')); + this.log.warning( + [ + `Both "${newName}" and "${oldName}" were provided in the crawler options.`, + `"${oldName}" has been renamed to "${newName}", and will be removed in a future version.`, + `As such, "${newName}" will be used instead.`, + ].join('\n'), + ); // @ts-expect-error Assigning to possibly readonly properties this[propertyKey] = newProperty; } else if (oldProperty) { - this.log.warning([ - `"${oldName}" has been renamed to "${newName}", and will be removed in a future version.`, - `The provided value will be used, but you should rename "${oldName}" to "${newName}" in your crawler options.`, - ].join('\n')); + this.log.warning( + [ + `"${oldName}" has been renamed to "${newName}", and will be removed in a future version.`, + `The provided value will be used, but you should rename "${oldName}" to "${newName}" in your crawler options.`, + ].join('\n'), + ); // @ts-expect-error Assigning to possibly readonly properties this[propertyKey] = oldProperty; @@ -1559,7 +1637,9 @@ export class BasicCrawler { handleRequestFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `Both "requestHandler" and "handleRequestFunction" were provided in the crawler options.`, - `"handleRequestFunction" has been renamed to "requestHandler", and will be removed in a future version.`, - `As such, "requestHandler" will be used instead.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `Both "requestHandler" and "handleRequestFunction" were provided in the crawler options.`, + `"handleRequestFunction" has been renamed to "requestHandler", and will be removed in a future version.`, + `As such, "requestHandler" will be used instead.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['requestHandler']).toBe(newHandler); @@ -56,10 +58,12 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleRequestFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `"handleRequestFunction" has been renamed to "requestHandler", and will be removed in a future version.`, - `The provided value will be used, but you should rename "handleRequestFunction" to "requestHandler" in your crawler options.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `"handleRequestFunction" has been renamed to "requestHandler", and will be removed in a future version.`, + `The provided value will be used, but you should rename "handleRequestFunction" to "requestHandler" in your crawler options.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['requestHandler']).toBe(oldHandler); @@ -96,11 +100,13 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleFailedRequestFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `Both "failedRequestHandler" and "handleFailedRequestFunction" were provided in the crawler options.`, - `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, - `As such, "failedRequestHandler" will be used instead.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `Both "failedRequestHandler" and "handleFailedRequestFunction" were provided in the crawler options.`, + `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, + `As such, "failedRequestHandler" will be used instead.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['failedRequestHandler']).toBe(newHandler); @@ -117,10 +123,12 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleFailedRequestFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, - `The provided value will be used, but you should rename "handleFailedRequestFunction" to "failedRequestHandler" in your crawler options.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, + `The provided value will be used, but you should rename "handleFailedRequestFunction" to "failedRequestHandler" in your crawler options.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['failedRequestHandler']).toBe(oldHandler); @@ -156,11 +164,13 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleRequestTimeoutSecs: 69, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `Both "requestHandlerTimeoutSecs" and "handleRequestTimeoutSecs" were provided in the crawler options.`, - `"handleRequestTimeoutSecs" has been renamed to "requestHandlerTimeoutSecs", and will be removed in a future version.`, - `As such, "requestHandlerTimeoutSecs" will be used instead.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `Both "requestHandlerTimeoutSecs" and "handleRequestTimeoutSecs" were provided in the crawler options.`, + `"handleRequestTimeoutSecs" has been renamed to "requestHandlerTimeoutSecs", and will be removed in a future version.`, + `As such, "requestHandlerTimeoutSecs" will be used instead.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['requestHandlerTimeoutMillis']).toEqual(420_000); @@ -176,10 +186,12 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleRequestTimeoutSecs: 69, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `"handleRequestTimeoutSecs" has been renamed to "requestHandlerTimeoutSecs", and will be removed in a future version.`, - `The provided value will be used, but you should rename "handleRequestTimeoutSecs" to "requestHandlerTimeoutSecs" in your crawler options.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `"handleRequestTimeoutSecs" has been renamed to "requestHandlerTimeoutSecs", and will be removed in a future version.`, + `The provided value will be used, but you should rename "handleRequestTimeoutSecs" to "requestHandlerTimeoutSecs" in your crawler options.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['requestHandlerTimeoutMillis']).toEqual(69_000); diff --git a/packages/basic-crawler/test/tsconfig.json b/packages/basic-crawler/test/tsconfig.json index b603acdc1e68..bf55f9516b7d 100644 --- a/packages/basic-crawler/test/tsconfig.json +++ b/packages/basic-crawler/test/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "../../../tsconfig.json", - "include": [ - "**/*", - "../../**/*" - ], + "include": ["**/*", "../../**/*"], "compilerOptions": { "types": ["vitest/globals"] } diff --git a/packages/basic-crawler/tsconfig.build.json b/packages/basic-crawler/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/basic-crawler/tsconfig.build.json +++ b/packages/basic-crawler/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/basic-crawler/tsconfig.json b/packages/basic-crawler/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/basic-crawler/tsconfig.json +++ b/packages/basic-crawler/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/browser-crawler/CHANGELOG.md b/packages/browser-crawler/CHANGELOG.md index 3d688cb0bd40..167b767c75c9 100644 --- a/packages/browser-crawler/CHANGELOG.md +++ b/packages/browser-crawler/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/browser + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package @crawlee/browser + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/browser diff --git a/packages/browser-crawler/package.json b/packages/browser-crawler/package.json index dcd20e24b7dc..23194deb4bee 100644 --- a/packages/browser-crawler/package.json +++ b/packages/browser-crawler/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/browser", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -54,10 +54,10 @@ }, "dependencies": { "@apify/timeout": "^0.3.0", - "@crawlee/basic": "3.9.2", - "@crawlee/browser-pool": "3.9.2", - "@crawlee/types": "3.9.2", - "@crawlee/utils": "3.9.2", + "@crawlee/basic": "3.10.1", + "@crawlee/browser-pool": "3.10.1", + "@crawlee/types": "3.10.1", + "@crawlee/utils": "3.10.1", "ow": "^0.28.1", "tslib": "^2.4.0", "type-fest": "^4.0.0" diff --git a/packages/browser-crawler/src/internals/browser-crawler.ts b/packages/browser-crawler/src/internals/browser-crawler.ts index c8eb412c65b0..5e1a3e5b3f55 100644 --- a/packages/browser-crawler/src/internals/browser-crawler.ts +++ b/packages/browser-crawler/src/internals/browser-crawler.ts @@ -56,14 +56,16 @@ export interface BrowserCrawlingContext< response?: Response; } -export type BrowserRequestHandler = RequestHandler; +export type BrowserRequestHandler = + RequestHandler; -export type BrowserErrorHandler = ErrorHandler; +export type BrowserErrorHandler = + ErrorHandler; -export type BrowserHook< - Context = BrowserCrawlingContext, - GoToOptions extends Dictionary | undefined = Dictionary, -> = (crawlingContext: Context, gotoOptions: GoToOptions) => Awaitable; +export type BrowserHook = ( + crawlingContext: Context, + gotoOptions: GoToOptions, +) => Awaitable; export interface BrowserCrawlerOptions< Context extends BrowserCrawlingContext = BrowserCrawlingContext, @@ -72,16 +74,14 @@ export interface BrowserCrawlerOptions< __BrowserControllerReturn extends BrowserController = ReturnType<__BrowserPlugins[number]['createController']>, __LaunchContextReturn extends LaunchContext = ReturnType<__BrowserPlugins[number]['createLaunchContext']>, > extends Omit< - BasicCrawlerOptions, - // Overridden with browser context - | 'requestHandler' - | 'handleRequestFunction' - - | 'failedRequestHandler' - | 'handleFailedRequestFunction' - - | 'errorHandler' -> { + BasicCrawlerOptions, + // Overridden with browser context + | 'requestHandler' + | 'handleRequestFunction' + | 'failedRequestHandler' + | 'handleFailedRequestFunction' + | 'errorHandler' + > { launchContext?: BrowserLaunchContext; /** @@ -186,7 +186,8 @@ export interface BrowserCrawlerOptions< * Custom options passed to the underlying {@apilink BrowserPool} constructor. * We can tweak those to fine-tune browser management. */ - browserPoolOptions?: Partial & Partial>; + browserPoolOptions?: Partial & + Partial>; /** * If set, the crawler will be configured for all connections to use @@ -345,7 +346,10 @@ export abstract class BrowserCrawler< /** * All `BrowserCrawler` parameters are passed via an options object. */ - protected constructor(options: BrowserCrawlerOptions = {}, override readonly config = Configuration.getGlobalConfig()) { + protected constructor( + options: BrowserCrawlerOptions = {}, + override readonly config = Configuration.getGlobalConfig(), + ) { ow(options, 'BrowserCrawlerOptions', ow.object.exactShape(BrowserCrawler.optionsShape)); const { navigationTimeoutSecs = 60, @@ -368,11 +372,15 @@ export abstract class BrowserCrawler< ...basicCrawlerOptions } = options; - super({ - ...basicCrawlerOptions, - requestHandler: async (...args) => this._runRequestHandler(...args), - requestHandlerTimeoutSecs: navigationTimeoutSecs + requestHandlerTimeoutSecs + BASIC_CRAWLER_TIMEOUT_BUFFER_SECS, - }, config); + super( + { + ...basicCrawlerOptions, + requestHandler: async (...args) => this._runRequestHandler(...args), + requestHandlerTimeoutSecs: + navigationTimeoutSecs + requestHandlerTimeoutSecs + BASIC_CRAWLER_TIMEOUT_BUFFER_SECS, + }, + config, + ); this._handlePropertyNameChange({ newName: 'requestHandler', @@ -420,22 +428,17 @@ export abstract class BrowserCrawler< } if (launchContext?.userAgent) { - if (browserPoolOptions.useFingerprints) this.log.info('Custom user agent provided, disabling automatic browser fingerprint injection!'); + if (browserPoolOptions.useFingerprints) + this.log.info('Custom user agent provided, disabling automatic browser fingerprint injection!'); browserPoolOptions.useFingerprints = false; } const { preLaunchHooks = [], postLaunchHooks = [], ...rest } = browserPoolOptions; this.browserPool = new BrowserPool({ - ...rest as any, - preLaunchHooks: [ - this._extendLaunchContext.bind(this), - ...preLaunchHooks, - ], - postLaunchHooks: [ - this._maybeAddSessionRetiredListener.bind(this), - ...postLaunchHooks, - ], + ...(rest as any), + preLaunchHooks: [this._extendLaunchContext.bind(this), ...preLaunchHooks], + postLaunchHooks: [this._maybeAddSessionRetiredListener.bind(this), ...postLaunchHooks], }); } @@ -449,9 +452,7 @@ export abstract class BrowserCrawler< } private async containsSelectors(page: CommonPage, selectors: string[]): Promise { - const foundSelectors = (await Promise.all( - selectors.map((selector) => (page as any).$(selector))) - ) + const foundSelectors = (await Promise.all(selectors.map((selector) => (page as any).$(selector)))) .map((x, i) => [x, selectors[i]] as [any, string]) .filter(([x]) => x !== null) .map(([, selector]) => selector); @@ -462,14 +463,15 @@ export abstract class BrowserCrawler< protected override async isRequestBlocked(crawlingContext: Context): Promise { const { page, response } = crawlingContext; - // eslint-disable-next-line dot-notation - const blockedStatusCodes = ((this.sessionPool?.['blockedStatusCodes'].length ?? 0) > 0) + const blockedStatusCodes = // eslint-disable-next-line dot-notation - ? this.sessionPool!['blockedStatusCodes'] - : DEFAULT_BLOCKED_STATUS_CODES; + (this.sessionPool?.['blockedStatusCodes'].length ?? 0) > 0 + ? // eslint-disable-next-line dot-notation + this.sessionPool!['blockedStatusCodes'] + : DEFAULT_BLOCKED_STATUS_CODES; // Cloudflare specific heuristic - wait 5 seconds if we get a 403 for the JS challenge to load / resolve. - if (await this.containsSelectors(page, CLOUDFLARE_RETRY_CSS_SELECTORS) && response?.status() === 403) { + if ((await this.containsSelectors(page, CLOUDFLARE_RETRY_CSS_SELECTORS)) && response?.status() === 403) { await sleep(5000); // here we cannot test for response code, because we only have the original response, not the possible Cloudflare redirect on passed challenge. @@ -502,7 +504,9 @@ export abstract class BrowserCrawler< if (this.proxyConfiguration) { const { session } = crawlingContext; - const proxyInfo = await this.proxyConfiguration.newProxyInfo(session?.id, { request: crawlingContext.request }); + const proxyInfo = await this.proxyConfiguration.newProxyInfo(session?.id, { + request: crawlingContext.request, + }); crawlingContext.proxyInfo = proxyInfo; newPageOptions.proxyUrl = proxyInfo?.url; @@ -510,16 +514,16 @@ export abstract class BrowserCrawler< if (this.proxyConfiguration.isManInTheMiddle) { /** - * @see https://playwright.dev/docs/api/class-browser/#browser-new-context - * @see https://github.com/puppeteer/puppeteer/blob/main/docs/api.md - */ + * @see https://playwright.dev/docs/api/class-browser/#browser-new-context + * @see https://github.com/puppeteer/puppeteer/blob/main/docs/api.md + */ newPageOptions.pageOptions = { ignoreHTTPSErrors: true, }; } } - const page = await this.browserPool.newPage(newPageOptions) as CommonPage; + const page = (await this.browserPool.newPage(newPageOptions)) as CommonPage; tryCancel(); this._enhanceCrawlingContextWithPageInfo(crawlingContext, page, useIncognitoPages || experimentalContainers); @@ -547,7 +551,7 @@ export abstract class BrowserCrawler< if (!this.requestMatchesEnqueueStrategy(request)) { this.log.debug( - // eslint-disable-next-line max-len, dot-notation + // eslint-disable-next-line dot-notation `Skipping request ${request.id} (starting url: ${request.url} -> loaded url: ${request.loadedUrl}) because it does not match the enqueue strategy (${request['enqueueStrategy']}).`, ); @@ -580,14 +584,20 @@ export abstract class BrowserCrawler< if (session) session.markGood(); } - protected _enhanceCrawlingContextWithPageInfo(crawlingContext: Context, page: CommonPage, createNewSession?: boolean): void { + protected _enhanceCrawlingContextWithPageInfo( + crawlingContext: Context, + page: CommonPage, + createNewSession?: boolean, + ): void { crawlingContext.page = page; // This switch is because the crawlingContexts are created on per request basis. // However, we need to add the proxy info and session from browser, which is created based on the browser-pool configuration. // We would not have to do this switch if the proxy and configuration worked as in CheerioCrawler, // which configures proxy and session for every new request - const browserControllerInstance = this.browserPool.getBrowserControllerByPage(page as any) as Context['browserController']; + const browserControllerInstance = this.browserPool.getBrowserControllerByPage( + page as any, + ) as Context['browserController']; crawlingContext.browserController = browserControllerInstance; if (!createNewSession) { @@ -623,7 +633,7 @@ export abstract class BrowserCrawler< await this._applyCookies(crawlingContext, preNavigationHooksCookies, postNavigationHooksCookies); try { - crawlingContext.response = await this._navigationHandler(crawlingContext, gotoOptions) ?? undefined; + crawlingContext.response = (await this._navigationHandler(crawlingContext, gotoOptions)) ?? undefined; } catch (error) { await this._handleNavigationTimeout(crawlingContext, error as Error); @@ -638,18 +648,18 @@ export abstract class BrowserCrawler< await this._executeHooks(this.postNavigationHooks, crawlingContext, gotoOptions); } - protected async _applyCookies({ session, request, page, browserController }: Context, preHooksCookies: string, postHooksCookies: string) { + protected async _applyCookies( + { session, request, page, browserController }: Context, + preHooksCookies: string, + postHooksCookies: string, + ) { const sessionCookie = session?.getCookies(request.url) ?? []; const parsedPreHooksCookies = preHooksCookies.split(/ *; */).map((c) => cookieStringToToughCookie(c)); const parsedPostHooksCookies = postHooksCookies.split(/ *; */).map((c) => cookieStringToToughCookie(c)); await browserController.setCookies( page, - [ - ...sessionCookie, - ...parsedPreHooksCookies, - ...parsedPostHooksCookies, - ] + [...sessionCookie, ...parsedPreHooksCookies, ...parsedPostHooksCookies] .filter((c): c is CookieObject => typeof c !== 'undefined' && c !== null) .map((c) => ({ ...c, url: c.domain ? undefined : request.url })), ); @@ -677,7 +687,10 @@ export abstract class BrowserCrawler< } } - protected abstract _navigationHandler(crawlingContext: Context, gotoOptions: GoToOptions): Promise; + protected abstract _navigationHandler( + crawlingContext: Context, + gotoOptions: GoToOptions, + ): Promise; /** * Should be overridden in case of different automation library that does not support this response API. @@ -710,10 +723,9 @@ export abstract class BrowserCrawler< } if (this.proxyConfiguration && !launchContext.proxyUrl) { - const proxyInfo = await this.proxyConfiguration.newProxyInfo( - launchContextExtends.session?.id, - { proxyTier: (launchContext.proxyTier as number) ?? undefined }, - ); + const proxyInfo = await this.proxyConfiguration.newProxyInfo(launchContextExtends.session?.id, { + proxyTier: (launchContext.proxyTier as number) ?? undefined, + }); launchContext.proxyUrl = proxyInfo?.url; launchContextExtends.proxyInfo = proxyInfo; @@ -736,7 +748,9 @@ export abstract class BrowserCrawler< const { launchContext } = browserController; if (session.id === (launchContext.session as Session).id) { this.browserPool.retireBrowserController( - browserController as Parameters['retireBrowserController']>[0], + browserController as Parameters< + BrowserPool['retireBrowserController'] + >[0], ); } }; @@ -782,7 +796,11 @@ export async function browserCrawlerEnqueueLinks({ userProvidedBaseUrl: options?.baseUrl, }); - const urls = await extractUrlsFromPage(page as any, options?.selector ?? 'a', options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl); + const urls = await extractUrlsFromPage( + page as any, + options?.selector ?? 'a', + options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl, + ); return enqueueLinks({ requestQueue, @@ -796,9 +814,16 @@ export async function browserCrawlerEnqueueLinks({ * Extracts URLs from a given page. * @ignore */ -// eslint-disable-next-line @typescript-eslint/ban-types -export async function extractUrlsFromPage(page: { $$eval: Function }, selector: string, baseUrl: string): Promise { - const urls = await page.$$eval(selector, (linkEls: HTMLLinkElement[]) => linkEls.map((link) => link.getAttribute('href')).filter((href) => !!href)) ?? []; +export async function extractUrlsFromPage( + // eslint-disable-next-line @typescript-eslint/ban-types + page: { $$eval: Function }, + selector: string, + baseUrl: string, +): Promise { + const urls = + (await page.$$eval(selector, (linkEls: HTMLLinkElement[]) => + linkEls.map((link) => link.getAttribute('href')).filter((href) => !!href), + )) ?? []; const [base] = await page.$$eval('base', (els: HTMLLinkElement[]) => els.map((el) => el.getAttribute('href'))); const absoluteBaseUrl = base && tryAbsoluteURL(base, baseUrl); @@ -806,17 +831,18 @@ export async function extractUrlsFromPage(page: { $$eval: Function }, selector: baseUrl = absoluteBaseUrl; } - return urls.map((href: string) => { - // Throw a meaningful error when only a relative URL would be extracted instead of waiting for the Request to fail later. - const isHrefAbsolute = /^[a-z][a-z0-9+.-]*:/.test(href); // Grabbed this in 'is-absolute-url' package. - if (!isHrefAbsolute && !baseUrl) { - throw new Error(`An extracted URL: ${href} is relative and options.baseUrl is not set. ` - + 'Use options.baseUrl in enqueueLinks() to automatically resolve relative URLs.'); - } + return urls + .map((href: string) => { + // Throw a meaningful error when only a relative URL would be extracted instead of waiting for the Request to fail later. + const isHrefAbsolute = /^[a-z][a-z0-9+.-]*:/.test(href); // Grabbed this in 'is-absolute-url' package. + if (!isHrefAbsolute && !baseUrl) { + throw new Error( + `An extracted URL: ${href} is relative and options.baseUrl is not set. ` + + 'Use options.baseUrl in enqueueLinks() to automatically resolve relative URLs.', + ); + } - return baseUrl - ? tryAbsoluteURL(href, baseUrl) - : href; - }) + return baseUrl ? tryAbsoluteURL(href, baseUrl) : href; + }) .filter((href: string | undefined) => !!href); } diff --git a/packages/browser-crawler/src/internals/browser-launcher.ts b/packages/browser-crawler/src/internals/browser-launcher.ts index 22bb37b4df0f..87e6366e9e77 100644 --- a/packages/browser-crawler/src/internals/browser-launcher.ts +++ b/packages/browser-crawler/src/internals/browser-launcher.ts @@ -40,10 +40,10 @@ export interface BrowserLaunchContext extends BrowserPluginO browserPerProxy?: boolean; /** - * With this option selected, all pages will be opened in a new incognito browser context. - * This means they will not share cookies nor cache and their resources will not be throttled by one another. - * @default false - */ + * With this option selected, all pages will be opened in a new incognito browser context. + * This means they will not share cookies nor cache and their resources will not be throttled by one another. + * @default false + */ useIncognitoPages?: boolean; /** @@ -54,10 +54,10 @@ export interface BrowserLaunchContext extends BrowserPluginO experimentalContainers?: boolean; /** - * Sets the [User Data Directory](https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md) path. - * The user data directory contains profile data such as history, bookmarks, and cookies, as well as other per-installation local state. - * If not specified, a temporary directory is used instead. - */ + * Sets the [User Data Directory](https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md) path. + * The user data directory contains profile data such as history, bookmarks, and cookies, as well as other per-installation local state. + * If not specified, a temporary directory is used instead. + */ userDataDir?: string; /** @@ -119,8 +119,9 @@ export abstract class BrowserLauncher< } catch (err) { const e = err as Error & { code: string }; if (e.code === 'MODULE_NOT_FOUND') { - const msg = `Cannot find module '${launcher}'. Did you you install the '${launcher}' package?\n` - + `Make sure you have '${launcher}' in your package.json dependencies and in your package-lock.json, if you use it.`; + const msg = + `Cannot find module '${launcher}'. Did you you install the '${launcher}' package?\n` + + `Make sure you have '${launcher}' in your package.json dependencies and in your package-lock.json, if you use it.`; if (process.env.APIFY_IS_AT_HOME) { e.message = `${msg}\nOn the Apify platform, '${launcher}' can only be used with the ${apifyImageName} Docker image.`; } @@ -133,7 +134,10 @@ export abstract class BrowserLauncher< /** * All `BrowserLauncher` parameters are passed via an launchContext object. */ - constructor(launchContext: BrowserLaunchContext, readonly config = Configuration.getGlobalConfig()) { + constructor( + launchContext: BrowserLaunchContext, + readonly config = Configuration.getGlobalConfig(), + ) { const { launcher, proxyUrl, diff --git a/packages/browser-crawler/test/migration.test.ts b/packages/browser-crawler/test/migration.test.ts index f8810d231af8..17ca066cd3a1 100644 --- a/packages/browser-crawler/test/migration.test.ts +++ b/packages/browser-crawler/test/migration.test.ts @@ -44,11 +44,13 @@ describe('Moving from handleRequest* to requestHandler*', () => { handlePageFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `Both "requestHandler" and "handlePageFunction" were provided in the crawler options.`, - `"handlePageFunction" has been renamed to "requestHandler", and will be removed in a future version.`, - `As such, "requestHandler" will be used instead.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `Both "requestHandler" and "handlePageFunction" were provided in the crawler options.`, + `"handlePageFunction" has been renamed to "requestHandler", and will be removed in a future version.`, + `As such, "requestHandler" will be used instead.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['userProvidedRequestHandler']).toBe(newHandler); @@ -70,10 +72,12 @@ describe('Moving from handleRequest* to requestHandler*', () => { handlePageFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `"handlePageFunction" has been renamed to "requestHandler", and will be removed in a future version.`, - `The provided value will be used, but you should rename "handlePageFunction" to "requestHandler" in your crawler options.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `"handlePageFunction" has been renamed to "requestHandler", and will be removed in a future version.`, + `The provided value will be used, but you should rename "handlePageFunction" to "requestHandler" in your crawler options.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['userProvidedRequestHandler']).toBe(oldHandler); @@ -122,11 +126,13 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleFailedRequestFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `Both "failedRequestHandler" and "handleFailedRequestFunction" were provided in the crawler options.`, - `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, - `As such, "failedRequestHandler" will be used instead.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `Both "failedRequestHandler" and "handleFailedRequestFunction" were provided in the crawler options.`, + `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, + `As such, "failedRequestHandler" will be used instead.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['failedRequestHandler']).toBe(newHandler); @@ -149,10 +155,12 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleFailedRequestFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, - `The provided value will be used, but you should rename "handleFailedRequestFunction" to "failedRequestHandler" in your crawler options.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, + `The provided value will be used, but you should rename "handleFailedRequestFunction" to "failedRequestHandler" in your crawler options.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['failedRequestHandler']).toBe(oldHandler); diff --git a/packages/browser-crawler/test/tsconfig.json b/packages/browser-crawler/test/tsconfig.json index b603acdc1e68..bf55f9516b7d 100644 --- a/packages/browser-crawler/test/tsconfig.json +++ b/packages/browser-crawler/test/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "../../../tsconfig.json", - "include": [ - "**/*", - "../../**/*" - ], + "include": ["**/*", "../../**/*"], "compilerOptions": { "types": ["vitest/globals"] } diff --git a/packages/browser-crawler/tsconfig.build.json b/packages/browser-crawler/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/browser-crawler/tsconfig.build.json +++ b/packages/browser-crawler/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/browser-crawler/tsconfig.json b/packages/browser-crawler/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/browser-crawler/tsconfig.json +++ b/packages/browser-crawler/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/browser-pool/CHANGELOG.md b/packages/browser-pool/CHANGELOG.md index ea65aff37947..a99c58cda769 100644 --- a/packages/browser-pool/CHANGELOG.md +++ b/packages/browser-pool/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/browser-pool + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package @crawlee/browser-pool + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/browser-pool diff --git a/packages/browser-pool/package.json b/packages/browser-pool/package.json index e9c18a26da28..06bc0e884e89 100644 --- a/packages/browser-pool/package.json +++ b/packages/browser-pool/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/browser-pool", - "version": "3.9.2", + "version": "3.10.1", "description": "Rotate multiple browsers using popular automation libraries such as Playwright or Puppeteer.", "engines": { "node": ">=16.0.0" @@ -38,8 +38,8 @@ "dependencies": { "@apify/log": "^2.4.0", "@apify/timeout": "^0.3.0", - "@crawlee/core": "3.9.2", - "@crawlee/types": "3.9.2", + "@crawlee/core": "3.10.1", + "@crawlee/types": "3.10.1", "fingerprint-generator": "^2.0.6", "fingerprint-injector": "^2.0.5", "lodash.merge": "^4.6.2", diff --git a/packages/browser-pool/src/abstract-classes/browser-controller.ts b/packages/browser-pool/src/abstract-classes/browser-controller.ts index 7cc86f390d85..b3f136c01b88 100644 --- a/packages/browser-pool/src/abstract-classes/browser-controller.ts +++ b/packages/browser-pool/src/abstract-classes/browser-controller.ts @@ -4,7 +4,6 @@ import { nanoid } from 'nanoid'; import { TypedEmitter } from 'tiny-typed-emitter'; import type { BrowserPlugin, CommonBrowser, CommonLibrary } from './browser-plugin'; -import { throwImplementationNeeded } from './utils'; import { BROWSER_CONTROLLER_EVENTS } from '../events'; import type { LaunchContext } from '../launch-context'; import { log } from '../logger'; @@ -19,8 +18,9 @@ export interface BrowserControllerEvents< NewPageOptions = Parameters[0], NewPageResult = UnwrapPromise>, > { - [BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED]: - (controller: BrowserController) => void; + [BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED]: ( + controller: BrowserController, + ) => void; } /** @@ -109,7 +109,10 @@ export abstract class BrowserController< /** * @ignore */ - assignBrowser(browser: LaunchResult, launchContext: LaunchContext): void { + assignBrowser( + browser: LaunchResult, + launchContext: LaunchContext, + ): void { if (this.browser) { throw new Error('BrowserController already has a browser instance assigned.'); } @@ -181,48 +184,28 @@ export abstract class BrowserController< /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - protected abstract async _close(): Promise { - throwImplementationNeeded('_close'); - } - + protected abstract _close(): Promise; /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - protected abstract async _kill(): Promise { - throwImplementationNeeded('_kill'); - } - + protected abstract _kill(): Promise; /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - protected abstract async _newPage(pageOptions?: NewPageOptions): Promise { - throwImplementationNeeded('_newPage'); - } + protected abstract _newPage(pageOptions?: NewPageOptions): Promise; /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - protected abstract async _setCookies(page: NewPageResult, cookies: Cookie[]): Promise { - throwImplementationNeeded('_setCookies'); - } + protected abstract _setCookies(page: NewPageResult, cookies: Cookie[]): Promise; /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - protected abstract async _getCookies(page: NewPageResult): Promise { - throwImplementationNeeded('_getCookies'); - } + protected abstract _getCookies(page: NewPageResult): Promise; /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - abstract normalizeProxyOptions(proxyUrl: string | undefined, pageOptions: any): Record { - throwImplementationNeeded('_normalizeProxyOptions'); - } + abstract normalizeProxyOptions(proxyUrl: string | undefined, pageOptions: any): Record; } diff --git a/packages/browser-pool/src/abstract-classes/browser-plugin.ts b/packages/browser-pool/src/abstract-classes/browser-plugin.ts index 901a5ad232bb..567db324554e 100644 --- a/packages/browser-pool/src/abstract-classes/browser-plugin.ts +++ b/packages/browser-pool/src/abstract-classes/browser-plugin.ts @@ -3,7 +3,6 @@ import type { Dictionary } from '@crawlee/types'; import merge from 'lodash.merge'; import type { BrowserController } from './browser-controller'; -import { throwImplementationNeeded } from './utils'; import type { LaunchContextOptions } from '../launch-context'; import { LaunchContext } from '../launch-context'; import type { UnwrapPromise } from '../utils'; @@ -18,7 +17,8 @@ import type { UnwrapPromise } from '../utils'; * * After you update it here, please update it also in jsdom-crawler.ts */ -export const DEFAULT_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'; +export const DEFAULT_USER_AGENT = + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'; /** * Each plugin expects an instance of the object with the `.launch()` property. @@ -90,7 +90,12 @@ export interface CreateLaunchContextOptions< LaunchResult extends CommonBrowser = UnwrapPromise>, NewPageOptions = Parameters[0], NewPageResult = UnwrapPromise>, -> extends Partial, 'browserPlugin'>> {} +> extends Partial< + Omit< + LaunchContextOptions, + 'browserPlugin' + > + > {} /** * The `BrowserPlugin` serves two purposes. First, it is the base class that @@ -181,7 +186,13 @@ export abstract class BrowserPlugin< * Launches the browser using provided launch context. */ async launch( - launchContext: LaunchContext = this.createLaunchContext(), + launchContext: LaunchContext< + Library, + LibraryOptions, + LaunchResult, + NewPageOptions, + NewPageResult + > = this.createLaunchContext(), ): Promise { launchContext.launchOptions ??= {} as LibraryOptions; @@ -240,7 +251,11 @@ export abstract class BrowserPlugin< errorMessage.push(`- ${moduleInstallCommand}`); - errorMessage.push('', 'The original error is available in the `cause` property. Below is the error received when trying to launch a browser:', ''); + errorMessage.push( + '', + 'The original error is available in the `cause` property. Below is the error received when trying to launch a browser:', + '', + ); // Add in a zero-width space so we can remove it later when printing the error stack throw new BrowserLaunchError(`${errorMessage.join('\n')}\u200b`, { cause }); @@ -249,32 +264,31 @@ export abstract class BrowserPlugin< /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - // eslint-disable-next-line max-len - protected abstract _addProxyToLaunchOptions(launchContext: LaunchContext): Promise { - throwImplementationNeeded('_addProxyToLaunchOptions'); - } + protected abstract _addProxyToLaunchOptions( + launchContext: LaunchContext, + ): Promise; - // @ts-expect-error Give runtime error as well as compile time - protected abstract _isChromiumBasedBrowser(launchContext: LaunchContext): boolean { - throwImplementationNeeded('_isChromiumBasedBrowser'); - } + protected abstract _isChromiumBasedBrowser( + launchContext: LaunchContext, + ): boolean; /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - protected abstract _launch(launchContext: LaunchContext): Promise { - throwImplementationNeeded('_launch'); - } + protected abstract _launch( + launchContext: LaunchContext, + ): Promise; /** * @private */ - // @ts-expect-error Give runtime error as well as compile time - protected abstract _createController(): BrowserController { - throwImplementationNeeded('_createController'); - } + protected abstract _createController(): BrowserController< + Library, + LibraryOptions, + LaunchResult, + NewPageOptions, + NewPageResult + >; } export class BrowserLaunchError extends CriticalError { diff --git a/packages/browser-pool/src/abstract-classes/utils.ts b/packages/browser-pool/src/abstract-classes/utils.ts deleted file mode 100644 index d0e996d0123d..000000000000 --- a/packages/browser-pool/src/abstract-classes/utils.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function throwImplementationNeeded(methodName: string): never { - throw new Error(`You need to implement method ${methodName}.`); -} diff --git a/packages/browser-pool/src/anonymize-proxy.ts b/packages/browser-pool/src/anonymize-proxy.ts index 1fc53728dc32..8c98d3a01a78 100644 --- a/packages/browser-pool/src/anonymize-proxy.ts +++ b/packages/browser-pool/src/anonymize-proxy.ts @@ -26,14 +26,8 @@ export const anonymizeProxySugar = async ( ]; } - return [ - undefined, - async () => {}, - ]; + return [undefined, async () => {}]; } - return [ - undefined, - async () => {}, - ]; + return [undefined, async () => {}]; }; diff --git a/packages/browser-pool/src/browser-pool.ts b/packages/browser-pool/src/browser-pool.ts index d2908c282d7a..7b4253cdfd26 100644 --- a/packages/browser-pool/src/browser-pool.ts +++ b/packages/browser-pool/src/browser-pool.ts @@ -12,7 +12,11 @@ import { TypedEmitter } from 'tiny-typed-emitter'; import type { BrowserController } from './abstract-classes/browser-controller'; import type { BrowserPlugin } from './abstract-classes/browser-plugin'; import { BROWSER_POOL_EVENTS } from './events'; -import { createFingerprintPreLaunchHook, createPrePageCreateHook, createPostPageCreateHook } from './fingerprinting/hooks'; +import { + createFingerprintPreLaunchHook, + createPrePageCreateHook, + createPostPageCreateHook, +} from './fingerprinting/hooks'; import type { FingerprintGeneratorOptions } from './fingerprinting/types'; import type { LaunchContext } from './launch-context'; import { log } from './logger'; @@ -45,11 +49,11 @@ export interface FingerprintOptions { */ useFingerprintCache?: boolean; /** - * The maximum number of fingerprints that can be stored in the cache. - * - * Only relevant if `useFingerprintCache` is set to `true`. - * @default 10000 - */ + * The maximum number of fingerprints that can be stored in the cache. + * + * Only relevant if `useFingerprintCache` is set to `true`. + * @default 10000 + */ fingerprintCacheSize?: number; } @@ -128,7 +132,10 @@ export type PreLaunchHook = (pageId: string, launchCon * hooks complete. If you attempt to call `await browserController.close()` from * a post-launch hook, it will deadlock the process. This API is subject to change. */ -export type PostLaunchHook = (pageId: string, browserController: BC) => void | Promise; +export type PostLaunchHook = ( + pageId: string, + browserController: BC, +) => void | Promise; /** * Pre-page-create hooks are executed just before a new page is created. They @@ -139,10 +146,11 @@ export type PostLaunchHook = (pageId: string, brow * So far, new page options are only supported by `PlaywrightController` in incognito contexts. * If the page options are not supported by `BrowserController` the `pageOptions` argument is `undefined`. */ -export type PrePageCreateHook< - BC extends BrowserController, - PO = Parameters[0], -> = (pageId: string, browserController: BC, pageOptions?: PO) => void | Promise; +export type PrePageCreateHook[0]> = ( + pageId: string, + browserController: BC, + pageOptions?: PO, +) => void | Promise; /** * Post-page-create hooks are called right after a new page is created @@ -152,10 +160,10 @@ export type PrePageCreateHook< * The hooks are called with two arguments: * `page`: `Page` and `browserController`: {@apilink BrowserController} */ -export type PostPageCreateHook< - BC extends BrowserController, - Page = UnwrapPromise>, -> = (page: Page, browserController: BC) => void | Promise; +export type PostPageCreateHook>> = ( + page: Page, + browserController: BC, +) => void | Promise; /** * Pre-page-close hooks give you the opportunity to make last second changes @@ -164,17 +172,20 @@ export type PostPageCreateHook< * The hooks are called with two arguments: * `page`: `Page` and `browserController`: {@apilink BrowserController} */ -export type PrePageCloseHook< - BC extends BrowserController, - Page = UnwrapPromise>, -> = (page: Page, browserController: BC) => void | Promise; +export type PrePageCloseHook>> = ( + page: Page, + browserController: BC, +) => void | Promise; /** * Post-page-close hooks allow you to do page related clean up. * The hooks are called with two arguments: * `pageId`: `string` and `browserController`: {@apilink BrowserController} */ -export type PostPageCloseHook = (pageId: string, browserController: BC) => void | Promise; +export type PostPageCloseHook = ( + pageId: string, + browserController: BC, +) => void | Promise; export interface BrowserPoolHooks< BC extends BrowserController, @@ -286,7 +297,9 @@ export class BrowserPool< BrowserControllerReturn extends BrowserController = ReturnType, LaunchContextReturn extends LaunchContext = ReturnType, PageOptions = Parameters[0], - PageReturn extends UnwrapPromise> = UnwrapPromise>, + PageReturn extends UnwrapPromise> = UnwrapPromise< + ReturnType + >, > extends TypedEmitter> { browserPlugins: BrowserPlugins; maxOpenPagesPerBrowser: number; @@ -325,22 +338,25 @@ export class BrowserPool< this.browserKillerInterval!.unref(); - ow(options, ow.object.exactShape({ - browserPlugins: ow.array.minLength(1), - maxOpenPagesPerBrowser: ow.optional.number, - retireBrowserAfterPageCount: ow.optional.number, - operationTimeoutSecs: ow.optional.number, - closeInactiveBrowserAfterSecs: ow.optional.number, - retireInactiveBrowserAfterSecs: ow.optional.number, - preLaunchHooks: ow.optional.array, - postLaunchHooks: ow.optional.array, - prePageCreateHooks: ow.optional.array, - postPageCreateHooks: ow.optional.array, - prePageCloseHooks: ow.optional.array, - postPageCloseHooks: ow.optional.array, - useFingerprints: ow.optional.boolean, - fingerprintOptions: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + browserPlugins: ow.array.minLength(1), + maxOpenPagesPerBrowser: ow.optional.number, + retireBrowserAfterPageCount: ow.optional.number, + operationTimeoutSecs: ow.optional.number, + closeInactiveBrowserAfterSecs: ow.optional.number, + retireInactiveBrowserAfterSecs: ow.optional.number, + preLaunchHooks: ow.optional.array, + postLaunchHooks: ow.optional.array, + prePageCreateHooks: ow.optional.array, + postPageCreateHooks: ow.optional.array, + prePageCloseHooks: ow.optional.array, + postPageCloseHooks: ow.optional.array, + useFingerprints: ow.optional.boolean, + fingerprintOptions: ow.optional.object, + }), + ); const { browserPlugins, @@ -368,8 +384,9 @@ export class BrowserPool< const firstPluginName = firstPluginConstructor.name; const providedPluginName = (providedPlugin as BrowserPlugin).constructor.name; - // eslint-disable-next-line max-len - throw new Error(`Browser plugin at index ${i} (${providedPluginName}) is not an instance of the same plugin as the first plugin provided (${firstPluginName}).`); + throw new Error( + `Browser plugin at index ${i} (${providedPluginName}) is not an instance of the same plugin as the first plugin provided (${firstPluginName}).`, + ); } } @@ -382,14 +399,17 @@ export class BrowserPool< this.fingerprintOptions = fingerprintOptions; this.browserRetireInterval = setInterval( - async () => this.activeBrowserControllers.forEach((controller) => { - if ( - controller.activePages === 0 - && controller.lastPageOpenedAt < (Date.now() - retireInactiveBrowserAfterSecs * 1000) - ) { - this.retireBrowserController(controller); - } - }), retireInactiveBrowserAfterSecs * 1000); + async () => + this.activeBrowserControllers.forEach((controller) => { + if ( + controller.activePages === 0 && + controller.lastPageOpenedAt < Date.now() - retireInactiveBrowserAfterSecs * 1000 + ) { + this.retireBrowserController(controller); + } + }), + retireInactiveBrowserAfterSecs * 1000, + ); this.browserRetireInterval!.unref(); @@ -413,13 +433,7 @@ export class BrowserPool< * or their page limits have been exceeded. */ async newPage(options: BrowserPoolNewPageOptions = {}): Promise { - const { - id = nanoid(), - pageOptions, - browserPlugin = this._pickBrowserPlugin(), - proxyUrl, - proxyTier, - } = options; + const { id = nanoid(), pageOptions, browserPlugin = this._pickBrowserPlugin(), proxyUrl, proxyTier } = options; if (this.pages.has(id)) { throw new Error(`Page with ID: ${id} already exists.`); @@ -433,7 +447,8 @@ export class BrowserPool< return this.limiter(async () => { let browserController = this._pickBrowserWithFreeCapacity(browserPlugin, { proxyTier, proxyUrl }); - if (!browserController) browserController = await this._launchBrowser(id, { browserPlugin, proxyTier, proxyUrl }); + if (!browserController) + browserController = await this._launchBrowser(id, { browserPlugin, proxyTier, proxyUrl }); tryCancel(); return this._createPageForBrowser(id, browserController, pageOptions, proxyUrl); @@ -445,13 +460,10 @@ export class BrowserPool< * browser to open the page in. Use the `launchOptions` option to * configure the new browser. */ - async newPageInNewBrowser(options: BrowserPoolNewPageInNewBrowserOptions = {}): Promise { - const { - id = nanoid(), - pageOptions, - launchOptions, - browserPlugin = this._pickBrowserPlugin(), - } = options; + async newPageInNewBrowser( + options: BrowserPoolNewPageInNewBrowserOptions = {}, + ): Promise { + const { id = nanoid(), pageOptions, launchOptions, browserPlugin = this._pickBrowserPlugin() } = options; if (this.pages.has(id)) { throw new Error(`Page with ID: ${id} already exists.`); @@ -544,9 +556,10 @@ export class BrowserPool< await browserController['isActivePromise']; tryCancel(); - const finalPageOptions = (browserController.launchContext.useIncognitoPages || browserController.launchContext.experimentalContainers) - ? pageOptions - : undefined; + const finalPageOptions = + browserController.launchContext.useIncognitoPages || browserController.launchContext.experimentalContainers + ? pageOptions + : undefined; if (finalPageOptions) { Object.assign(finalPageOptions, browserController.normalizeProxyOptions(proxyUrl, pageOptions)); @@ -558,11 +571,11 @@ export class BrowserPool< let page: PageReturn; try { - page = await addTimeoutToPromise( + page = (await addTimeoutToPromise( async () => browserController.newPage(finalPageOptions), this.operationTimeoutMillis, 'browserController.newPage() timed out.', - ) as PageReturn; + )) as PageReturn; tryCancel(); this.pages.set(pageId, page); @@ -577,7 +590,9 @@ export class BrowserPool< this._overridePageClose(page); } catch (err) { this.retireBrowserController(browserController); - throw new Error(`browserController.newPage() failed: ${browserController.id}\nCause:${(err as Error).message}.`); + throw new Error( + `browserController.newPage() failed: ${browserController.id}\nCause:${(err as Error).message}.`, + ); } await this._executeHooks(this.postPageCreateHooks, page, browserController); @@ -660,12 +675,7 @@ export class BrowserPool< } private async _launchBrowser(pageId: string, options: InternalLaunchBrowserOptions) { - const { - browserPlugin, - launchOptions, - proxyTier, - proxyUrl, - } = options; + const { browserPlugin, launchOptions, proxyTier, proxyUrl } = options; const browserController = browserPlugin.createController() as BrowserControllerReturn; this.activeBrowserControllers.add(browserController); @@ -701,10 +711,9 @@ export class BrowserPool< } catch (err) { this.activeBrowserControllers.delete(browserController); browserController.close().catch((closeErr) => { - log.error( - `Could not close browser whose post-launch hooks failed.\nCause:${closeErr.message}`, - { id: browserController.id }, - ); + log.error(`Could not close browser whose post-launch hooks failed.\nCause:${closeErr.message}`, { + id: browserController.id, + }); }); throw err; } @@ -727,24 +736,21 @@ export class BrowserPool< return this.browserPlugins[pluginIndex]; } - private _pickBrowserWithFreeCapacity( - browserPlugin: BrowserPlugin, - options?: Partial, - ) { + private _pickBrowserWithFreeCapacity(browserPlugin: BrowserPlugin, options?: Partial) { return [...this.activeBrowserControllers].find((controller) => { const hasCapacity = controller.activePages < this.maxOpenPagesPerBrowser; const isCorrectPlugin = controller.browserPlugin === browserPlugin; const isSameProxyUrl = controller.proxyUrl === options?.proxyUrl; const isCorrectProxyTier = controller.proxyTier === options?.proxyTier; - return isCorrectPlugin - && hasCapacity - && ( - (!controller.launchContext.browserPerProxy && !options?.proxyTier) - || (options?.proxyTier && isCorrectProxyTier) - || (options?.proxyUrl && isSameProxyUrl) - || (!options?.proxyUrl && !options?.proxyTier && !controller.proxyUrl && !controller.proxyTier) - ); + return ( + isCorrectPlugin && + hasCapacity && + ((!controller.launchContext.browserPerProxy && !options?.proxyTier) || + (options?.proxyTier && isCorrectProxyTier) || + (options?.proxyUrl && isSameProxyUrl) || + (!options?.proxyUrl && !options?.proxyTier && !controller.proxyUrl && !controller.proxyTier)) + ); }); } @@ -781,10 +787,9 @@ export class BrowserPool< page.close = async (...args: unknown[]) => { await this._executeHooks(this.prePageCloseHooks, page, browserController); - await originalPageClose.apply(page, args) - .catch((err: Error) => { - log.debug(`Could not close page.\nCause:${err.message}`, { id: browserController.id }); - }); + await originalPageClose.apply(page, args).catch((err: Error) => { + log.debug(`Could not close page.\nCause:${err.message}`, { id: browserController.id }); + }); await this._executeHooks(this.postPageCloseHooks, pageId, browserController); @@ -833,14 +838,8 @@ export class BrowserPool< // It is usual to generate proxy per browser and we want to know the proxyUrl for the caching. createFingerprintPreLaunchHook(this), ]; - this.prePageCreateHooks = [ - createPrePageCreateHook(), - ...this.prePageCreateHooks, - ]; - this.postPageCreateHooks = [ - createPostPageCreateHook(this.fingerprintInjector!), - ...this.postPageCreateHooks, - ]; + this.prePageCreateHooks = [createPrePageCreateHook(), ...this.prePageCreateHooks]; + this.postPageCreateHooks = [createPostPageCreateHook(this.fingerprintInjector!), ...this.postPageCreateHooks]; } } diff --git a/packages/browser-pool/src/fingerprinting/hooks.ts b/packages/browser-pool/src/fingerprinting/hooks.ts index e7c74711d070..feb94b3a9d45 100644 --- a/packages/browser-pool/src/fingerprinting/hooks.ts +++ b/packages/browser-pool/src/fingerprinting/hooks.ts @@ -15,9 +15,7 @@ export function createFingerprintPreLaunchHook(browserPool: BrowserPool { @@ -26,8 +24,9 @@ export function createFingerprintPreLaunchHook(browserPool: BrowserPool Note: If `browserListQuery` is passed, the `browsers` array is ignored. - */ + * Browser generation query based on the real world data. + * For more info see the [query docs](https://github.com/browserslist/browserslist#full-list). + * + * > Note: If `browserListQuery` is passed, the `browsers` array is ignored. + */ browserListQuery?: string; /** - * List of operating systems to generate the headers for. - */ + * List of operating systems to generate the headers for. + */ operatingSystems?: OperatingSystemsName[]; /** - * List of device types to generate the fingerprints for. - */ + * List of device types to generate the fingerprints for. + */ devices?: DeviceCategory[]; /** - * List of at most 10 languages to include in the - * [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language) request header - * in the language format accepted by that header, for example `en`, `en-US` or `de`. - */ + * List of at most 10 languages to include in the + * [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language) request header + * in the language format accepted by that header, for example `en`, `en-US` or `de`. + */ locales?: string[]; /** - * Http version to be used to generate headers (the headers differ depending on the version). - * - * Can be either 1 or 2. Default value is 2. - */ + * Http version to be used to generate headers (the headers differ depending on the version). + * + * Can be either 1 or 2. Default value is 2. + */ httpVersion?: HttpVersion; /** * Defines the screen dimensions of the generated fingerprint. @@ -59,7 +59,7 @@ const SUPPORTED_HTTP_VERSIONS = ['1', '2'] as const; /** * String specifying the HTTP version to use. */ -type HttpVersion = typeof SUPPORTED_HTTP_VERSIONS[number]; +type HttpVersion = (typeof SUPPORTED_HTTP_VERSIONS)[number]; export enum BrowserName { chrome = 'chrome', @@ -70,20 +70,20 @@ export enum BrowserName { export interface BrowserSpecification { /** - * String representing the browser name. - */ + * String representing the browser name. + */ name: BrowserName; /** - * Minimum version of browser used. - */ + * Minimum version of browser used. + */ minVersion?: number; /** - * Maximum version of browser used. - */ + * Maximum version of browser used. + */ maxVersion?: number; /** - * HTTP version to be used for header generation (the headers differ depending on the version). - */ + * HTTP version to be used for header generation (the headers differ depending on the version). + */ httpVersion?: HttpVersion; } diff --git a/packages/browser-pool/src/fingerprinting/utils.ts b/packages/browser-pool/src/fingerprinting/utils.ts index 2244c5f09e41..a0cadb1f35de 100644 --- a/packages/browser-pool/src/fingerprinting/utils.ts +++ b/packages/browser-pool/src/fingerprinting/utils.ts @@ -24,7 +24,8 @@ const getBrowserName = (browserPlugin: BrowserPlugin, launchOptions: any): Brows if (browserPlugin instanceof PlaywrightPlugin) { browserName = library.name!(); - } if (browserPlugin instanceof PuppeteerPlugin) { + } + if (browserPlugin instanceof PuppeteerPlugin) { browserName = launchOptions.product || library.product; } diff --git a/packages/browser-pool/src/playwright/playwright-controller.ts b/packages/browser-pool/src/playwright/playwright-controller.ts index bca1978f395c..8df42f7feb6b 100644 --- a/packages/browser-pool/src/playwright/playwright-controller.ts +++ b/packages/browser-pool/src/playwright/playwright-controller.ts @@ -10,7 +10,11 @@ import type { SafeParameters } from '../utils'; const tabIds = new WeakMap(); const keyFromTabId = (tabId: string | number) => `.${tabId}.`; -export class PlaywrightController extends BrowserController[0], Browser> { +export class PlaywrightController extends BrowserController< + BrowserType, + SafeParameters[0], + Browser +> { normalizeProxyOptions(proxyUrl: string | undefined, pageOptions: any): Record { if (!proxyUrl) { return {}; @@ -31,8 +35,14 @@ export class PlaywrightController extends BrowserController[0]): Promise { - if (contextOptions !== undefined && !this.launchContext.useIncognitoPages && !this.launchContext.experimentalContainers) { - throw new Error('A new page can be created with provided context only when using incognito pages or experimental containers.'); + if ( + contextOptions !== undefined && + !this.launchContext.useIncognitoPages && + !this.launchContext.experimentalContainers + ) { + throw new Error( + 'A new page can be created with provided context only when using incognito pages or experimental containers.', + ); } let close = async () => {}; @@ -66,7 +76,9 @@ export class PlaywrightController extends BrowserController { return new Promise((resolve, reject) => { - const server = net.createServer().once('error', reject).listen(() => { - resolve((server.address() as net.AddressInfo).port); - server.close(); - }); + const server = net + .createServer() + .once('error', reject) + .listen(() => { + resolve((server.address() as net.AddressInfo).port); + server.close(); + }); }); }; @@ -30,20 +33,18 @@ const getFreePort = async () => { // taacPath = browser-pool/dist/tab-as-a-container const taacPath = path.join(__dirname, '..', 'tab-as-a-container'); -export class PlaywrightPlugin extends BrowserPlugin[0], PlaywrightBrowser> { +export class PlaywrightPlugin extends BrowserPlugin< + BrowserType, + SafeParameters[0], + PlaywrightBrowser +> { private _browserVersion?: string; _containerProxyServer?: Awaited>; protected async _launch(launchContext: LaunchContext): Promise { - const { - launchOptions, - useIncognitoPages, - proxyUrl, - } = launchContext; + const { launchOptions, useIncognitoPages, proxyUrl } = launchContext; - let { - userDataDir, - } = launchContext; + let { userDataDir } = launchContext; let browser: PlaywrightBrowser; @@ -82,9 +83,7 @@ export class PlaywrightPlugin extends BrowserPlugin { - return this._throwOnFailedLaunch(launchContext, error); - }); + const browserContext = await this.library + .launchPersistentContext(userDataDir, launchOptions) + .catch((error) => { + return this._throwOnFailedLaunch(launchContext, error); + }); browserContext.once('close', () => { if (userDataDir.includes('apify-playwright-firefox-taac-')) { @@ -192,7 +196,11 @@ export class PlaywrightPlugin extends BrowserPlugin[0], PlaywrightBrowser> { + protected _createController(): BrowserController< + BrowserType, + SafeParameters[0], + PlaywrightBrowser + > { return new PlaywrightController(this); } diff --git a/packages/browser-pool/src/puppeteer/puppeteer-controller.ts b/packages/browser-pool/src/puppeteer/puppeteer-controller.ts index cd0a1c535fa2..dd7621800599 100644 --- a/packages/browser-pool/src/puppeteer/puppeteer-controller.ts +++ b/packages/browser-pool/src/puppeteer/puppeteer-controller.ts @@ -40,7 +40,9 @@ export class PuppeteerController extends BrowserController< protected async _newPage(contextOptions?: PuppeteerNewPageOptions): Promise { if (contextOptions !== undefined) { if (!this.launchContext.useIncognitoPages) { - throw new Error('A new page can be created with provided context only when using incognito pages or experimental containers.'); + throw new Error( + 'A new page can be created with provided context only when using incognito pages or experimental containers.', + ); } let close = async () => {}; @@ -65,7 +67,7 @@ export class PuppeteerController extends BrowserController< const { CdpBrowser } = await import('puppeteer'); const oldPuppeteerVersion = !CdpBrowser || 'createIncognitoBrowserContext' in CdpBrowser.prototype; const method = oldPuppeteerVersion ? 'createIncognitoBrowserContext' : 'createBrowserContext'; - const context = await (this.browser as any)[method](contextOptions) as PuppeteerTypes.BrowserContext; + const context = (await (this.browser as any)[method](contextOptions)) as PuppeteerTypes.BrowserContext; tryCancel(); const page = await context.newPage(); tryCancel(); diff --git a/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts b/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts index 79c3103d9d35..0bfc4f3f13ef 100644 --- a/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts +++ b/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts @@ -22,7 +22,12 @@ export class PuppeteerPlugin extends BrowserPlugin< PuppeteerNewPageOptions > { protected async _launch( - launchContext: LaunchContext, + launchContext: LaunchContext< + typeof Puppeteer, + PuppeteerTypes.PuppeteerLaunchOptions, + PuppeteerTypes.Browser, + PuppeteerNewPageOptions + >, ): Promise { let oldPuppeteerVersion = false; @@ -34,13 +39,7 @@ export class PuppeteerPlugin extends BrowserPlugin< } catch { // ignore } - const { - launchOptions, - userDataDir, - useIncognitoPages, - experimentalContainers, - proxyUrl, - } = launchContext; + const { launchOptions, userDataDir, useIncognitoPages, experimentalContainers, proxyUrl } = launchContext; if (experimentalContainers) { throw new Error('Experimental containers are only available with Playwright'); @@ -110,26 +109,36 @@ export class PuppeteerPlugin extends BrowserPlugin< } }); - const boundMethods = (['newPage', 'close', 'userAgent', 'createIncognitoBrowserContext', 'createBrowserContext', 'version', 'on', 'process'] as const) - .reduce((map, method) => { - map[method] = browser[method as 'close']?.bind(browser); - return map; - }, {} as Dictionary); + const boundMethods = ( + [ + 'newPage', + 'close', + 'userAgent', + 'createIncognitoBrowserContext', + 'createBrowserContext', + 'version', + 'on', + 'process', + ] as const + ).reduce((map, method) => { + map[method] = browser[method as 'close']?.bind(browser); + return map; + }, {} as Dictionary); const method = oldPuppeteerVersion ? 'createIncognitoBrowserContext' : 'createBrowserContext'; browser = new Proxy(browser, { get: (target, property: keyof typeof browser, receiver) => { if (property === 'newPage') { - return (async (...args: Parameters) => { + return async (...args: Parameters) => { let page: PuppeteerTypes.Page; if (useIncognitoPages) { const [anonymizedProxyUrl, close] = await anonymizeProxySugar(proxyUrl); try { - const context = await (browser as any)[method]({ + const context = (await (browser as any)[method]({ proxyServer: anonymizedProxyUrl ?? proxyUrl, - }) as PuppeteerTypes.BrowserContext; + })) as PuppeteerTypes.BrowserContext; page = await context.newPage(...args); @@ -165,7 +174,7 @@ export class PuppeteerPlugin extends BrowserPlugin< */ return page; - }); + }; } if (property in boundMethods) { @@ -179,12 +188,22 @@ export class PuppeteerPlugin extends BrowserPlugin< return browser; } - protected _createController(): BrowserController { + protected _createController(): BrowserController< + typeof Puppeteer, + PuppeteerTypes.PuppeteerLaunchOptions, + PuppeteerTypes.Browser, + PuppeteerNewPageOptions + > { return new PuppeteerController(this); } protected async _addProxyToLaunchOptions( - _launchContext: LaunchContext, + _launchContext: LaunchContext< + typeof Puppeteer, + PuppeteerTypes.PuppeteerLaunchOptions, + PuppeteerTypes.Browser, + PuppeteerNewPageOptions + >, ): Promise { /* // DO NOT USE YET! DOING SO DISABLES CACHE WHICH IS 50% PERFORMANCE HIT! @@ -214,7 +233,12 @@ export class PuppeteerPlugin extends BrowserPlugin< } protected _isChromiumBasedBrowser( - _launchContext: LaunchContext, + _launchContext: LaunchContext< + typeof Puppeteer, + PuppeteerTypes.PuppeteerLaunchOptions, + PuppeteerTypes.Browser, + PuppeteerNewPageOptions + >, ): boolean { return true; } diff --git a/packages/browser-pool/src/utils.ts b/packages/browser-pool/src/utils.ts index 1130302bbaf2..396c81e2c854 100644 --- a/packages/browser-pool/src/utils.ts +++ b/packages/browser-pool/src/utils.ts @@ -17,30 +17,28 @@ export type InferBrowserPluginArray< Input extends readonly unknown[], // The results of this type Result extends BrowserPlugin[] = [], -> = - // If the input is a tuple or a readonly array (`[] as const`), get the first and the rest of the values - Input extends readonly [infer FirstValue, ...infer Rest] | [infer FirstValue, ...infer Rest] - // If the first value is a PlaywrightPlugin - ? FirstValue extends PlaywrightPlugin - // Add it to the result, and continue parsing - ? InferBrowserPluginArray - // Else if the first value is a PuppeteerPlugin - : FirstValue extends PuppeteerPlugin - // Add it to the result, and continue parsing - ? InferBrowserPluginArray - // Return never as it isn't a valid type - : never - // If there's no more inputs to parse - : Input extends [] - // Return the results - ? Result - // If the input is a general array of elements (not a tuple), infer it's values type - : Input extends readonly (infer U)[] - // If the values are a union of the plugins - ? [U] extends [PuppeteerPlugin | PlaywrightPlugin] - // Return an array of the union - ? U[] - // Return never as it isn't a valid type - : never - // Return the result - : Result; +> = Input extends readonly [infer FirstValue, ...infer Rest] | [infer FirstValue, ...infer Rest] // If the input is a tuple or a readonly array (`[] as const`), get the first and the rest of the values + ? // If the first value is a PlaywrightPlugin + FirstValue extends PlaywrightPlugin + ? // Add it to the result, and continue parsing + InferBrowserPluginArray + : // Else if the first value is a PuppeteerPlugin + FirstValue extends PuppeteerPlugin + ? // Add it to the result, and continue parsing + InferBrowserPluginArray + : // Return never as it isn't a valid type + never + : // If there's no more inputs to parse + Input extends [] + ? // Return the results + Result + : // If the input is a general array of elements (not a tuple), infer it's values type + Input extends readonly (infer U)[] + ? // If the values are a union of the plugins + [U] extends [PuppeteerPlugin | PlaywrightPlugin] + ? // Return an array of the union + U[] + : // Return never as it isn't a valid type + never + : // Return the result + Result; diff --git a/packages/browser-pool/tab-as-a-container/background.js b/packages/browser-pool/tab-as-a-container/background.js index 42e25f06c4c8..d95f20b28591 100644 --- a/packages/browser-pool/tab-as-a-container/background.js +++ b/packages/browser-pool/tab-as-a-container/background.js @@ -95,14 +95,18 @@ chrome.webRequest.onBeforeSendHeaders.addListener( if (header.name.toLowerCase() === 'cookie') { const id = keyFromTabId(getOpenerId(details.tabId)); - const fixedCookies = header.value.split('; ').filter((x) => x.startsWith(id)).map((x) => x.slice(id.length)).join('; '); + const fixedCookies = header.value + .split('; ') + .filter((x) => x.startsWith(id)) + .map((x) => x.slice(id.length)) + .join('; '); header.value = fixedCookies; } // Sometimes Chrome makes a request on a ghost tab. // We don't want these in order to prevent cluttering cookies. // Yes, `webNavigation.onComitted` is emitted and `webNavigation.onCreatedNavigationTarget` is not. - if (header.name.toLowerCase() === 'purpose' && header.value === 'prefetch' && !(counter.has(details.tabId))) { + if (header.name.toLowerCase() === 'purpose' && header.value === 'prefetch' && !counter.has(details.tabId)) { // eslint-disable-next-line no-console console.log(details); return { @@ -111,7 +115,7 @@ chrome.webRequest.onBeforeSendHeaders.addListener( } // This one is for Firefox - if (header.name.toLowerCase() === 'x-moz' && header.value === 'prefetch' && !(counter.has(details.tabId))) { + if (header.name.toLowerCase() === 'x-moz' && header.value === 'prefetch' && !counter.has(details.tabId)) { // eslint-disable-next-line no-console console.log(details); return { @@ -134,7 +138,9 @@ chrome.webRequest.onBeforeSendHeaders.addListener( } return { - requestHeaders: details.requestHeaders.filter((header) => header.name.toLowerCase() !== 'cookie' || header.value !== ''), + requestHeaders: details.requestHeaders.filter( + (header) => header.name.toLowerCase() !== 'cookie' || header.value !== '', + ), }; }, { urls: [''] }, @@ -152,13 +158,15 @@ chrome.webRequest.onHeadersReceived.addListener( const openerId = getOpenerId(details.tabId); - header.value = parts.map((part) => { - const equalsIndex = part.indexOf('='); - if (equalsIndex === -1) { - return `${keyFromTabId(openerId)}=${part.trimStart()}`; - } - return keyFromTabId(openerId) + part.trimStart(); - }).join('\n'); + header.value = parts + .map((part) => { + const equalsIndex = part.indexOf('='); + if (equalsIndex === -1) { + return `${keyFromTabId(openerId)}=${part.trimStart()}`; + } + return keyFromTabId(openerId) + part.trimStart(); + }) + .join('\n'); } } @@ -187,13 +195,17 @@ chrome.tabs.onRemoved.addListener(async (tabId) => { const id = keyFromTabId(opener); chrome.cookies.getAll({}, async (cookies) => { - await Promise.allSettled(cookies.filter((cookie) => cookie.name.startsWith(id)).map((cookie) => { - return chrome.cookies.remove({ - name: cookie.name, - url: getCookieURL(cookie), - storeId: cookie.storeId, - }); - })); + await Promise.allSettled( + cookies + .filter((cookie) => cookie.name.startsWith(id)) + .map((cookie) => { + return chrome.cookies.remove({ + name: cookie.name, + url: getCookieURL(cookie), + storeId: cookie.storeId, + }); + }), + ); }); }); @@ -246,7 +258,7 @@ const getNextLocalhostIp = (openerId) => { } // [127.0.0.1 - 127.255.255.254] = 1 * 255 * 255 * 254 = 16 516 350 - while (localhostIpCache.length >= (1 * 255 * 255 * 254)) { + while (localhostIpCache.length >= 1 * 255 * 255 * 254) { localhostIpCache.delete(localhostIpCache.keys().next().value); } @@ -341,7 +353,9 @@ const onCompleted = async (details) => { // Different protocols are required, otherwise `onCompleted` won't be emitted. const result = await routes[route](details, body); if (result !== undefined) { - await chrome.tabs.update(details.tabId, { url: `about:blank#${encodeURIComponent(JSON.stringify(result))}` }); + await chrome.tabs.update(details.tabId, { + url: `about:blank#${encodeURIComponent(JSON.stringify(result))}`, + }); } } } catch { @@ -400,7 +414,9 @@ chrome.webNavigation.onCompleted.addListener(onCompleted); window.totallyRandomString = true; - const code = "'use strict'; const tabId = '${getOpenerId(details.tabId)}'; (() => {\\n" + ${JSON.stringify(contentText)} + "\\n})();\\n"; + const code = "'use strict'; const tabId = '${getOpenerId( + details.tabId, + )}'; (() => {\\n" + ${JSON.stringify(contentText)} + "\\n})();\\n"; ${executeCodeInPageContext} })(); `, diff --git a/packages/browser-pool/tab-as-a-container/content.js b/packages/browser-pool/tab-as-a-container/content.js index 4635bf27daa0..0ed1ef809d59 100644 --- a/packages/browser-pool/tab-as-a-container/content.js +++ b/packages/browser-pool/tab-as-a-container/content.js @@ -177,7 +177,9 @@ const FakeStorage = class Storage { } if (arguments.length === 0) { - throw fixStack(new TypeError(`Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present.`)); + throw fixStack( + new TypeError(`Failed to execute 'key' on 'Storage': 1 argument required, but only 0 present.`), + ); } index = NumberIsFinite(index) ? index : 0; @@ -208,7 +210,9 @@ const FakeStorage = class Storage { } if (arguments.length === 0) { - throw fixStack(new TypeError(`Failed to execute 'getItem' on 'Storage': 1 argument required, but only 0 present.`)); + throw fixStack( + new TypeError(`Failed to execute 'getItem' on 'Storage': 1 argument required, but only 0 present.`), + ); } return StoragePrototype.getItem.call(priv.storage, priv.prefix + key); @@ -221,7 +225,9 @@ const FakeStorage = class Storage { } if (arguments.length === 0) { - throw fixStack(new TypeError(`Failed to execute 'removeItem' on 'Storage': 1 argument required, but only 0 present.`)); + throw fixStack( + new TypeError(`Failed to execute 'removeItem' on 'Storage': 1 argument required, but only 0 present.`), + ); } StoragePrototype.removeItem.call(priv.storage, priv.prefix + key); @@ -234,7 +240,11 @@ const FakeStorage = class Storage { } if (arguments.length === 0 || arguments.length === 1) { - throw fixStack(new TypeError(`Failed to execute 'setItem' on 'Storage': 2 arguments required, but only ${arguments.length} present.`)); + throw fixStack( + new TypeError( + `Failed to execute 'setItem' on 'Storage': 2 arguments required, but only ${arguments.length} present.`, + ), + ); } StoragePrototype.setItem.call(priv.storage, priv.prefix + key, value); @@ -257,7 +267,9 @@ const createStorage = ({ storage, prefix }) => { // getPrototypeOf: (target) => {}, defineProperty: (target, key, descriptor) => { if ('set' in descriptor || 'get' in descriptor) { - throw fixStack(new TypeError(`Failed to set a named property on 'Storage': Accessor properties are not allowed.`)); + throw fixStack( + new TypeError(`Failed to set a named property on 'Storage': Accessor properties are not allowed.`), + ); } FakeStoragePrototype.setItem.call(target, key, descriptor.value); @@ -363,17 +375,18 @@ const createStorage = ({ storage, prefix }) => { const toHide = new WeakMap(); for (const Type of [Function, Object, Array]) { - const create = (fallback) => function () { - if (this instanceof FakeStorage) { - return '[object Storage]'; - } + const create = (fallback) => + function () { + if (this instanceof FakeStorage) { + return '[object Storage]'; + } - if (WeakMapPrototype.has.call(toHide, this)) { - return `function ${WeakMapPrototype.get.call(toHide, this)}() { [native code] }`; - } + if (WeakMapPrototype.has.call(toHide, this)) { + return `function ${WeakMapPrototype.get.call(toHide, this)}() { [native code] }`; + } - return fallback.call(this); - }; + return fallback.call(this); + }; const toString = create(Type.prototype.toString); const toLocaleString = create(Type.prototype.toLocaleString); @@ -400,8 +413,12 @@ try { const fakeLocalStorage = createStorage({ storage: sessionStorage, prefix: 'l.' }); const fakeSessionStorage = createStorage({ storage: sessionStorage, prefix: 's.' }); - const getLocalStorage = function localStorage() { return fakeLocalStorage; }; - const getSessionStorage = function sessionStorage() { return fakeSessionStorage; }; + const getLocalStorage = function localStorage() { + return fakeLocalStorage; + }; + const getSessionStorage = function sessionStorage() { + return fakeSessionStorage; + }; WeakMapPrototype.set.call(toHide, FakeStorage, 'Storage'); WeakMapPrototype.set.call(toHide, FakeStoragePrototype.key, 'key'); @@ -450,7 +467,9 @@ try { const getCookie = function cookie() { try { const cookies = StringSplitSafe(realGetCookie.call(this), '; '); - const filtered = ArrayPrototype.filter.call(cookies, (cookie) => StringPrototype.startsWith.call(cookie, tabPrefix)); + const filtered = ArrayPrototype.filter.call(cookies, (cookie) => + StringPrototype.startsWith.call(cookie, tabPrefix), + ); const mapped = ArrayPrototype.map.call(filtered, (cookie) => { const result = StringPrototype.slice.call(cookie, tabPrefix.length); @@ -472,7 +491,7 @@ try { const delimiterIndex = StringPrototype.indexOf.call(cookieString, ';'); const equalsIndex = StringPrototype.indexOf.call(cookieString, '='); - if ((equalsIndex === -1) || ((delimiterIndex !== -1) && (equalsIndex > delimiterIndex))) { + if (equalsIndex === -1 || (delimiterIndex !== -1 && equalsIndex > delimiterIndex)) { cookieString = `=${cookieString}`; } diff --git a/packages/browser-pool/tab-as-a-container/manifest.json b/packages/browser-pool/tab-as-a-container/manifest.json index b7a38b8ec7b2..cc77a982f9a9 100644 --- a/packages/browser-pool/tab-as-a-container/manifest.json +++ b/packages/browser-pool/tab-as-a-container/manifest.json @@ -3,9 +3,7 @@ "name": "Tab as a Container", "version": "1.0.0", "background": { - "scripts": [ - "background.js" - ], + "scripts": ["background.js"], "persistent": true }, "permissions": [ @@ -18,8 +16,6 @@ "proxy", "" ], - "web_accessible_resources": [ - "content.js" - ], + "web_accessible_resources": ["content.js"], "incognito": "not_allowed" } diff --git a/packages/browser-pool/test/changing-page-options.test.ts b/packages/browser-pool/test/changing-page-options.test.ts index 6aa4ccc18c7d..76aed3042a09 100644 --- a/packages/browser-pool/test/changing-page-options.test.ts +++ b/packages/browser-pool/test/changing-page-options.test.ts @@ -12,17 +12,20 @@ import { createProxyServer } from '../../../test/browser-pool/browser-plugins/cr describe.each([ ['Puppeteer', new PuppeteerPlugin(puppeteer, { useIncognitoPages: true })], - ['Playwright', new PlaywrightPlugin(playwright.chromium, { - useIncognitoPages: true, - launchOptions: { - args: [ - // Exclude loopback interface from proxy bypass list, - // so the request to localhost goes through proxy. - // This way there's no need for a 3rd party server. - '--proxy-bypass-list=<-loopback>', - ], - }, - })], // Chromium is faster than firefox and webkit + [ + 'Playwright', + new PlaywrightPlugin(playwright.chromium, { + useIncognitoPages: true, + launchOptions: { + args: [ + // Exclude loopback interface from proxy bypass list, + // so the request to localhost goes through proxy. + // This way there's no need for a 3rd party server. + '--proxy-bypass-list=<-loopback>', + ], + }, + }), + ], // Chromium is faster than firefox and webkit ])('BrowserPool - %s - prePageCreateHooks > should allow changing pageOptions', (_, plugin) => { let target: http.Server; let protectedProxy: ProxyChainServer; @@ -44,7 +47,11 @@ describe.each([ }); test('should allow changing pageOptions', async () => { - const hook: PrePageCreateHook = (_pageId, _controller, pageOptions) => { + const hook: PrePageCreateHook = ( + _pageId, + _controller, + pageOptions, + ) => { if (!pageOptions) { expect(false).toBe(true); return; diff --git a/packages/browser-pool/test/multiple-plugins.test.ts b/packages/browser-pool/test/multiple-plugins.test.ts index 25db43d39acd..444be6a6cf08 100644 --- a/packages/browser-pool/test/multiple-plugins.test.ts +++ b/packages/browser-pool/test/multiple-plugins.test.ts @@ -13,10 +13,7 @@ describe('BrowserPool - Using multiple plugins', () => { beforeEach(async () => { vitest.clearAllMocks(); browserPool = new BrowserPool({ - browserPlugins: [ - chromePlugin, - firefoxPlugin, - ], + browserPlugins: [chromePlugin, firefoxPlugin], closeInactiveBrowserAfterSecs: 2, retireInactiveBrowserAfterSecs: 30, }); @@ -36,10 +33,7 @@ describe('BrowserPool - Using multiple plugins', () => { }); test('should loop through plugins round-robin', async () => { - const correctPluginOrder = [ - chromePlugin, - firefoxPlugin, - ]; + const correctPluginOrder = [chromePlugin, firefoxPlugin]; const pagePromises = correctPluginOrder.map(async () => browserPool.newPage()); diff --git a/packages/browser-pool/test/no-hybrid-plugins.test.ts b/packages/browser-pool/test/no-hybrid-plugins.test.ts index 503d47270c64..fcccc52dbc10 100644 --- a/packages/browser-pool/test/no-hybrid-plugins.test.ts +++ b/packages/browser-pool/test/no-hybrid-plugins.test.ts @@ -4,15 +4,23 @@ import puppeteer from 'puppeteer'; describe('Hybrid BrowserPool plugins should not be allowed', () => { test('mixing Puppeteer with Playwright should throw an error', () => { - expect(() => new BrowserPool({ - browserPlugins: [new PuppeteerPlugin(puppeteer), new PlaywrightPlugin(playwright.chromium)], - }), + expect( + () => + new BrowserPool({ + browserPlugins: [new PuppeteerPlugin(puppeteer), new PlaywrightPlugin(playwright.chromium)], + }), ).toThrowError(); }); test('providing multiple different Playwright plugins should not throw an error', () => { - expect(() => new BrowserPool({ - browserPlugins: [new PlaywrightPlugin(playwright.chromium), new PlaywrightPlugin(playwright.firefox)], - })).not.toThrowError(); + expect( + () => + new BrowserPool({ + browserPlugins: [ + new PlaywrightPlugin(playwright.chromium), + new PlaywrightPlugin(playwright.firefox), + ], + }), + ).not.toThrowError(); }); }); diff --git a/packages/browser-pool/tsconfig.build.json b/packages/browser-pool/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/browser-pool/tsconfig.build.json +++ b/packages/browser-pool/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/browser-pool/tsconfig.json b/packages/browser-pool/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/browser-pool/tsconfig.json +++ b/packages/browser-pool/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/cheerio-crawler/CHANGELOG.md b/packages/cheerio-crawler/CHANGELOG.md index 9e8e0595bcd9..58229ed8b154 100644 --- a/packages/cheerio-crawler/CHANGELOG.md +++ b/packages/cheerio-crawler/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/cheerio + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package @crawlee/cheerio + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/cheerio diff --git a/packages/cheerio-crawler/package.json b/packages/cheerio-crawler/package.json index 2c38a012ddf3..a80ff03309d0 100644 --- a/packages/cheerio-crawler/package.json +++ b/packages/cheerio-crawler/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/cheerio", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -53,9 +53,9 @@ "access": "public" }, "dependencies": { - "@crawlee/http": "3.9.2", - "@crawlee/types": "3.9.2", - "@crawlee/utils": "3.9.2", + "@crawlee/http": "3.10.1", + "@crawlee/types": "3.10.1", + "@crawlee/utils": "3.10.1", "cheerio": "^1.0.0-rc.12", "htmlparser2": "^9.0.0", "tslib": "^2.4.0" diff --git a/packages/cheerio-crawler/src/internals/cheerio-crawler.ts b/packages/cheerio-crawler/src/internals/cheerio-crawler.ts index 205aa904d350..157fb9c67c3e 100644 --- a/packages/cheerio-crawler/src/internals/cheerio-crawler.ts +++ b/packages/cheerio-crawler/src/internals/cheerio-crawler.ts @@ -12,12 +12,7 @@ import type { Configuration, RequestProvider, } from '@crawlee/http'; -import { - HttpCrawler, - enqueueLinks, - Router, - resolveBaseUrlForEnqueueLinksFiltering, -} from '@crawlee/http'; +import { HttpCrawler, enqueueLinks, Router, resolveBaseUrlForEnqueueLinksFiltering } from '@crawlee/http'; import type { Dictionary } from '@crawlee/types'; import { extractUrlsFromCheerio } from '@crawlee/utils'; import type { CheerioOptions } from 'cheerio'; @@ -28,22 +23,22 @@ import { WritableStream } from 'htmlparser2/lib/WritableStream'; export type CheerioErrorHandler< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = ErrorHandler>; +> = ErrorHandler>; export interface CheerioCrawlerOptions< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > extends HttpCrawlerOptions> {} +> extends HttpCrawlerOptions> {} export type CheerioHook< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = InternalHttpHook>; +> = InternalHttpHook>; export interface CheerioCrawlingContext< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > extends InternalHttpCrawlingContext { +> extends InternalHttpCrawlingContext { /** * The [Cheerio](https://cheerio.js.org/) object with parsed HTML. * Cheerio is available only for HTML and XML content types. @@ -69,7 +64,7 @@ export interface CheerioCrawlingContext< export type CheerioRequestHandler< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = RequestHandler>; +> = RequestHandler>; /** * Provides a framework for the parallel crawling of web pages using plain HTTP requests and @@ -157,16 +152,23 @@ export class CheerioCrawler extends HttpCrawler { super(options, config); } - protected override async _parseHTML(response: IncomingMessage, isXml: boolean, crawlingContext: CheerioCrawlingContext) { + protected override async _parseHTML( + response: IncomingMessage, + isXml: boolean, + crawlingContext: CheerioCrawlingContext, + ) { const dom = await this._parseHtmlToDom(response, isXml); - const $ = cheerio.load(dom as string, { - xmlMode: isXml, - // Recent versions of cheerio use parse5 as the HTML parser/serializer. It's more strict than htmlparser2 - // and not good for scraping. It also does not have a great streaming interface. - // Here we tell cheerio to use htmlparser2 for serialization, otherwise the conflict produces weird errors. - _useHtmlParser2: true, - } as CheerioOptions); + const $ = cheerio.load( + dom as string, + { + xmlMode: isXml, + // Recent versions of cheerio use parse5 as the HTML parser/serializer. It's more strict than htmlparser2 + // and not good for scraping. It also does not have a great streaming interface. + // Here we tell cheerio to use htmlparser2 for serialization, otherwise the conflict produces weird errors. + _useHtmlParser2: true, + } as CheerioOptions, + ); return { dom, @@ -188,15 +190,16 @@ export class CheerioCrawler extends HttpCrawler { protected async _parseHtmlToDom(response: IncomingMessage, isXml: boolean) { return new Promise((resolve, reject) => { - const domHandler = new DomHandler((err, dom) => { - if (err) reject(err); - else resolve(dom); - }, { xmlMode: isXml }); + const domHandler = new DomHandler( + (err, dom) => { + if (err) reject(err); + else resolve(dom); + }, + { xmlMode: isXml }, + ); const parser = new WritableStream(domHandler, { decodeEntities: true, xmlMode: isXml }); parser.on('error', reject); - response - .on('error', reject) - .pipe(parser); + response.on('error', reject).pipe(parser); }); } @@ -215,7 +218,13 @@ interface EnqueueLinksInternalOptions { } /** @internal */ -export async function cheerioCrawlerEnqueueLinks({ options, $, requestQueue, originalRequestUrl, finalRequestUrl }: EnqueueLinksInternalOptions) { +export async function cheerioCrawlerEnqueueLinks({ + options, + $, + requestQueue, + originalRequestUrl, + finalRequestUrl, +}: EnqueueLinksInternalOptions) { if (!$) { throw new Error('Cannot enqueue links because the DOM is not available.'); } @@ -227,7 +236,11 @@ export async function cheerioCrawlerEnqueueLinks({ options, $, requestQueue, ori userProvidedBaseUrl: options?.baseUrl, }); - const urls = extractUrlsFromCheerio($, options?.selector ?? 'a', options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl); + const urls = extractUrlsFromCheerio( + $, + options?.selector ?? 'a', + options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl, + ); return enqueueLinks({ requestQueue, diff --git a/packages/cheerio-crawler/test/migration.test.ts b/packages/cheerio-crawler/test/migration.test.ts index 215b1e619603..ce0698a82f62 100644 --- a/packages/cheerio-crawler/test/migration.test.ts +++ b/packages/cheerio-crawler/test/migration.test.ts @@ -36,11 +36,13 @@ describe('Moving from handleRequest* to requestHandler*', () => { handlePageFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `Both "requestHandler" and "handlePageFunction" were provided in the crawler options.`, - `"handlePageFunction" has been renamed to "requestHandler", and will be removed in a future version.`, - `As such, "requestHandler" will be used instead.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `Both "requestHandler" and "handlePageFunction" were provided in the crawler options.`, + `"handlePageFunction" has been renamed to "requestHandler", and will be removed in a future version.`, + `As such, "requestHandler" will be used instead.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['requestHandler']).toBe(newHandler); @@ -56,10 +58,12 @@ describe('Moving from handleRequest* to requestHandler*', () => { handlePageFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `"handlePageFunction" has been renamed to "requestHandler", and will be removed in a future version.`, - `The provided value will be used, but you should rename "handlePageFunction" to "requestHandler" in your crawler options.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `"handlePageFunction" has been renamed to "requestHandler", and will be removed in a future version.`, + `The provided value will be used, but you should rename "handlePageFunction" to "requestHandler" in your crawler options.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['requestHandler']).toBe(oldHandler); @@ -96,11 +100,13 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleFailedRequestFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `Both "failedRequestHandler" and "handleFailedRequestFunction" were provided in the crawler options.`, - `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, - `As such, "failedRequestHandler" will be used instead.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `Both "failedRequestHandler" and "handleFailedRequestFunction" were provided in the crawler options.`, + `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, + `As such, "failedRequestHandler" will be used instead.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['failedRequestHandler']).toBe(newHandler); @@ -117,10 +123,12 @@ describe('Moving from handleRequest* to requestHandler*', () => { handleFailedRequestFunction: oldHandler, }); - expect(warningSpy).toHaveBeenCalledWith<[string]>([ - `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, - `The provided value will be used, but you should rename "handleFailedRequestFunction" to "failedRequestHandler" in your crawler options.`, - ].join('\n')); + expect(warningSpy).toHaveBeenCalledWith<[string]>( + [ + `"handleFailedRequestFunction" has been renamed to "failedRequestHandler", and will be removed in a future version.`, + `The provided value will be used, but you should rename "handleFailedRequestFunction" to "failedRequestHandler" in your crawler options.`, + ].join('\n'), + ); // eslint-disable-next-line dot-notation -- accessing private property expect(crawler['failedRequestHandler']).toBe(oldHandler); diff --git a/packages/cheerio-crawler/test/tsconfig.json b/packages/cheerio-crawler/test/tsconfig.json index b603acdc1e68..bf55f9516b7d 100644 --- a/packages/cheerio-crawler/test/tsconfig.json +++ b/packages/cheerio-crawler/test/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "../../../tsconfig.json", - "include": [ - "**/*", - "../../**/*" - ], + "include": ["**/*", "../../**/*"], "compilerOptions": { "types": ["vitest/globals"] } diff --git a/packages/cheerio-crawler/tsconfig.build.json b/packages/cheerio-crawler/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/cheerio-crawler/tsconfig.build.json +++ b/packages/cheerio-crawler/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/cheerio-crawler/tsconfig.json b/packages/cheerio-crawler/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/cheerio-crawler/tsconfig.json +++ b/packages/cheerio-crawler/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index e4cc9c868f5e..35347d1bbdc3 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/cli + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package @crawlee/cli + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/cli diff --git a/packages/cli/package.json b/packages/cli/package.json index dd91534b8037..47e46b734968 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/cli", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -51,7 +51,7 @@ "access": "public" }, "dependencies": { - "@crawlee/templates": "3.9.2", + "@crawlee/templates": "3.10.1", "ansi-colors": "^4.1.3", "fs-extra": "^11.0.0", "inquirer": "^8.2.4", diff --git a/packages/cli/src/commands/CreateProjectCommand.ts b/packages/cli/src/commands/CreateProjectCommand.ts index cac793bd47b1..76b363b4af11 100644 --- a/packages/cli/src/commands/CreateProjectCommand.ts +++ b/packages/cli/src/commands/CreateProjectCommand.ts @@ -35,42 +35,54 @@ async function rewrite(path: string, replacer: (from: string) => string) { } } -async function withRetries unknown>(func: F, retries: number, label: string): Promise>> { +async function withRetries unknown>( + func: F, + retries: number, + label: string, +): Promise>> { let attempt = 0; let lastError: any; while (attempt < retries) { try { - return await func() as Awaited>; + return (await func()) as Awaited>; } catch (error: any) { attempt++; lastError = error; if (attempt < retries) { - console.warn(`${colors.yellow(`[${label}]`)}: Attempt ${attempt + 1} of ${retries} failed, and will be retried`, error.message || error); + console.warn( + `${colors.yellow(`[${label}]`)}: Attempt ${attempt + 1} of ${retries} failed, and will be retried`, + error.message || error, + ); } // Wait 2500ms + (2500 * retries) before giving up to give it some time between retries - await setTimeout(2500 + (2500 * attempt)); + await setTimeout(2500 + 2500 * attempt); } } - throw new Error(`${colors.red(`[${label}]`)}: All ${retries} attempts failed, and will not be retried\n\n${lastError.stack || lastError}`); + throw new Error( + `${colors.red(`[${label}]`)}: All ${retries} attempts failed, and will not be retried\n\n${ + lastError.stack || lastError + }`, + ); } async function downloadTemplateFilesToDisk(template: Template, destinationDirectory: string) { const promises: Promise[] = []; for (const file of template.files) { - const promise = async () => downloadFile(file.url).then(async (buffer) => { - // Make sure the folder for the file exists - const fileDirName = dirname(file.path); - const fileFolder = resolve(destinationDirectory, fileDirName); - await ensureDir(fileFolder); - - // Write the actual file - await writeFile(resolve(destinationDirectory, file.path), buffer); - }); + const promise = async () => + downloadFile(file.url).then(async (buffer) => { + // Make sure the folder for the file exists + const fileDirName = dirname(file.path); + const fileFolder = resolve(destinationDirectory, fileDirName); + await ensureDir(fileFolder); + + // Write the actual file + await writeFile(resolve(destinationDirectory, file.path), buffer); + }); promises.push(withRetries(promise, 3, `Template: ${template.name}, file: ${file.path}`)); } @@ -127,19 +139,21 @@ export class CreateProjectCommand implements CommandModule { - try { - validateProjectName(promptText); - } catch (err: any) { - return err.message; - } - return true; + const projectNamePrompt = await prompt([ + { + name: 'projectName', + message: 'Name of the new project folder:', + type: 'input', + validate: (promptText) => { + try { + validateProjectName(promptText); + } catch (err: any) { + return err.message; + } + return true; + }, }, - }]); + ]); ({ projectName } = projectNamePrompt); } else { validateProjectName(projectName); @@ -152,13 +166,15 @@ export class CreateProjectCommand implements CommandModule implements CommandModule item.name === template)!; await downloadTemplateFilesToDisk(templateData, projectDir); - await rewrite(resolve(projectDir, 'package.json'), (pkg) => pkg.replace(/"name": "[\w-]+"/, `"name": "${projectName}"`)); + await rewrite(resolve(projectDir, 'package.json'), (pkg) => + pkg.replace(/"name": "[\w-]+"/, `"name": "${projectName}"`), + ); // Run npm install in project dir. const npm = /^win/.test(process.platform) ? 'npm.cmd' : 'npm'; execSync(`${npm} install`, { cwd: projectDir, stdio: 'inherit' }); - console.log(colors.green(`Project ${projectName} was created. To run it, run "cd ${projectName}" and "npm start".`)); + console.log( + colors.green(`Project ${projectName} was created. To run it, run "cd ${projectName}" and "npm start".`), + ); } } diff --git a/packages/cli/src/commands/InstallPlaywrightBrowsersCommand.ts b/packages/cli/src/commands/InstallPlaywrightBrowsersCommand.ts index 5014afef1f20..3c6c9f7ed314 100644 --- a/packages/cli/src/commands/InstallPlaywrightBrowsersCommand.ts +++ b/packages/cli/src/commands/InstallPlaywrightBrowsersCommand.ts @@ -20,7 +20,8 @@ export class InstallPlaywrightBrowsersCommand implements CommandModule; @@ -33,7 +34,11 @@ export class InstallPlaywrightBrowsersCommand implements CommandModule [options]') - .example('$0 run --no-purge', 'Runs the project in current working directory and disables automatic purging of default storages') + .example( + '$0 run --no-purge', + 'Runs the project in current working directory and disables automatic purging of default storages', + ) .alias('v', 'version') .alias('h', 'help') .command(new CreateProjectCommand()) @@ -42,7 +46,7 @@ const cli = yargs.scriptName('crawlee') .strict(); void (async () => { - const args = await cli.parse(process.argv.slice(2)) as { _: string[] }; + const args = (await cli.parse(process.argv.slice(2))) as { _: string[] }; if (args._.length === 0) { yargs.showHelp(); diff --git a/packages/cli/tsconfig.build.json b/packages/cli/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/cli/tsconfig.build.json +++ b/packages/cli/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 41c076d12406..b51b4ff6af02 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -3,6 +3,46 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + + +### Bug Fixes + +* investigate and temp fix for possible 0-concurrency bug in RQv2 ([#2494](https://github.com/apify/crawlee/issues/2494)) ([4ebe820](https://github.com/apify/crawlee/commit/4ebe820573b269c2d0a6eff20cfd7787debc63c0)) +* provide URLs to the error snapshot ([#2482](https://github.com/apify/crawlee/issues/2482)) ([7f64145](https://github.com/apify/crawlee/commit/7f64145308dfdb3909d4fcf945759a7d6344e2f5)), closes [/github.com/apify/apify-sdk-js/blob/master/packages/apify/src/key_value_store.ts#L25](https://github.com//github.com/apify/apify-sdk-js/blob/master/packages/apify/src/key_value_store.ts/issues/L25) + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + + +### Bug Fixes + +* `EnqueueStrategy.All` erroring with links using unsupported protocols ([#2389](https://github.com/apify/crawlee/issues/2389)) ([8db3908](https://github.com/apify/crawlee/commit/8db39080b7711ba3c27dff7fce1170ddb0ee3d05)) +* **core:** conversion between tough cookies and browser pool cookies ([#2443](https://github.com/apify/crawlee/issues/2443)) ([74f73ab](https://github.com/apify/crawlee/commit/74f73ab77a94ecd285d587b7b3532443deda07b4)) +* **core:** fire local `SystemInfo` events every second ([#2454](https://github.com/apify/crawlee/issues/2454)) ([1fa9a66](https://github.com/apify/crawlee/commit/1fa9a66388846505f84dcdea0393e7eaaebf84c3)) +* **core:** use createSessionFunction when loading Session from persisted state ([#2444](https://github.com/apify/crawlee/issues/2444)) ([3c56b4c](https://github.com/apify/crawlee/commit/3c56b4ca1efe327138aeb32c39dfd9dd67b6aceb)) +* double tier decrement in tiered proxy ([#2468](https://github.com/apify/crawlee/issues/2468)) ([3a8204b](https://github.com/apify/crawlee/commit/3a8204ba417936570ec5569dc4e4eceed79939c1)) + + +### Features + +* implement ErrorSnapshotter for error context capture ([#2332](https://github.com/apify/crawlee/issues/2332)) ([e861dfd](https://github.com/apify/crawlee/commit/e861dfdb451ae32fb1e0c7749c6b59744654b303)), closes [#2280](https://github.com/apify/crawlee/issues/2280) +* make `RequestQueue` v2 the default queue, see more on [Apify blog](https://blog.apify.com/new-apify-request-queue/) ([#2390](https://github.com/apify/crawlee/issues/2390)) ([41ae8ab](https://github.com/apify/crawlee/commit/41ae8abec1da811ae0750ac2d298e77c1e3b7b55)), closes [#2388](https://github.com/apify/crawlee/issues/2388) + + +### Performance Improvements + +* improve scaling based on memory ([#2459](https://github.com/apify/crawlee/issues/2459)) ([2d5d443](https://github.com/apify/crawlee/commit/2d5d443da5fa701b21aec003d4d84797882bc175)) +* optimize `RequestList` memory footprint ([#2466](https://github.com/apify/crawlee/issues/2466)) ([12210bd](https://github.com/apify/crawlee/commit/12210bd191b50c76ecca23ea18f3deda7b1517c6)) +* optimize adding large amount of requests via `crawler.addRequests()` ([#2456](https://github.com/apify/crawlee/issues/2456)) ([6da86a8](https://github.com/apify/crawlee/commit/6da86a85d848cd1cf860a28e5f077b8b14cdb213)) + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) diff --git a/packages/core/package.json b/packages/core/package.json index 590449633d68..42ebb28a7cff 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/core", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -59,9 +59,9 @@ "@apify/pseudo_url": "^2.0.30", "@apify/timeout": "^0.3.0", "@apify/utilities": "^2.7.10", - "@crawlee/memory-storage": "3.9.2", - "@crawlee/types": "3.9.2", - "@crawlee/utils": "3.9.2", + "@crawlee/memory-storage": "3.10.1", + "@crawlee/types": "3.10.1", + "@crawlee/utils": "3.10.1", "@sapphire/async-queue": "^1.5.1", "@types/tough-cookie": "^4.0.2", "@vladfrangu/async_event_emitter": "^2.2.2", diff --git a/packages/core/src/autoscaling/autoscaled_pool.ts b/packages/core/src/autoscaling/autoscaled_pool.ts index bb4653d11772..4ba4038b94e9 100644 --- a/packages/core/src/autoscaling/autoscaled_pool.ts +++ b/packages/core/src/autoscaling/autoscaled_pool.ts @@ -214,25 +214,28 @@ export class AutoscaledPool { options: AutoscaledPoolOptions, private readonly config = Configuration.getGlobalConfig(), ) { - ow(options, ow.object.exactShape({ - runTaskFunction: ow.function, - isFinishedFunction: ow.function, - isTaskReadyFunction: ow.function, - maxConcurrency: ow.optional.number.integer.greaterThanOrEqual(1), - minConcurrency: ow.optional.number.integer.greaterThanOrEqual(1), - desiredConcurrency: ow.optional.number.integer.greaterThanOrEqual(1), - desiredConcurrencyRatio: ow.optional.number.greaterThan(0).lessThan(1), - scaleUpStepRatio: ow.optional.number.greaterThan(0).lessThan(1), - scaleDownStepRatio: ow.optional.number.greaterThan(0).lessThan(1), - maybeRunIntervalSecs: ow.optional.number.greaterThan(0), - loggingIntervalSecs: ow.any(ow.number.greaterThan(0), ow.nullOrUndefined), - autoscaleIntervalSecs: ow.optional.number.greaterThan(0), - taskTimeoutSecs: ow.optional.number.greaterThanOrEqual(0), - systemStatusOptions: ow.optional.object, - snapshotterOptions: ow.optional.object, - log: ow.optional.object, - maxTasksPerMinute: ow.optional.number.integerOrInfinite.greaterThanOrEqual(1), - })); + ow( + options, + ow.object.exactShape({ + runTaskFunction: ow.function, + isFinishedFunction: ow.function, + isTaskReadyFunction: ow.function, + maxConcurrency: ow.optional.number.integer.greaterThanOrEqual(1), + minConcurrency: ow.optional.number.integer.greaterThanOrEqual(1), + desiredConcurrency: ow.optional.number.integer.greaterThanOrEqual(1), + desiredConcurrencyRatio: ow.optional.number.greaterThan(0).lessThan(1), + scaleUpStepRatio: ow.optional.number.greaterThan(0).lessThan(1), + scaleDownStepRatio: ow.optional.number.greaterThan(0).lessThan(1), + maybeRunIntervalSecs: ow.optional.number.greaterThan(0), + loggingIntervalSecs: ow.any(ow.number.greaterThan(0), ow.nullOrUndefined), + autoscaleIntervalSecs: ow.optional.number.greaterThan(0), + taskTimeoutSecs: ow.optional.number.greaterThanOrEqual(0), + systemStatusOptions: ow.optional.object, + snapshotterOptions: ow.optional.object, + log: ow.optional.object, + maxTasksPerMinute: ow.optional.number.integerOrInfinite.greaterThanOrEqual(1), + }), + ); const { runTaskFunction, @@ -241,9 +244,9 @@ export class AutoscaledPool { maxConcurrency = 200, minConcurrency = 1, desiredConcurrency, - desiredConcurrencyRatio = 0.90, - scaleUpStepRatio = 0.05, - scaleDownStepRatio = 0.05, + desiredConcurrencyRatio = 0.9, + scaleUpStepRatio = 0.1, + scaleDownStepRatio = 0.1, maybeRunIntervalSecs = 0.5, loggingIntervalSecs = 60, taskTimeoutSecs = 0, @@ -421,8 +424,10 @@ export class AutoscaledPool { let timeout: NodeJS.Timeout; if (timeoutSecs) { timeout = setTimeout(() => { - const err = new Error('The pool\'s running tasks did not finish' - + `in ${timeoutSecs} secs after pool.pause() invocation.`); + const err = new Error( + "The pool's running tasks did not finish" + + `in ${timeoutSecs} secs after pool.pause() invocation.`, + ); reject(err); }, timeoutSecs); } diff --git a/packages/core/src/autoscaling/snapshotter.ts b/packages/core/src/autoscaling/snapshotter.ts index 13a47c613365..6d12ca65ebc0 100644 --- a/packages/core/src/autoscaling/snapshotter.ts +++ b/packages/core/src/autoscaling/snapshotter.ts @@ -67,10 +67,27 @@ export interface SnapshotterOptions { config?: Configuration; } -interface MemorySnapshot { createdAt: Date; isOverloaded: boolean; usedBytes?: number } -interface CpuSnapshot { createdAt: Date; isOverloaded: boolean; usedRatio: number; ticks?: { idle: number; total: number } } -interface EventLoopSnapshot { createdAt: Date; isOverloaded: boolean; exceededMillis: number } -interface ClientSnapshot { createdAt: Date; isOverloaded: boolean; rateLimitErrorCount: number } +interface MemorySnapshot { + createdAt: Date; + isOverloaded: boolean; + usedBytes?: number; +} +interface CpuSnapshot { + createdAt: Date; + isOverloaded: boolean; + usedRatio: number; + ticks?: { idle: number; total: number }; +} +interface EventLoopSnapshot { + createdAt: Date; + isOverloaded: boolean; + exceededMillis: number; +} +interface ClientSnapshot { + createdAt: Date; + isOverloaded: boolean; + rateLimitErrorCount: number; +} /** * Creates snapshots of system resources at given intervals and marks the resource @@ -124,24 +141,27 @@ export class Snapshotter { * @param [options] All `Snapshotter` configuration options. */ constructor(options: SnapshotterOptions = {}) { - ow(options, ow.object.exactShape({ - eventLoopSnapshotIntervalSecs: ow.optional.number, - clientSnapshotIntervalSecs: ow.optional.number, - snapshotHistorySecs: ow.optional.number, - maxBlockedMillis: ow.optional.number, - maxUsedMemoryRatio: ow.optional.number, - maxClientErrors: ow.optional.number, - log: ow.optional.object, - client: ow.optional.object, - config: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + eventLoopSnapshotIntervalSecs: ow.optional.number, + clientSnapshotIntervalSecs: ow.optional.number, + snapshotHistorySecs: ow.optional.number, + maxBlockedMillis: ow.optional.number, + maxUsedMemoryRatio: ow.optional.number, + maxClientErrors: ow.optional.number, + log: ow.optional.object, + client: ow.optional.object, + config: ow.optional.object, + }), + ); const { eventLoopSnapshotIntervalSecs = 0.5, clientSnapshotIntervalSecs = 1, snapshotHistorySecs = 30, maxBlockedMillis = 50, - maxUsedMemoryRatio = 0.7, + maxUsedMemoryRatio = 0.9, maxClientErrors = 3, log = defaultLog, config = Configuration.getGlobalConfig(), @@ -176,12 +196,17 @@ export class Snapshotter { } else { const { totalBytes } = await this._getMemoryInfo(); this.maxMemoryBytes = Math.ceil(totalBytes * this.config.get('availableMemoryRatio')!); - this.log.debug(`Setting max memory of this run to ${Math.round(this.maxMemoryBytes / 1024 / 1024)} MB. ` - + 'Use the CRAWLEE_MEMORY_MBYTES or CRAWLEE_AVAILABLE_MEMORY_RATIO environment variable to override it.'); + this.log.debug( + `Setting max memory of this run to ${Math.round(this.maxMemoryBytes / 1024 / 1024)} MB. ` + + 'Use the CRAWLEE_MEMORY_MBYTES or CRAWLEE_AVAILABLE_MEMORY_RATIO environment variable to override it.', + ); } // Start snapshotting. - this.eventLoopInterval = betterSetInterval(this._snapshotEventLoop.bind(this), this.eventLoopSnapshotIntervalMillis); + this.eventLoopInterval = betterSetInterval( + this._snapshotEventLoop.bind(this), + this.eventLoopSnapshotIntervalMillis, + ); this.clientInterval = betterSetInterval(this._snapshotClient.bind(this), this.clientSnapshotIntervalMillis); this.events.on(EventType.SYSTEM_INFO, this._snapshotCpu); this.events.on(EventType.SYSTEM_INFO, this._snapshotMemory); @@ -278,7 +303,11 @@ export class Snapshotter { protected _memoryOverloadWarning(systemInfo: SystemInfo) { const { memCurrentBytes } = systemInfo; const createdAt = systemInfo.createdAt ? new Date(systemInfo.createdAt) : new Date(); - if (this.lastLoggedCriticalMemoryOverloadAt && +createdAt < +this.lastLoggedCriticalMemoryOverloadAt + CRITICAL_OVERLOAD_RATE_LIMIT_MILLIS) return; + if ( + this.lastLoggedCriticalMemoryOverloadAt && + +createdAt < +this.lastLoggedCriticalMemoryOverloadAt + CRITICAL_OVERLOAD_RATE_LIMIT_MILLIS + ) + return; const maxDesiredMemoryBytes = this.maxUsedMemoryRatio * this.maxMemoryBytes!; const reserveMemory = this.maxMemoryBytes! * (1 - this.maxUsedMemoryRatio) * RESERVE_MEMORY_RATIO; @@ -287,9 +316,13 @@ export class Snapshotter { if (isCriticalOverload) { const usedPercentage = Math.round((memCurrentBytes! / this.maxMemoryBytes!) * 100); - const toMb = (bytes: number) => Math.round(bytes / (1024 ** 2)); - this.log.warning('Memory is critically overloaded. ' - + `Using ${toMb(memCurrentBytes!)} MB of ${toMb(this.maxMemoryBytes!)} MB (${usedPercentage}%). Consider increasing available memory.`); + const toMb = (bytes: number) => Math.round(bytes / 1024 ** 2); + this.log.warning( + 'Memory is critically overloaded. ' + + `Using ${toMb(memCurrentBytes!)} MB of ${toMb( + this.maxMemoryBytes!, + )} MB (${usedPercentage}%). Consider increasing available memory.`, + ); this.lastLoggedCriticalMemoryOverloadAt = createdAt; } } @@ -371,7 +404,10 @@ export class Snapshotter { * Removes snapshots that are older than the snapshotHistorySecs option * from the array (destructively - in place). */ - protected _pruneSnapshots(snapshots: MemorySnapshot[] | CpuSnapshot[] | EventLoopSnapshot[] | ClientSnapshot[], now: Date) { + protected _pruneSnapshots( + snapshots: MemorySnapshot[] | CpuSnapshot[] | EventLoopSnapshot[] | ClientSnapshot[], + now: Date, + ) { let oldCount = 0; for (let i = 0; i < snapshots.length; i++) { const { createdAt } = snapshots[i]; diff --git a/packages/core/src/autoscaling/system_status.ts b/packages/core/src/autoscaling/system_status.ts index a2a74d438b17..4f0a23f1f8c5 100644 --- a/packages/core/src/autoscaling/system_status.ts +++ b/packages/core/src/autoscaling/system_status.ts @@ -126,15 +126,18 @@ export class SystemStatus { private readonly snapshotter: Snapshotter; constructor(options: SystemStatusOptions = {}) { - ow(options, ow.object.exactShape({ - currentHistorySecs: ow.optional.number, - maxMemoryOverloadedRatio: ow.optional.number, - maxEventLoopOverloadedRatio: ow.optional.number, - maxCpuOverloadedRatio: ow.optional.number, - maxClientOverloadedRatio: ow.optional.number, - snapshotter: ow.optional.object, - config: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + currentHistorySecs: ow.optional.number, + maxMemoryOverloadedRatio: ow.optional.number, + maxEventLoopOverloadedRatio: ow.optional.number, + maxCpuOverloadedRatio: ow.optional.number, + maxClientOverloadedRatio: ow.optional.number, + snapshotter: ow.optional.object, + config: ow.optional.object, + }), + ); const { currentHistorySecs = 5, @@ -203,7 +206,11 @@ export class SystemStatus { const cpuInfo = this._isCpuOverloaded(sampleDurationMillis); const clientInfo = this._isClientOverloaded(sampleDurationMillis); return { - isSystemIdle: !memInfo.isOverloaded && !eventLoopInfo.isOverloaded && !cpuInfo.isOverloaded && !clientInfo.isOverloaded, + isSystemIdle: + !memInfo.isOverloaded && + !eventLoopInfo.isOverloaded && + !cpuInfo.isOverloaded && + !clientInfo.isOverloaded, memInfo, eventLoopInfo, cpuInfo, @@ -251,7 +258,10 @@ export class SystemStatus { * Returns an object with sample information and an isOverloaded property * set to true if at least the ratio of snapshots in the sample are overloaded. */ - protected _isSampleOverloaded(sample: T[], ratio: number): ClientInfo { + protected _isSampleOverloaded( + sample: T[], + ratio: number, + ): ClientInfo { if (sample.length === 0) { return { isOverloaded: false, diff --git a/packages/core/src/configuration.ts b/packages/core/src/configuration.ts index 8493cbd148de..92536418f087 100644 --- a/packages/core/src/configuration.ts +++ b/packages/core/src/configuration.ts @@ -264,7 +264,7 @@ export class Configuration { purgeOnStart: true, headless: true, persistStateIntervalMillis: 60_000, - systemInfoIntervalMillis: 60_000, + systemInfoIntervalMillis: 1_000, persistStorage: true, }; @@ -295,7 +295,9 @@ export class Configuration { const logLevel = this.get('logLevel'); if (logLevel) { - const level = Number.isFinite(+logLevel) ? +logLevel : LogLevel[String(logLevel).toUpperCase() as unknown as LogLevel]; + const level = Number.isFinite(+logLevel) + ? +logLevel + : LogLevel[String(logLevel).toUpperCase() as unknown as LogLevel]; log.setLevel(level as LogLevel); } } diff --git a/packages/core/src/cookie_utils.ts b/packages/core/src/cookie_utils.ts index 74c8b7afc0bc..d3396eddc47c 100644 --- a/packages/core/src/cookie_utils.ts +++ b/packages/core/src/cookie_utils.ts @@ -9,7 +9,9 @@ import { CookieParseError } from './session_pool/errors'; /** * @internal */ -export function getCookiesFromResponse(response: IncomingMessage | BrowserLikeResponse | { headers: Dictionary }): Cookie[] { +export function getCookiesFromResponse( + response: IncomingMessage | BrowserLikeResponse | { headers: Dictionary }, +): Cookie[] { const headers = typeof response.headers === 'function' ? response.headers() : response.headers; const cookieHeader = headers['set-cookie'] || ''; @@ -29,7 +31,7 @@ export function getCookiesFromResponse(response: IncomingMessage | BrowserLikeRe * @internal */ export function getDefaultCookieExpirationDate(maxAgeSecs: number) { - return new Date(Date.now() + (maxAgeSecs * 1000)); + return new Date(Date.now() + maxAgeSecs * 1000); } /** @@ -45,7 +47,7 @@ export function toughCookieToBrowserPoolCookie(toughCookie: Cookie): CookieObjec // Puppeteer and Playwright expect 'expires' to be 'Unix time in seconds', not ms // If there is no expires date (so defaults to Infinity), we don't provide it to the browsers expires: toughCookie.expires === 'Infinity' ? undefined : new Date(toughCookie.expires).getTime() / 1000, - domain: toughCookie.domain ?? undefined, + domain: toughCookie.domain ? `${toughCookie.hostOnly ? '' : '.'}${toughCookie.domain}` : undefined, path: toughCookie.path ?? undefined, secure: toughCookie.secure, httpOnly: toughCookie.httpOnly, @@ -59,11 +61,11 @@ export function toughCookieToBrowserPoolCookie(toughCookie: Cookie): CookieObjec */ export function browserPoolCookieToToughCookie(cookieObject: CookieObject, maxAgeSecs: number) { const isExpiresValid = cookieObject.expires && typeof cookieObject.expires === 'number' && cookieObject.expires > 0; - const expires = isExpiresValid ? new Date(cookieObject.expires! * 1000) : getDefaultCookieExpirationDate(maxAgeSecs); - const domain = typeof cookieObject.domain === 'string' && cookieObject.domain.startsWith('.') - ? cookieObject.domain.slice(1) - : cookieObject.domain; - + const expires = isExpiresValid + ? new Date(cookieObject.expires! * 1000) + : getDefaultCookieExpirationDate(maxAgeSecs); + const domainHasLeadingDot = cookieObject.domain?.startsWith?.('.'); + const domain = domainHasLeadingDot ? cookieObject.domain?.slice?.(1) : cookieObject.domain; return new Cookie({ key: cookieObject.name, value: cookieObject.value, @@ -72,6 +74,7 @@ export function browserPoolCookieToToughCookie(cookieObject: CookieObject, maxAg path: cookieObject.path, secure: cookieObject.secure, httpOnly: cookieObject.httpOnly, + hostOnly: !domainHasLeadingDot, }); } @@ -115,7 +118,9 @@ export function mergeCookies(url: string, sourceCookies: string[]): string { }); if (similarKeyCookie) { - log.deprecated(`Found cookies with similar name during cookie merging: '${cookie.key}' and '${similarKeyCookie.key}'`); + log.deprecated( + `Found cookies with similar name during cookie merging: '${cookie.key}' and '${similarKeyCookie.key}'`, + ); } jar.setCookieSync(cookie, url); diff --git a/packages/core/src/crawlers/crawler_commons.ts b/packages/core/src/crawlers/crawler_commons.ts index deec11441c3e..f6457e7aa78a 100644 --- a/packages/core/src/crawlers/crawler_commons.ts +++ b/packages/core/src/crawlers/crawler_commons.ts @@ -12,9 +12,10 @@ import type { Session } from '../session_pool/session'; import type { RequestQueueOperationOptions, Dataset, RecordOptions } from '../storages'; import { KeyValueStore } from '../storages'; -// we need `Record` here, otherwise `Omit` is resolved badly -// eslint-disable-next-line -export interface RestrictedCrawlingContext extends Record { +export interface RestrictedCrawlingContext + // we need `Record` here, otherwise `Omit` is resolved badly + // eslint-disable-next-line + extends Record { /** * The original {@apilink Request} object. */ @@ -74,7 +75,9 @@ export interface RestrictedCrawlingContext Promise>; + getKeyValueStore: ( + idOrName?: string, + ) => Promise>; /** * A preconfigured logger for the request handler. @@ -82,7 +85,8 @@ export interface RestrictedCrawlingContext extends RestrictedCrawlingContext { +export interface CrawlingContext + extends RestrictedCrawlingContext { id: string; session?: Session; @@ -120,7 +124,7 @@ export interface CrawlingContext> & Pick + options?: ReadonlyDeep> & Pick, ): Promise; /** @@ -154,12 +158,19 @@ export interface CrawlingContext> = {}; + private _keyValueStoreChanges: Record> = + {}; + private pushDataCalls: Parameters[] = []; + private addRequestsCalls: Parameters[] = []; + private enqueueLinksCalls: Parameters[] = []; - constructor(private config: Configuration, private crawleeStateKey: string) {} + constructor( + private config: Configuration, + private crawleeStateKey: string, + ) {} /** * A record of calls to {@apilink RestrictedCrawlingContext.pushData}, {@apilink RestrictedCrawlingContext.addRequests}, {@apilink RestrictedCrawlingContext.enqueueLinks} made by a request handler. @@ -169,13 +180,19 @@ export class RequestHandlerResult { addRequests: Parameters[]; enqueueLinks: Parameters[]; }> { - return { pushData: this.pushDataCalls, addRequests: this.addRequestsCalls, enqueueLinks: this.enqueueLinksCalls }; + return { + pushData: this.pushDataCalls, + addRequests: this.addRequestsCalls, + enqueueLinks: this.enqueueLinksCalls, + }; } /** * A record of changes made to key-value stores by a request handler. */ - get keyValueStoreChanges(): ReadonlyDeep>> { + get keyValueStoreChanges(): ReadonlyDeep< + Record> + > { return this._keyValueStoreChanges; } @@ -183,14 +200,16 @@ export class RequestHandlerResult { * Items added to datasets by a request handler. */ get datasetItems(): ReadonlyDeep<{ item: Dictionary; datasetIdOrName?: string }[]> { - return this.pushDataCalls.flatMap(([data, datasetIdOrName]) => (Array.isArray(data) ? data : [data]).map((item) => ({ item, datasetIdOrName }))); + return this.pushDataCalls.flatMap(([data, datasetIdOrName]) => + (Array.isArray(data) ? data : [data]).map((item) => ({ item, datasetIdOrName })), + ); } /** * URLs enqueued to the request queue by a request handler, either via {@apilink RestrictedCrawlingContext.addRequests} or {@apilink RestrictedCrawlingContext.enqueueLinks} */ get enqueuedUrls(): ReadonlyDeep<{ url: string; label?: string }[]> { - const result: {url: string; label? : string}[] = []; + const result: { url: string; label?: string }[] = []; for (const [options] of this.enqueueLinksCalls) { result.push(...(options?.urls?.map((url) => ({ url, label: options?.label })) ?? [])); @@ -198,7 +217,11 @@ export class RequestHandlerResult { for (const [requests] of this.addRequestsCalls) { for (const request of requests) { - if (typeof request === 'object' && (!('requestsFromUrl' in request) || request.requestsFromUrl !== undefined) && request.url !== undefined) { + if ( + typeof request === 'object' && + (!('requestsFromUrl' in request) || request.requestsFromUrl !== undefined) && + request.url !== undefined + ) { result.push({ url: request.url, label: request.label }); } else if (typeof request === 'string') { result.push({ url: request }); @@ -212,12 +235,16 @@ export class RequestHandlerResult { /** * URL lists enqueued to the request queue by a request handler via {@apilink RestrictedCrawlingContext.addRequests} using the `requestsFromUrl` option. */ - get enqueuedUrlLists(): ReadonlyDeep<{ listUrl: string; label? : string }[]> { - const result: {listUrl: string; label? : string}[] = []; + get enqueuedUrlLists(): ReadonlyDeep<{ listUrl: string; label?: string }[]> { + const result: { listUrl: string; label?: string }[] = []; for (const [requests] of this.addRequestsCalls) { for (const request of requests) { - if (typeof request === 'object' && 'requestsFromUrl' in request && request.requestsFromUrl !== undefined) { + if ( + typeof request === 'object' && + 'requestsFromUrl' in request && + request.requestsFromUrl !== undefined + ) { result.push({ listUrl: request.requestsFromUrl, label: request.label }); } } @@ -249,11 +276,11 @@ export class RequestHandlerResult { return { id: this.idOrDefault(idOrName), name: idOrName, - getValue: async (key) => this.getKeyValueStoreChangedValue(idOrName, key) ?? await store.getValue(key), + getValue: async (key) => this.getKeyValueStoreChangedValue(idOrName, key) ?? (await store.getValue(key)), getAutoSavedValue: async (key: string, defaultValue: T = {} as T) => { let value = this.getKeyValueStoreChangedValue(idOrName, key); if (value === null) { - value = await store.getValue(key) ?? defaultValue; + value = (await store.getValue(key)) ?? defaultValue; this.setKeyValueStoreChangedValue(idOrName, key, value); } @@ -273,7 +300,12 @@ export class RequestHandlerResult { return this.keyValueStoreChanges[id][key]?.changedValue ?? null; }; - private setKeyValueStoreChangedValue = (idOrName: string | undefined, key: string, changedValue: unknown, options?: RecordOptions) => { + private setKeyValueStoreChangedValue = ( + idOrName: string | undefined, + key: string, + changedValue: unknown, + options?: RecordOptions, + ) => { const id = this.idOrDefault(idOrName); this._keyValueStoreChanges[id] ??= {}; this._keyValueStoreChanges[id][key] = { changedValue, options }; diff --git a/packages/core/src/crawlers/error_snapshotter.ts b/packages/core/src/crawlers/error_snapshotter.ts new file mode 100644 index 000000000000..02194347e989 --- /dev/null +++ b/packages/core/src/crawlers/error_snapshotter.ts @@ -0,0 +1,160 @@ +import crypto from 'node:crypto'; + +import type { ErrnoException } from './error_tracker'; +import type { CrawlingContext } from '../crawlers/crawler_commons'; +import type { KeyValueStore } from '../storages'; + +// Define the following types as we cannot import the complete types from the respective packages +interface BrowserCrawlingContext { + saveSnapshot: (options: { key: string }) => Promise; +} + +interface BrowserPage { + content: () => Promise; +} + +export interface SnapshotResult { + screenshotFileName?: string; + htmlFileName?: string; +} + +interface ErrorSnapshot { + screenshotFileName?: string; + screenshotFileUrl?: string; + htmlFileName?: string; + htmlFileUrl?: string; +} + +/** + * ErrorSnapshotter class is used to capture a screenshot of the page and a snapshot of the HTML when an error occurs during web crawling. + * + * This functionality is opt-in, and can be enabled via the crawler options: + * + * ```ts + * const crawler = new BasicCrawler({ + * // ... + * statisticsOptions: { + * saveErrorSnapshots: true, + * }, + * }); + * ``` + */ +export class ErrorSnapshotter { + static readonly MAX_ERROR_CHARACTERS = 30; + static readonly MAX_HASH_LENGTH = 30; + static readonly MAX_FILENAME_LENGTH = 250; + static readonly BASE_MESSAGE = 'An error occurred'; + static readonly SNAPSHOT_PREFIX = 'ERROR_SNAPSHOT'; + + /** + * Capture a snapshot of the error context. + */ + async captureSnapshot(error: ErrnoException, context: CrawlingContext): Promise { + try { + const page = context?.page as BrowserPage | undefined; + const body = context?.body; + + const keyValueStore = await context?.getKeyValueStore(); + // If the key-value store is not available, or the body and page are not available, return empty filenames + if (!keyValueStore || (!body && !page)) { + return {}; + } + + const fileName = this.generateFilename(error); + + let screenshotFileName: string | undefined; + let htmlFileName: string | undefined; + + if (page) { + const capturedFiles = await this.contextCaptureSnapshot( + context as unknown as BrowserCrawlingContext, + fileName, + ); + + if (capturedFiles) { + screenshotFileName = capturedFiles.screenshotFileName; + htmlFileName = capturedFiles.htmlFileName; + } + + // If the snapshot for browsers failed to capture the HTML, try to capture it from the page content + if (!htmlFileName) { + const html = await page.content(); + htmlFileName = html ? await this.saveHTMLSnapshot(html, keyValueStore, fileName) : undefined; + } + } else if (typeof body === 'string') { + // for non-browser contexts + htmlFileName = await this.saveHTMLSnapshot(body, keyValueStore, fileName); + } + + return { + screenshotFileName, + screenshotFileUrl: screenshotFileName && keyValueStore.getPublicUrl(screenshotFileName), + htmlFileName, + htmlFileUrl: htmlFileName && keyValueStore.getPublicUrl(htmlFileName), + }; + } catch { + return {}; + } + } + + /** + * Captures a snapshot of the current page using the context.saveSnapshot function. + * This function is applicable for browser contexts only. + * Returns an object containing the filenames of the screenshot and HTML file. + */ + async contextCaptureSnapshot( + context: BrowserCrawlingContext, + fileName: string, + ): Promise { + try { + await context.saveSnapshot({ key: fileName }); + return { + screenshotFileName: `${fileName}.jpg`, + htmlFileName: `${fileName}.html`, + }; + } catch { + return undefined; + } + } + + /** + * Save the HTML snapshot of the page, and return the fileName with the extension. + */ + async saveHTMLSnapshot(html: string, keyValueStore: KeyValueStore, fileName: string): Promise { + try { + await keyValueStore.setValue(fileName, html, { contentType: 'text/html' }); + return `${fileName}.html`; + } catch { + return undefined; + } + } + + /** + * Generate a unique fileName for each error snapshot. + */ + generateFilename(error: ErrnoException): string { + const { SNAPSHOT_PREFIX, BASE_MESSAGE, MAX_HASH_LENGTH, MAX_ERROR_CHARACTERS, MAX_FILENAME_LENGTH } = + ErrorSnapshotter; + // Create a hash of the error stack trace + const errorStackHash = crypto + .createHash('sha1') + .update(error.stack || error.message || '') + .digest('hex') + .slice(0, MAX_HASH_LENGTH); + const errorMessagePrefix = (error.message || BASE_MESSAGE).slice(0, MAX_ERROR_CHARACTERS).trim(); + + /** + * Remove non-word characters from the start and end of a string. + */ + const sanitizeString = (str: string): string => { + return str.replace(/^\W+|\W+$/g, ''); + }; + + // Generate fileName and remove disallowed characters + const fileName = `${SNAPSHOT_PREFIX}_${sanitizeString(errorStackHash)}_${sanitizeString(errorMessagePrefix)}` + .replace(/\W+/g, '-') // Replace non-word characters with a dash + .slice(0, MAX_FILENAME_LENGTH); + + return fileName; + } +} diff --git a/packages/utils/src/internals/error_tracker.ts b/packages/core/src/crawlers/error_tracker.ts similarity index 79% rename from packages/utils/src/internals/error_tracker.ts rename to packages/core/src/crawlers/error_tracker.ts index 259a4c33b5bd..444abfe52883 100644 --- a/packages/utils/src/internals/error_tracker.ts +++ b/packages/core/src/crawlers/error_tracker.ts @@ -1,13 +1,16 @@ import { inspect } from 'node:util'; +import { ErrorSnapshotter } from './error_snapshotter'; +import type { CrawlingContext } from '../crawlers/crawler_commons'; + /** * Node.js Error interface */ - interface ErrnoException extends Error { - errno?: number | undefined; - code?: string | number | undefined; - path?: string | undefined; - syscall?: string | undefined; +export interface ErrnoException extends Error { + errno?: number; + code?: string | number; + path?: string; + syscall?: string; cause?: any; } @@ -18,6 +21,7 @@ export interface ErrorTrackerOptions { showFullStack: boolean; showErrorMessage: boolean; showFullMessage: boolean; + saveErrorSnapshots: boolean; } const extractPathFromStackTraceLine = (line: string) => { @@ -39,11 +43,7 @@ const getPathFromStackTrace = (stack: string[]) => { for (const line of stack) { const path = extractPathFromStackTraceLine(line); - if ( - path.startsWith('node:') - || path.includes('/node_modules/') - || path.includes('\\node_modules\\') - ) { + if (path.startsWith('node:') || path.includes('/node_modules/') || path.includes('\\node_modules\\')) { continue; } @@ -69,7 +69,12 @@ const getStackTraceGroup = (error: ErrnoException, storage: Record x.trim()).join('\n') : getPathFromStackTrace(stack!.slice(sliceAt)); + normalizedStackTrace = showFullStack + ? stack! + .slice(sliceAt) + .map((x) => x.trim()) + .join('\n') + : getPathFromStackTrace(stack!.slice(sliceAt)); } if (!normalizedStackTrace) { @@ -184,7 +189,7 @@ const normalizedCalculatePlaceholder = (a: string[], b: string[]) => { const output = calculatePlaceholder(a, b); // We can't be too general - if ((arrayCount(output, '_') / output.length) >= 0.5) { + if (arrayCount(output, '_') / output.length >= 0.5) { return ['_']; } @@ -193,10 +198,7 @@ const normalizedCalculatePlaceholder = (a: string[], b: string[]) => { // Merge A (missing placeholders) into B (can contain placeholders but does not have to) const mergeMessages = (a: string, b: string, storage: Record) => { - const placeholder = normalizedCalculatePlaceholder( - a.split(' '), - b.split(' '), - ).join(' '); + const placeholder = normalizedCalculatePlaceholder(a.split(' '), b.split(' ')).join(' '); if (placeholder === '_') { return undefined; @@ -223,9 +225,14 @@ const getErrorMessageGroup = (error: ErrnoException, storage: Record = {}) { this.#options = { showErrorCode: true, @@ -291,16 +300,19 @@ export class ErrorTracker { showFullStack: false, showErrorMessage: true, showFullMessage: false, + saveErrorSnapshots: false, ...options, }; + if (this.#options.saveErrorSnapshots) { + this.errorSnapshotter = new ErrorSnapshotter(); + } + this.result = Object.create(null); this.total = 0; } - add(error: ErrnoException) { - this.total++; - + private updateGroup(error: ErrnoException) { let group = this.result; if (this.#options.showStackTrace) { @@ -321,11 +333,38 @@ export class ErrorTracker { increaseCount(group as { count: number }); + return group; + } + + add(error: ErrnoException) { + this.total++; + + this.updateGroup(error); + if (typeof error.cause === 'object' && error.cause !== null) { this.add(error.cause); } } + /** + * This method is async, because it captures a snapshot of the error context. + * We added this new method to avoid breaking changes. + */ + async addAsync(error: ErrnoException, context?: CrawlingContext) { + this.total++; + + const group = this.updateGroup(error); + + // Capture a snapshot (screenshot and HTML) on the first occurrence of an error + if (group.count === 1 && context) { + await this.captureSnapshot(group, error, context).catch(() => {}); + } + + if (typeof error.cause === 'object' && error.cause !== null) { + await this.addAsync(error.cause); + } + } + getUniqueErrorCount() { let count = 0; @@ -366,6 +405,17 @@ export class ErrorTracker { return result.sort((a, b) => b[0] - a[0]).slice(0, count); } + async captureSnapshot(storage: Record, error: ErrnoException, context: CrawlingContext) { + if (!this.errorSnapshotter) { + return; + } + + const { screenshotFileUrl, htmlFileUrl } = await this.errorSnapshotter.captureSnapshot(error, context); + + storage.firstErrorScreenshotUrl = screenshotFileUrl; + storage.firstErrorHtmlUrl = htmlFileUrl; + } + reset() { // This actually safe, since we Object.create(null) so no prototype pollution can happen. // eslint-disable-next-line no-restricted-syntax, guard-for-in diff --git a/packages/core/src/crawlers/index.ts b/packages/core/src/crawlers/index.ts index 8f206d4e6043..77a83511e413 100644 --- a/packages/core/src/crawlers/index.ts +++ b/packages/core/src/crawlers/index.ts @@ -2,3 +2,5 @@ export * from './crawler_commons'; export * from './crawler_extension'; export * from './crawler_utils'; export * from './statistics'; +export * from './error_tracker'; +export * from './error_snapshotter'; diff --git a/packages/core/src/crawlers/statistics.ts b/packages/core/src/crawlers/statistics.ts index 345b2859dc12..278def9f7945 100644 --- a/packages/core/src/crawlers/statistics.ts +++ b/packages/core/src/crawlers/statistics.ts @@ -1,6 +1,6 @@ -import { ErrorTracker } from '@crawlee/utils'; import ow from 'ow'; +import { ErrorTracker } from './error_tracker'; import { Configuration } from '../configuration'; import type { EventManager } from '../events/event_manager'; import { EventType } from '../events/event_manager'; @@ -66,12 +66,12 @@ export class Statistics { /** * An error tracker for final retry errors. */ - errorTracker = new ErrorTracker(errorTrackerConfig); + errorTracker: ErrorTracker; /** * An error tracker for retry errors prior to the final retry. */ - errorTrackerRetry = new ErrorTracker(errorTrackerConfig); + errorTrackerRetry: ErrorTracker; /** * Statistic instance id. @@ -109,13 +109,17 @@ export class Statistics { * @internal */ constructor(options: StatisticsOptions = {}) { - ow(options, ow.object.exactShape({ - logIntervalSecs: ow.optional.number, - logMessage: ow.optional.string, - keyValueStore: ow.optional.object, - config: ow.optional.object, - persistenceOptions: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + logIntervalSecs: ow.optional.number, + logMessage: ow.optional.string, + keyValueStore: ow.optional.object, + config: ow.optional.object, + persistenceOptions: ow.optional.object, + saveErrorSnapshots: ow.optional.boolean, + }), + ); const { logIntervalSecs = 60, @@ -125,8 +129,11 @@ export class Statistics { persistenceOptions = { enable: true, }, + saveErrorSnapshots = false, } = options; + this.errorTracker = new ErrorTracker({ ...errorTrackerConfig, saveErrorSnapshots }); + this.errorTrackerRetry = new ErrorTracker({ ...errorTrackerConfig, saveErrorSnapshots }); this.logIntervalMillis = logIntervalSecs * 1000; this.logMessage = logMessage; this.keyValueStore = keyValueStore; @@ -222,8 +229,10 @@ export class Statistics { this.state.requestsFinished++; this.state.requestTotalFinishedDurationMillis += jobDurationMillis; this._saveRetryCountForJob(job); - if (jobDurationMillis < this.state.requestMinDurationMillis) this.state.requestMinDurationMillis = jobDurationMillis; - if (jobDurationMillis > this.state.requestMaxDurationMillis) this.state.requestMaxDurationMillis = jobDurationMillis; + if (jobDurationMillis < this.state.requestMinDurationMillis) + this.state.requestMinDurationMillis = jobDurationMillis; + if (jobDurationMillis > this.state.requestMaxDurationMillis) + this.state.requestMaxDurationMillis = jobDurationMillis; this.requestsInProgress.delete(id); } @@ -255,7 +264,8 @@ export class Statistics { return { requestAvgFailedDurationMillis: Math.round(requestTotalFailedDurationMillis / requestsFailed) || Infinity, - requestAvgFinishedDurationMillis: Math.round(requestTotalFinishedDurationMillis / requestsFinished) || Infinity, + requestAvgFinishedDurationMillis: + Math.round(requestTotalFinishedDurationMillis / requestsFinished) || Infinity, requestsFinishedPerMinute: Math.round(requestsFinished / totalMinutes) || 0, requestsFailedPerMinute: Math.floor(requestsFailed / totalMinutes) || 0, requestTotalDurationMillis: requestTotalFinishedDurationMillis + requestTotalFailedDurationMillis, @@ -392,7 +402,9 @@ export class Statistics { const result = { ...this.state, crawlerLastStartTimestamp: this.instanceStart, - crawlerFinishedAt: this.state.crawlerFinishedAt ? new Date(this.state.crawlerFinishedAt).toISOString() : null, + crawlerFinishedAt: this.state.crawlerFinishedAt + ? new Date(this.state.crawlerFinishedAt).toISOString() + : null, crawlerStartedAt: this.state.crawlerStartedAt ? new Date(this.state.crawlerStartedAt).toISOString() : null, requestRetryHistogram: this.requestRetryHistogram, statsId: this.id, @@ -444,6 +456,12 @@ export interface StatisticsOptions { * Control how and when to persist the statistics. */ persistenceOptions?: PersistenceOptions; + + /** + * Save HTML snapshot (and a screenshot if possible) when an error occurs. + * @default false + */ + saveErrorSnapshots?: boolean; } /** @@ -454,11 +472,8 @@ export interface StatisticPersistedState extends Omit): Promise { +export async function enqueueLinks( + options: SetRequired, +): Promise { if (!options || Object.keys(options).length === 0) { - throw new RangeError([ - // eslint-disable-next-line max-len - 'enqueueLinks() was called without the required options. You can only do that when you use the `crawlingContext.enqueueLinks()` method in request handlers.', - 'Check out our guide on how to use enqueueLinks() here: https://crawlee.dev/docs/examples/crawl-relative-links', - ].join('\n')); + throw new RangeError( + [ + 'enqueueLinks() was called without the required options. You can only do that when you use the `crawlingContext.enqueueLinks()` method in request handlers.', + 'Check out our guide on how to use enqueueLinks() here: https://crawlee.dev/docs/examples/crawl-relative-links', + ].join('\n'), + ); } - ow(options, ow.object.exactShape({ - urls: ow.array.ofType(ow.string), - requestQueue: ow.object.hasKeys('fetchNextRequest', 'addRequest'), - forefront: ow.optional.boolean, - skipNavigation: ow.optional.boolean, - limit: ow.optional.number, - selector: ow.optional.string, - baseUrl: ow.optional.string, - userData: ow.optional.object, - label: ow.optional.string, - pseudoUrls: ow.optional.array.ofType(ow.any( - ow.string, - ow.object.hasKeys('purl'), - )), - globs: ow.optional.array.ofType(ow.any( - ow.string, - ow.object.hasKeys('glob'), - )), - exclude: ow.optional.array.ofType(ow.any( - ow.string, - ow.regExp, - ow.object.hasKeys('glob'), - ow.object.hasKeys('regexp'), - )), - regexps: ow.optional.array.ofType(ow.any( - ow.regExp, - ow.object.hasKeys('regexp'), - )), - transformRequestFunction: ow.optional.function, - strategy: ow.optional.string.oneOf(Object.values(EnqueueStrategy)), - })); - - const { - requestQueue, - limit, - urls, - pseudoUrls, - exclude, - globs, - regexps, - transformRequestFunction, - forefront, - } = options; + ow( + options, + ow.object.exactShape({ + urls: ow.array.ofType(ow.string), + requestQueue: ow.object.hasKeys('fetchNextRequest', 'addRequest'), + forefront: ow.optional.boolean, + skipNavigation: ow.optional.boolean, + limit: ow.optional.number, + selector: ow.optional.string, + baseUrl: ow.optional.string, + userData: ow.optional.object, + label: ow.optional.string, + pseudoUrls: ow.optional.array.ofType(ow.any(ow.string, ow.object.hasKeys('purl'))), + globs: ow.optional.array.ofType(ow.any(ow.string, ow.object.hasKeys('glob'))), + exclude: ow.optional.array.ofType( + ow.any(ow.string, ow.regExp, ow.object.hasKeys('glob'), ow.object.hasKeys('regexp')), + ), + regexps: ow.optional.array.ofType(ow.any(ow.regExp, ow.object.hasKeys('regexp'))), + transformRequestFunction: ow.optional.function, + strategy: ow.optional.string.oneOf(Object.values(EnqueueStrategy)), + }), + ); + + const { requestQueue, limit, urls, pseudoUrls, exclude, globs, regexps, transformRequestFunction, forefront } = + options; const urlExcludePatternObjects: UrlPatternObject[] = []; const urlPatternObjects: UrlPatternObject[] = []; @@ -353,6 +338,7 @@ export async function enqueueLinks(options: SetRequired transformRequestFunction(request)).filter((r) => !!r) as RequestOptions[]; + requestOptions = requestOptions + .map((request) => transformRequestFunction(request)) + .filter((r) => !!r) as RequestOptions[]; } function createFilteredRequests() { @@ -370,7 +358,12 @@ export async function enqueueLinks(options: SetRequired; -export type PseudoUrlObject = { purl: string } & Pick; +export type PseudoUrlObject = { purl: string } & Pick< + RequestOptions, + 'method' | 'payload' | 'label' | 'userData' | 'headers' +>; export type PseudoUrlInput = string | PseudoUrlObject; -export type GlobObject = { glob: string } & Pick; +export type GlobObject = { glob: string } & Pick< + RequestOptions, + 'method' | 'payload' | 'label' | 'userData' | 'headers' +>; export type GlobInput = string | GlobObject; -export type RegExpObject = { regexp: RegExp } & Pick; +export type RegExpObject = { regexp: RegExp } & Pick< + RequestOptions, + 'method' | 'payload' | 'label' | 'userData' | 'headers' +>; export type RegExpInput = RegExp | RegExpObject; /** * @ignore */ -export function updateEnqueueLinksPatternCache(item: GlobInput | RegExpInput | PseudoUrlInput, pattern: RegExpObject | GlobObject): void { +export function updateEnqueueLinksPatternCache( + item: GlobInput | RegExpInput | PseudoUrlInput, + pattern: RegExpObject | GlobObject, +): void { enqueueLinksPatternCache.set(item, pattern); if (enqueueLinksPatternCache.size > MAX_ENQUEUE_LINKS_CACHE_SIZE) { const key = enqueueLinksPatternCache.keys().next().value; @@ -95,7 +107,7 @@ export function constructGlobObjectsFromGlobs(globs: Readonly): Glo return false; }) .map((item) => { - // Get glob object from cache. + // Get glob object from cache. let globObject = enqueueLinksPatternCache.get(item); if (globObject) return globObject; @@ -117,7 +129,8 @@ export function constructGlobObjectsFromGlobs(globs: Readonly): Glo */ export function validateGlobPattern(glob: string): string { const globTrimmed = glob.trim(); - if (globTrimmed.length === 0) throw new Error(`Cannot parse Glob pattern '${globTrimmed}': it must be an non-empty string`); + if (globTrimmed.length === 0) + throw new Error(`Cannot parse Glob pattern '${globTrimmed}': it must be an non-empty string`); return globTrimmed; } @@ -158,10 +171,7 @@ export function createRequests( .filter(({ url }) => { return !excludePatternObjects.some((excludePatternObject) => { const { regexp, glob } = excludePatternObject; - return ( - (regexp && url.match(regexp)) || // eslint-disable-line - (glob && minimatch(url, glob, { nocase: true })) - ); + return (regexp && url.match(regexp)) || (glob && minimatch(url, glob, { nocase: true })); }); }) .map(({ url, opts }) => { @@ -171,13 +181,11 @@ export function createRequests( for (const urlPatternObject of urlPatternObjects) { const { regexp, glob, ...requestRegExpOptions } = urlPatternObject; - if ( - (regexp && url.match(regexp)) || // eslint-disable-line - (glob && minimatch(url, glob, { nocase: true })) - ) { - const request = typeof opts === 'string' - ? { url: opts, ...requestRegExpOptions, enqueueStrategy: strategy } - : { ...opts, ...requestRegExpOptions, enqueueStrategy: strategy }; + if ((regexp && url.match(regexp)) || (glob && minimatch(url, glob, { nocase: true }))) { + const request = + typeof opts === 'string' + ? { url: opts, ...requestRegExpOptions, enqueueStrategy: strategy } + : { ...opts, ...requestRegExpOptions, enqueueStrategy: strategy }; return new Request(request); } @@ -200,10 +208,7 @@ export function filterRequestsByPatterns(requests: Request[], patterns?: UrlPatt for (const urlPatternObject of patterns) { const { regexp, glob } = urlPatternObject; - if ( - (regexp && request.url.match(regexp)) || // eslint-disable-line - (glob && minimatch(request.url, glob, { nocase: true })) - ) { + if ((regexp && request.url.match(regexp)) || (glob && minimatch(request.url, glob, { nocase: true }))) { filtered.push(request); // Break the pattern loop, as we already matched this request once break; @@ -222,10 +227,10 @@ export function createRequestOptions( options: Pick = {}, ): RequestOptions[] { return sources - .map( - (src) => ( - typeof src === 'string' ? { url: src, enqueueStrategy: options.strategy } : { ...src, enqueueStrategy: options.strategy } as RequestOptions - ), + .map((src) => + typeof src === 'string' + ? { url: src, enqueueStrategy: options.strategy } + : ({ ...src, enqueueStrategy: options.strategy } as RequestOptions), ) .filter(({ url }) => { try { diff --git a/packages/core/src/events/local_event_manager.ts b/packages/core/src/events/local_event_manager.ts index a131d8abe8a6..da7b5ed0233f 100644 --- a/packages/core/src/events/local_event_manager.ts +++ b/packages/core/src/events/local_event_manager.ts @@ -51,13 +51,16 @@ export class LocalEventManager extends EventManager { private getCurrentCpuTicks() { const cpus = os.cpus(); - return cpus.reduce((acc, cpu) => { - const cpuTimes = Object.values(cpu.times); - return { - idle: acc.idle + cpu.times.idle, - total: acc.total + cpuTimes.reduce((sum, num) => sum + num), - }; - }, { idle: 0, total: 0 }); + return cpus.reduce( + (acc, cpu) => { + const cpuTimes = Object.values(cpu.times); + return { + idle: acc.idle + cpu.times.idle, + total: acc.total + cpuTimes.reduce((sum, num) => sum + num), + }; + }, + { idle: 0, total: 0 }, + ); } /** @@ -67,7 +70,7 @@ export class LocalEventManager extends EventManager { return { createdAt: new Date(), ...this.createCpuInfo(options), - ...await this.createMemoryInfo(), + ...(await this.createMemoryInfo()), } as SystemInfo; } @@ -75,7 +78,7 @@ export class LocalEventManager extends EventManager { const ticks = this.getCurrentCpuTicks(); const idleTicksDelta = ticks.idle - this.previousTicks!.idle; const totalTicksDelta = ticks.total - this.previousTicks!.total; - const usedCpuRatio = totalTicksDelta ? 1 - (idleTicksDelta / totalTicksDelta) : 0; + const usedCpuRatio = totalTicksDelta ? 1 - idleTicksDelta / totalTicksDelta : 0; Object.assign(this.previousTicks, ticks); return { diff --git a/packages/core/src/log.ts b/packages/core/src/log.ts index 2ea4ea794815..d06336beaeef 100644 --- a/packages/core/src/log.ts +++ b/packages/core/src/log.ts @@ -1,11 +1,3 @@ import log, { Log, LoggerOptions, LogLevel, Logger, LoggerJson, LoggerText } from '@apify/log'; -export { - log, - Log, - LoggerOptions, - LogLevel, - Logger, - LoggerJson, - LoggerText, -}; +export { log, Log, LoggerOptions, LogLevel, Logger, LoggerJson, LoggerText }; diff --git a/packages/core/src/proxy_configuration.ts b/packages/core/src/proxy_configuration.ts index a619afbd6c34..435f1ca76e69 100644 --- a/packages/core/src/proxy_configuration.ts +++ b/packages/core/src/proxy_configuration.ts @@ -142,9 +142,7 @@ class ProxyTierTracker { if (this.histogram[this.currentTier] > Math.min(left, right)) { this.currentTier = left <= right ? this.currentTier - 1 : this.currentTier + 1; - } - - if (this.histogram[this.currentTier] === left) { + } else if (this.histogram[this.currentTier] === left) { this.currentTier--; } } @@ -229,15 +227,19 @@ export class ProxyConfiguration { */ constructor(options: ProxyConfigurationOptions = {}) { const { validateRequired, ...rest } = options as Dictionary; - ow(rest, ow.object.exactShape({ - proxyUrls: ow.optional.array.nonEmpty.ofType(ow.string.url), - newUrlFunction: ow.optional.function, - tieredProxyUrls: ow.optional.array.nonEmpty.ofType(ow.array.nonEmpty.ofType(ow.string.url)), - })); + ow( + rest, + ow.object.exactShape({ + proxyUrls: ow.optional.array.nonEmpty.ofType(ow.string.url), + newUrlFunction: ow.optional.function, + tieredProxyUrls: ow.optional.array.nonEmpty.ofType(ow.array.nonEmpty.ofType(ow.string.url)), + }), + ); const { proxyUrls, newUrlFunction, tieredProxyUrls } = options; - if ([proxyUrls, newUrlFunction, tieredProxyUrls].filter((x) => x).length > 1) this._throwCannotCombineCustomMethods(); + if ([proxyUrls, newUrlFunction, tieredProxyUrls].filter((x) => x).length > 1) + this._throwCannotCombineCustomMethods(); if (!proxyUrls && !newUrlFunction && validateRequired) this._throwNoOptionsProvided(); this.proxyUrls = proxyUrls; @@ -366,14 +368,11 @@ export class ProxyConfiguration { if (typeof sessionId === 'number') sessionId = `${sessionId}`; if (this.newUrlFunction) { - return (await this._callNewUrlFunction(sessionId, { request: options?.request }) ?? undefined); + return (await this._callNewUrlFunction(sessionId, { request: options?.request })) ?? undefined; } if (this.tieredProxyUrls) { - return this._handleTieredUrl( - sessionId ?? cryptoRandomObjectId(6), - options, - ).proxyUrl; + return this._handleTieredUrl(sessionId ?? cryptoRandomObjectId(6), options).proxyUrl; } return this._handleCustomUrl(sessionId); @@ -414,15 +413,17 @@ export class ProxyConfiguration { } } - protected _throwNewUrlFunctionInvalid(err: Error) : never { + protected _throwNewUrlFunctionInvalid(err: Error): never { throw new Error(`The provided newUrlFunction did not return a valid URL.\nCause: ${err.message}`); } - protected _throwCannotCombineCustomMethods() : never { - throw new Error('Cannot combine custom proxies "options.proxyUrls" with custom generating function "options.newUrlFunction".'); + protected _throwCannotCombineCustomMethods(): never { + throw new Error( + 'Cannot combine custom proxies "options.proxyUrls" with custom generating function "options.newUrlFunction".', + ); } - protected _throwNoOptionsProvided() : never { + protected _throwNoOptionsProvided(): never { throw new Error('One of "options.proxyUrls" or "options.newUrlFunction" needs to be provided.'); } } diff --git a/packages/core/src/request.ts b/packages/core/src/request.ts index 6718c6baea29..7574d264a2ab 100644 --- a/packages/core/src/request.ts +++ b/packages/core/src/request.ts @@ -182,9 +182,7 @@ export class Request { handledAt?: string | Date; }; - let { - method = 'GET', - } = options; + let { method = 'GET' } = options; method = method.toUpperCase() as AllowedHttpMethods; @@ -193,7 +191,8 @@ export class Request { this.id = id; this.url = url; this.loadedUrl = loadedUrl; - this.uniqueKey = uniqueKey || this._computeUniqueKey({ url, method, payload, keepUrlFragment, useExtendedUniqueKey }); + this.uniqueKey = + uniqueKey || Request.computeUniqueKey({ url, method, payload, keepUrlFragment, useExtendedUniqueKey }); this.method = method; this.payload = payload; this.noRetry = noRetry; @@ -201,7 +200,7 @@ export class Request { this.sessionRotationCount = sessionRotationCount; this.errorMessages = [...errorMessages]; this.headers = { ...headers }; - this.handledAt = handledAt as unknown instanceof Date ? (handledAt as Date).toISOString() : handledAt!; + this.handledAt = (handledAt as unknown) instanceof Date ? (handledAt as Date).toISOString() : handledAt!; if (label) { userData.label = label; @@ -225,10 +224,10 @@ export class Request { toJSON: { value: () => { if (Object.keys(this._userData.__crawlee).length > 0) { - return ({ + return { ...this._userData, __crawlee: this._userData.__crawlee, - }); + }; } return this._userData; @@ -356,8 +355,8 @@ export class Request { } else if (errorOrMessage instanceof Error) { message = omitStack ? errorOrMessage.message - // .stack includes the message - : errorOrMessage.stack; + : // .stack includes the message + errorOrMessage.stack; } else if (Reflect.has(Object(errorOrMessage), 'message')) { message = Reflect.get(Object(errorOrMessage), 'message'); } else if ((errorOrMessage as string).toString() !== '[object Object]') { @@ -378,29 +377,44 @@ export class Request { this.errorMessages.push(message); } - protected _computeUniqueKey({ url, method, payload, keepUrlFragment, useExtendedUniqueKey }: ComputeUniqueKeyOptions) { + // TODO: only for better BC, remove in v4 + protected _computeUniqueKey(options: ComputeUniqueKeyOptions) { + return Request.computeUniqueKey(options); + } + + // TODO: only for better BC, remove in v4 + protected _hashPayload(payload: BinaryLike): string { + return Request.hashPayload(payload); + } + + /** @internal */ + static computeUniqueKey({ + url, + method = 'GET', + payload, + keepUrlFragment = false, + useExtendedUniqueKey = false, + }: ComputeUniqueKeyOptions) { const normalizedMethod = method.toUpperCase(); const normalizedUrl = normalizeUrl(url, keepUrlFragment) || url; // It returns null when url is invalid, causing weird errors. if (!useExtendedUniqueKey) { if (normalizedMethod !== 'GET' && payload) { // Using log.deprecated to log only once. We should add log.once or some such. - log.deprecated(`We've encountered a ${normalizedMethod} Request with a payload. ` - + 'This is fine. Just letting you know that if your requests point to the same URL ' - + 'and differ only in method and payload, you should see the "useExtendedUniqueKey" option of Request constructor.'); + log.deprecated( + `We've encountered a ${normalizedMethod} Request with a payload. ` + + 'This is fine. Just letting you know that if your requests point to the same URL ' + + 'and differ only in method and payload, you should see the "useExtendedUniqueKey" option of Request constructor.', + ); } return normalizedUrl; } - const payloadHash = payload ? this._hashPayload(payload) : ''; + const payloadHash = payload ? Request.hashPayload(payload) : ''; return `${normalizedMethod}(${payloadHash}):${normalizedUrl}`; } - protected _hashPayload(payload: BinaryLike): string { - return crypto - .createHash('sha256') - .update(payload) - .digest('base64') - .replace(/[+/=]/g, '') - .substring(0, 8); + /** @internal */ + static hashPayload(payload: BinaryLike): string { + return crypto.createHash('sha256').update(payload).digest('base64').replace(/[+/=]/g, '').substring(0, 8); } } @@ -408,7 +422,6 @@ export class Request { * Specifies required and optional fields for constructing a {@apilink Request}. */ export interface RequestOptions { - /** URL of the web page to crawl. It must be a non-empty string. */ url: string; diff --git a/packages/core/src/router.ts b/packages/core/src/router.ts index 4abc05dc1b6f..27f92557b0f7 100644 --- a/packages/core/src/router.ts +++ b/packages/core/src/router.ts @@ -7,7 +7,8 @@ import type { Awaitable } from './typedefs'; const defaultRoute = Symbol('default-route'); -export interface RouterHandler = CrawlingContext> extends Router { +export interface RouterHandler = CrawlingContext> + extends Router { (ctx: Context): Awaitable; } @@ -15,7 +16,7 @@ export type GetUserDataFromRequest = T extends Request ? Y : never; export type RouterRoutes = { [label in string | symbol]: (ctx: Omit & { request: Request }) => Awaitable; -} +}; /** * Simple router that works based on request labels. This instance can then serve as a `requestHandler` of your crawler. @@ -134,9 +135,9 @@ export class Router extends Readable { private offset = 0; private readonly batchSize: number; - constructor(private data: T[], options: { batchSize?: number } = {}) { + constructor( + private data: T[], + options: { batchSize?: number } = {}, + ) { super({ ...options, autoDestroy: true, @@ -62,11 +65,7 @@ class ArrayToJson extends Readable { export async function serializeArray(data: T[]): Promise { ow(data, ow.array); const { chunks, collector } = createChunkCollector(); - await pipeline( - new ArrayToJson(data), - zlib.createGzip(), - collector, - ); + await pipeline(new ArrayToJson(data), zlib.createGzip(), collector); return Buffer.concat(chunks as Buffer[]); } @@ -83,12 +82,7 @@ export async function serializeArray(data: T[]): Promise { export async function deserializeArray(compressedData: Buffer): Promise { ow(compressedData, ow.buffer); const { chunks, collector } = createChunkCollector({ fromValuesStream: true }); - await pipeline( - Readable.from([compressedData]), - zlib.createGunzip(), - StreamArray.withParser(), - collector, - ); + await pipeline(Readable.from([compressedData]), zlib.createGunzip(), StreamArray.withParser(), collector); return chunks as T[]; } @@ -118,7 +112,9 @@ export function createDeserialize(compressedData: Buffer): Readable { return destination; } -function createChunkCollector(options: { fromValuesStream?: boolean } = {}): { chunks: T[]; collector: Writable } { +function createChunkCollector( + options: { fromValuesStream?: boolean } = {}, +): { chunks: T[]; collector: Writable } { const { fromValuesStream = false } = options; const chunks: T[] = []; const collector = new Writable({ diff --git a/packages/core/src/session_pool/session.ts b/packages/core/src/session_pool/session.ts index e242d0269ea6..e0226814c296 100644 --- a/packages/core/src/session_pool/session.ts +++ b/packages/core/src/session_pool/session.ts @@ -9,7 +9,12 @@ import type { Cookie } from 'tough-cookie'; import { CookieJar } from 'tough-cookie'; import { EVENT_SESSION_RETIRED } from './events'; -import { browserPoolCookieToToughCookie, getCookiesFromResponse, getDefaultCookieExpirationDate, toughCookieToBrowserPoolCookie } from '../cookie_utils'; +import { + browserPoolCookieToToughCookie, + getCookiesFromResponse, + getDefaultCookieExpirationDate, + toughCookieToBrowserPoolCookie, +} from '../cookie_utils'; import { log as defaultLog } from '../log'; /** @@ -29,7 +34,6 @@ export interface SessionState { } export interface SessionOptions { - /** Id of session used for generating fingerprints. It is used as proxy session name. */ id?: string; @@ -84,7 +88,6 @@ export interface SessionOptions { log?: Log; errorScore?: number; cookieJar?: CookieJar; - } /** @@ -112,21 +115,24 @@ export class Session { * Session configuration. */ constructor(options: SessionOptions) { - ow(options, ow.object.exactShape({ - sessionPool: ow.object.instanceOf(EventEmitter), - id: ow.optional.string, - cookieJar: ow.optional.object, - maxAgeSecs: ow.optional.number, - userData: ow.optional.object, - maxErrorScore: ow.optional.number, - errorScoreDecrement: ow.optional.number, - createdAt: ow.optional.date, - expiresAt: ow.optional.date, - usageCount: ow.optional.number, - errorScore: ow.optional.number, - maxUsageCount: ow.optional.number, - log: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + sessionPool: ow.object.instanceOf(EventEmitter), + id: ow.optional.string, + cookieJar: ow.optional.object, + maxAgeSecs: ow.optional.number, + userData: ow.optional.object, + maxErrorScore: ow.optional.number, + errorScoreDecrement: ow.optional.number, + createdAt: ow.optional.date, + expiresAt: ow.optional.date, + usageCount: ow.optional.number, + errorScore: ow.optional.number, + maxUsageCount: ow.optional.number, + log: ow.optional.object, + }), + ); const { sessionPool, @@ -147,7 +153,7 @@ export class Session { this.log = log.child({ prefix: 'Session' }); - this.cookieJar = cookieJar.setCookie as unknown ? cookieJar : CookieJar.fromJSON(JSON.stringify(cookieJar)); + this.cookieJar = (cookieJar.setCookie as unknown) ? cookieJar : CookieJar.fromJSON(JSON.stringify(cookieJar)); this.id = id; this.maxAgeSecs = maxAgeSecs; this.userData = userData; @@ -283,7 +289,9 @@ export class Session { retireOnBlockedStatusCodes(statusCode: number, additionalBlockedStatusCodes: number[] = []): boolean { // eslint-disable-next-line dot-notation -- accessing private property - const isBlocked = this.sessionPool['blockedStatusCodes'].concat(additionalBlockedStatusCodes).includes(statusCode); + const isBlocked = this.sessionPool['blockedStatusCodes'] + .concat(additionalBlockedStatusCodes) + .includes(statusCode); if (isBlocked) { this.retire(); } @@ -297,7 +305,9 @@ export class Session { * * It then parses and saves the cookies from the `set-cookie` header, if available. */ - setCookiesFromResponse(response: IncomingMessage | BrowserLikeResponse | { headers: Dictionary; url: string }) { + setCookiesFromResponse( + response: IncomingMessage | BrowserLikeResponse | { headers: Dictionary; url: string }, + ) { try { const cookies = getCookiesFromResponse(response).filter((c) => c); this._setCookies(cookies, typeof response.url === 'function' ? response.url() : response.url!); diff --git a/packages/core/src/session_pool/session_pool.ts b/packages/core/src/session_pool/session_pool.ts index 52e860f4a88f..19591f8f7c23 100644 --- a/packages/core/src/session_pool/session_pool.ts +++ b/packages/core/src/session_pool/session_pool.ts @@ -65,7 +65,7 @@ export interface SessionPoolOptions { /** * Control how and when to persist the state of the session pool. */ - persistenceOptions?: PersistenceOptions; + persistenceOptions?: PersistenceOptions; } /** @@ -154,19 +154,25 @@ export class SessionPool extends EventEmitter { /** * @internal */ - constructor(options: SessionPoolOptions = {}, readonly config = Configuration.getGlobalConfig()) { + constructor( + options: SessionPoolOptions = {}, + readonly config = Configuration.getGlobalConfig(), + ) { super(); - ow(options, ow.object.exactShape({ - maxPoolSize: ow.optional.number, - persistStateKeyValueStoreId: ow.optional.string, - persistStateKey: ow.optional.string, - createSessionFunction: ow.optional.function, - sessionOptions: ow.optional.object, - blockedStatusCodes: ow.optional.array.ofType(ow.number), - log: ow.optional.object, - persistenceOptions: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + maxPoolSize: ow.optional.number, + persistStateKeyValueStoreId: ow.optional.string, + persistStateKey: ow.optional.string, + createSessionFunction: ow.optional.function, + sessionOptions: ow.optional.object, + blockedStatusCodes: ow.optional.array.ofType(ow.number), + log: ow.optional.object, + persistenceOptions: ow.optional.object, + }), + ); const { maxPoolSize = MAX_POOL_SIZE, @@ -234,8 +240,9 @@ export class SessionPool extends EventEmitter { } if (!this.persistStateKeyValueStoreId) { - // eslint-disable-next-line max-len - this.log.debug(`No 'persistStateKeyValueStoreId' options specified, this session pool's data has been saved in the KeyValueStore with the id: ${this.keyValueStore.id}`); + this.log.debug( + `No 'persistStateKeyValueStoreId' options specified, this session pool's data has been saved in the KeyValueStore with the id: ${this.keyValueStore.id}`, + ); } // in case of migration happened and SessionPool state should be restored from the keyValueStore. @@ -267,9 +274,8 @@ export class SessionPool extends EventEmitter { this._removeRetiredSessions(); } - const newSession = options instanceof Session - ? options - : await this.createSessionFunction(this, { sessionOptions: options }); + const newSession = + options instanceof Session ? options : await this.createSessionFunction(this, { sessionOptions: options }); this.log.debug(`Adding new Session - ${newSession.id}`); this._addSession(newSession); @@ -416,7 +422,10 @@ export class SessionPool extends EventEmitter { * @param [options.sessionOptions] The configuration options for the session being created. * @returns New session. */ - protected _defaultCreateSessionFunction(sessionPool: SessionPool, options: { sessionOptions?: SessionOptions } = {}): Session { + protected _defaultCreateSessionFunction( + sessionPool: SessionPool, + options: { sessionOptions?: SessionOptions } = {}, + ): Session { ow(options, ow.object.exactShape({ sessionOptions: ow.optional.object })); const { sessionOptions = {} } = options; return new Session({ @@ -472,7 +481,7 @@ export class SessionPool extends EventEmitter { sessionObject.sessionPool = this; sessionObject.createdAt = new Date(sessionObject.createdAt as string); sessionObject.expiresAt = new Date(sessionObject.expiresAt as string); - const recreatedSession = new Session(sessionObject); + const recreatedSession = await this.createSessionFunction(this, { sessionOptions: sessionObject }); if (recreatedSession.isUsable()) { this._addSession(recreatedSession); diff --git a/packages/core/src/storages/access_checking.ts b/packages/core/src/storages/access_checking.ts index cb123d60ee6b..eddb4b6618c9 100644 --- a/packages/core/src/storages/access_checking.ts +++ b/packages/core/src/storages/access_checking.ts @@ -2,7 +2,7 @@ import { AsyncLocalStorage } from 'async_hooks'; import type { Awaitable } from '../typedefs'; -const storage = new AsyncLocalStorage<{ checkFunction:() => void }>(); +const storage = new AsyncLocalStorage<{ checkFunction: () => void }>(); /** * Invoke a storage access checker function defined using {@link withCheckedStorageAccess} higher up in the call stack. @@ -15,4 +15,5 @@ export const checkStorageAccess = () => storage.getStore()?.checkFunction(); * @param checkFunction The check function that should be invoked by {@link checkStorageAccess} calls * @param callback The code that should be invoked with the `checkFunction` setting */ -export const withCheckedStorageAccess = async (checkFunction: () => void, callback: () => Awaitable) => storage.run({ checkFunction }, callback); +export const withCheckedStorageAccess = async (checkFunction: () => void, callback: () => Awaitable) => + storage.run({ checkFunction }, callback); diff --git a/packages/core/src/storages/dataset.ts b/packages/core/src/storages/dataset.ts index 689a55cf09e9..6f2e4d00a241 100644 --- a/packages/core/src/storages/dataset.ts +++ b/packages/core/src/storages/dataset.ts @@ -67,7 +67,7 @@ export function chunkBySize(items: string[], limitBytes: number): string[] { for (const payload of items) { const bytes = Buffer.byteLength(payload); - if (bytes <= limitBytes && (bytes + 2) > limitBytes) { + if (bytes <= limitBytes && bytes + 2 > limitBytes) { // Handle cases where wrapping with [] would fail, but solo object is fine. chunks.push(payload); lastChunkBytes = bytes; @@ -142,7 +142,8 @@ export interface DatasetDataOptions { export interface DatasetExportOptions extends Omit {} -export interface DatasetIteratorOptions extends Omit { +export interface DatasetIteratorOptions + extends Omit { /** @internal */ offset?: number; @@ -230,7 +231,10 @@ export class Dataset { /** * @internal */ - constructor(options: DatasetOptions, readonly config = Configuration.getGlobalConfig()) { + constructor( + options: DatasetOptions, + readonly config = Configuration.getGlobalConfig(), + ) { this.id = options.id; this.name = options.name; this.client = options.client.dataset(this.id) as DatasetClient; @@ -294,7 +298,9 @@ export class Dataset { } catch (e) { const error = e as Error; if (error.message.includes('Cannot create a string longer than')) { - throw new Error('dataset.getData(): The response is too large for parsing. You can fix this by lowering the "limit" option.'); + throw new Error( + 'dataset.getData(): The response is too large for parsing. You can fix this by lowering the "limit" option.', + ); } throw e; } @@ -341,10 +347,7 @@ export class Dataset { const items = await this.export(options); if (contentType === 'text/csv') { - const value = stringify([ - Object.keys(items[0]), - ...items.map((item) => Object.values(item)), - ]); + const value = stringify([Object.keys(items[0]), ...items.map((item) => Object.values(item))]); await kvStore.setValue(key, value, { contentType }); return items; } @@ -457,7 +460,8 @@ export class Dataset { checkStorageAccess(); if (!options.offset) options.offset = 0; - if (options.format && options.format !== 'json') throw new Error('Dataset.forEach/map/reduce() support only a "json" format.'); + if (options.format && options.format !== 'json') + throw new Error('Dataset.forEach/map/reduce() support only a "json" format.'); if (!options.limit) options.limit = DATASET_ITERATORS_DEFAULT_LIMIT; const { items, total, limit, offset } = await this.getData(options); @@ -516,12 +520,9 @@ export class Dataset { let currentMemo: T = memo; const wrappedFunc: DatasetConsumer = async (item, index) => { - return Promise - .resolve() + return Promise.resolve() .then(() => { - return !index && currentMemo === undefined - ? item - : iteratee(currentMemo, item, index); + return !index && currentMemo === undefined ? item : iteratee(currentMemo, item, index); }) .then((newMemo) => { currentMemo = newMemo as T; @@ -558,14 +559,20 @@ export class Dataset { * the function returns the default dataset associated with the crawler run. * @param [options] Storage manager options. */ - static async open(datasetIdOrName?: string | null, options: StorageManagerOptions = {}): Promise> { + static async open( + datasetIdOrName?: string | null, + options: StorageManagerOptions = {}, + ): Promise> { checkStorageAccess(); ow(datasetIdOrName, ow.optional.string); - ow(options, ow.object.exactShape({ - config: ow.optional.object.instanceOf(Configuration), - storageClient: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + config: ow.optional.object.instanceOf(Configuration), + storageClient: ow.optional.object, + }), + ); options.config ??= Configuration.getGlobalConfig(); options.storageClient ??= options.config.getStorageClient(); @@ -609,7 +616,9 @@ export class Dataset { /** * Returns {@apilink DatasetContent} object holding the items in the dataset based on the provided parameters. */ - static async getData(options: DatasetDataOptions = {}): Promise> { + static async getData( + options: DatasetDataOptions = {}, + ): Promise> { const dataset = await this.open(); return dataset.getData(options); } @@ -619,41 +628,35 @@ export class Dataset { * User-function used in the `Dataset.forEach()` API. */ export interface DatasetConsumer { - /** * @param item Current {@apilink Dataset} entry being processed. * @param index Position of current {@apilink Dataset} entry. */ (item: Data, index: number): Awaitable; - } /** * User-function used in the `Dataset.map()` API. */ export interface DatasetMapper { - /** * User-function used in the `Dataset.map()` API. * @param item Current {@apilink Dataset} entry being processed. * @param index Position of current {@apilink Dataset} entry. */ (item: Data, index: number): Awaitable; - } /** * User-function used in the `Dataset.reduce()` API. */ export interface DatasetReducer { - /** * @param memo Previous state of the reduction. * @param item Current {@apilink Dataset} entry being processed. * @param index Position of current {@apilink Dataset} entry. */ (memo: T, item: Data, index: number): Awaitable; - } export interface DatasetOptions { diff --git a/packages/core/src/storages/index.ts b/packages/core/src/storages/index.ts index 76490dbde8be..fd8260f73240 100644 --- a/packages/core/src/storages/index.ts +++ b/packages/core/src/storages/index.ts @@ -2,8 +2,9 @@ export * from './dataset'; export * from './key_value_store'; export * from './request_list'; export * from './request_provider'; -export * from './request_queue'; -export * from './request_queue_v2'; +export { RequestQueueV1 } from './request_queue'; +export { RequestQueue } from './request_queue_v2'; +export { RequestQueue as RequestQueueV2 } from './request_queue_v2'; export * from './storage_manager'; export * from './utils'; export * from './access_checking'; diff --git a/packages/core/src/storages/key_value_store.ts b/packages/core/src/storages/key_value_store.ts index 6167e9192ccf..dbbe1aeb72ed 100644 --- a/packages/core/src/storages/key_value_store.ts +++ b/packages/core/src/storages/key_value_store.ts @@ -37,8 +37,10 @@ export const maybeStringify = (value: T, options: { contentType?: string }) = } if (value === undefined) { - throw new Error('The "value" parameter was stringified to JSON and returned undefined. ' - + 'Make sure you\'re not trying to stringify an undefined value.'); + throw new Error( + 'The "value" parameter was stringified to JSON and returned undefined. ' + + "Make sure you're not trying to stringify an undefined value.", + ); } } @@ -113,7 +115,10 @@ export class KeyValueStore { /** * @internal */ - constructor(options: KeyValueStoreOptions, readonly config = Configuration.getGlobalConfig()) { + constructor( + options: KeyValueStoreOptions, + readonly config = Configuration.getGlobalConfig(), + ) { this.id = options.id; this.name = options.name; this.client = options.client.keyValueStore(this.id); @@ -149,7 +154,7 @@ export class KeyValueStore { * or [`Buffer`](https://nodejs.org/api/buffer.html), depending * on the MIME content type of the record. */ - async getValue(key: string): Promise + async getValue(key: string): Promise; /** * Gets a value from the key-value store. * @@ -182,7 +187,7 @@ export class KeyValueStore { * or [`Buffer`](https://nodejs.org/api/buffer.html), depending * on the MIME content type of the record, or the default value if the key is missing from the store. */ - async getValue(key: string, defaultValue: T): Promise + async getValue(key: string, defaultValue: T): Promise; /** * Gets a value from the key-value store. * @@ -221,7 +226,7 @@ export class KeyValueStore { ow(key, ow.string.nonEmpty); const record = await this.client.getRecord(key); - return record?.value as T ?? defaultValue ?? null; + return (record?.value as T) ?? defaultValue ?? null; } /** @@ -321,17 +326,31 @@ export class KeyValueStore { checkStorageAccess(); ow(key, 'key', ow.string.nonEmpty); - ow(key, ow.string.validate((k) => ({ - validator: ow.isValid(k, ow.string.matches(KEY_VALUE_STORE_KEY_REGEX)), - message: `The "key" argument "${key}" must be at most 256 characters long and only contain the following characters: a-zA-Z0-9!-_.'()`, - }))); - if (options.contentType - && !(ow.isValid(value, ow.any(ow.string, ow.buffer)) || (ow.isValid(value, ow.object) && typeof (value as Dictionary).pipe === 'function'))) { - throw new ArgumentError('The "value" parameter must be a String, Buffer or Stream when "options.contentType" is specified.', this.setValue); + ow( + key, + ow.string.validate((k) => ({ + validator: ow.isValid(k, ow.string.matches(KEY_VALUE_STORE_KEY_REGEX)), + message: `The "key" argument "${key}" must be at most 256 characters long and only contain the following characters: a-zA-Z0-9!-_.'()`, + })), + ); + if ( + options.contentType && + !( + ow.isValid(value, ow.any(ow.string, ow.buffer)) || + (ow.isValid(value, ow.object) && typeof (value as Dictionary).pipe === 'function') + ) + ) { + throw new ArgumentError( + 'The "value" parameter must be a String, Buffer or Stream when "options.contentType" is specified.', + this.setValue, + ); } - ow(options, ow.object.exactShape({ - contentType: ow.optional.string.nonEmpty, - })); + ow( + options, + ow.object.exactShape({ + contentType: ow.optional.string.nonEmpty, + }), + ); // Make copy of options, don't update what user passed. const optionsCopy = { ...options }; @@ -411,12 +430,19 @@ export class KeyValueStore { return this._forEachKey(iteratee, options); } - private async _forEachKey(iteratee: KeyConsumer, options: KeyValueStoreIteratorOptions = {}, index = 0): Promise { + private async _forEachKey( + iteratee: KeyConsumer, + options: KeyValueStoreIteratorOptions = {}, + index = 0, + ): Promise { const { exclusiveStartKey } = options; ow(iteratee, ow.function); - ow(options, ow.object.exactShape({ - exclusiveStartKey: ow.optional.string, - })); + ow( + options, + ow.object.exactShape({ + exclusiveStartKey: ow.optional.string, + }), + ); const response = await this.client.listKeys({ exclusiveStartKey }); const { nextExclusiveStartKey, isTruncated, items } = response; @@ -428,6 +454,14 @@ export class KeyValueStore { : undefined; // [].forEach() returns undefined. } + /** + * Returns a file URL for the given key. + */ + getPublicUrl(key: string): string { + const name = this.name ?? this.config.get('defaultKeyValueStoreId'); + return `file://${process.cwd()}/storage/key_value_stores/${name}/${key}`; + } + /** * Opens a key-value store and returns a promise resolving to an instance of the {@apilink KeyValueStore} class. * @@ -446,10 +480,13 @@ export class KeyValueStore { checkStorageAccess(); ow(storeIdOrName, ow.optional.any(ow.string, ow.null)); - ow(options, ow.object.exactShape({ - config: ow.optional.object.instanceOf(Configuration), - storageClient: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + config: ow.optional.object.instanceOf(Configuration), + storageClient: ow.optional.object, + }), + ); options.config ??= Configuration.getGlobalConfig(); options.storageClient ??= options.config.getStorageClient(); @@ -489,7 +526,7 @@ export class KeyValueStore { * if the record is missing. * @ignore */ - static async getValue(key: string): Promise + static async getValue(key: string): Promise; /** * Gets a value from the default {@apilink KeyValueStore} associated with the current crawler run. * @@ -518,7 +555,7 @@ export class KeyValueStore { * on the MIME content type of the record, or the provided default value. * @ignore */ - static async getValue(key: string, defaultValue: T): Promise + static async getValue(key: string, defaultValue: T): Promise; /** * Gets a value from the default {@apilink KeyValueStore} associated with the current crawler run. * diff --git a/packages/core/src/storages/request_list.ts b/packages/core/src/storages/request_list.ts index 9eeb4f80e189..a46c32d5ef5f 100644 --- a/packages/core/src/storages/request_list.ts +++ b/packages/core/src/storages/request_list.ts @@ -9,8 +9,7 @@ import type { EventManager } from '../events'; import { EventType } from '../events'; import { log } from '../log'; import type { ProxyConfiguration } from '../proxy_configuration'; -import type { InternalSource, RequestOptions, Source } from '../request'; -import { Request } from '../request'; +import { type InternalSource, type RequestOptions, Request, type Source } from '../request'; import { createDeserialize, serializeArray } from '../serialization'; /** @internal */ @@ -98,10 +97,10 @@ export interface RequestListOptions { sourcesFunction?: RequestListSourcesFunction; /** - * Used to pass the proxy configuration for the `requestsFromUrl` objects. - * Takes advantage of the internal address rotation and authentication process. - * If undefined, the `requestsFromUrl` requests will be made without proxy. - */ + * Used to pass the proxy configuration for the `requestsFromUrl` objects. + * Takes advantage of the internal address rotation and authentication process. + * If undefined, the `requestsFromUrl` requests will be made without proxy. + */ proxyConfiguration?: ProxyConfiguration; /** @@ -238,7 +237,7 @@ export class RequestList { * All requests in the array have distinct uniqueKey! * @internal */ - requests: Request[] = []; + requests: (Request | RequestOptions)[] = []; /** Index to the next item in requests array to fetch. All previous requests are either handled or in progress. */ private nextIndex = 0; @@ -300,21 +299,27 @@ export class RequestList { } = options; if (!(sources || sourcesFunction)) { - throw new ArgumentError('At least one of "sources" or "sourcesFunction" must be provided.', this.constructor); + throw new ArgumentError( + 'At least one of "sources" or "sourcesFunction" must be provided.', + this.constructor, + ); } - ow(options, ow.object.exactShape({ - sources: ow.optional.array, // check only for array and not subtypes to avoid iteration over the whole thing - sourcesFunction: ow.optional.function, - persistStateKey: ow.optional.string, - persistRequestsKey: ow.optional.string, - state: ow.optional.object.exactShape({ - nextIndex: ow.number, - nextUniqueKey: ow.string, - inProgress: ow.object, + ow( + options, + ow.object.exactShape({ + sources: ow.optional.array, // check only for array and not subtypes to avoid iteration over the whole thing + sourcesFunction: ow.optional.function, + persistStateKey: ow.optional.string, + persistRequestsKey: ow.optional.string, + state: ow.optional.object.exactShape({ + nextIndex: ow.number, + nextUniqueKey: ow.string, + inProgress: ow.object, + }), + keepDuplicateUrls: ow.optional.boolean, + proxyConfiguration: ow.optional.object, }), - keepDuplicateUrls: ow.optional.boolean, - proxyConfiguration: ow.optional.object, - })); + ); this.persistStateKey = persistStateKey ? `SDK_${persistStateKey}` : persistStateKey; this.persistRequestsKey = persistRequestsKey ? `SDK_${persistRequestsKey}` : persistRequestsKey; @@ -472,16 +477,22 @@ export class RequestList { if (state.nextIndex > this.requests.length) { throw new Error('The state object is not consistent with RequestList, too few requests loaded.'); } - if (state.nextIndex < this.requests.length - && this.requests[state.nextIndex].uniqueKey !== state.nextUniqueKey) { - throw new Error('The state object is not consistent with RequestList the order of URLs seems to have changed.'); + if ( + state.nextIndex < this.requests.length && + this.requests[state.nextIndex].uniqueKey !== state.nextUniqueKey + ) { + throw new Error( + 'The state object is not consistent with RequestList the order of URLs seems to have changed.', + ); } const deleteFromInProgress: string[] = []; state.inProgress.forEach((uniqueKey) => { const index = this.uniqueKeyToIndex[uniqueKey]; if (typeof index !== 'number') { - throw new Error('The state object is not consistent with RequestList. Unknown uniqueKey is present in the state.'); + throw new Error( + 'The state object is not consistent with RequestList. Unknown uniqueKey is present in the state.', + ); } if (index >= state.nextIndex) { deleteFromInProgress.push(uniqueKey); @@ -505,9 +516,12 @@ export class RequestList { // As a workaround, we just remove all inProgress requests whose index >= nextIndex, // since they will be crawled again. if (deleteFromInProgress.length) { - this.log.warning('RequestList\'s in-progress field is not consistent, skipping invalid in-progress entries', { - deleteFromInProgress, - }); + this.log.warning( + "RequestList's in-progress field is not consistent, skipping invalid in-progress entries", + { + deleteFromInProgress, + }, + ); for (const uniqueKey of deleteFromInProgress) { this.inProgress.delete(uniqueKey); } @@ -550,9 +564,7 @@ export class RequestList { return { nextIndex: this.nextIndex, - nextUniqueKey: this.nextIndex < this.requests.length - ? this.requests[this.nextIndex].uniqueKey - : null, + nextUniqueKey: this.nextIndex < this.requests.length ? this.requests[this.nextIndex].uniqueKey! : null, inProgress: [...this.inProgress], }; } @@ -593,21 +605,31 @@ export class RequestList { if (uniqueKey) { this.reclaimed.delete(uniqueKey); const index = this.uniqueKeyToIndex[uniqueKey]; - return this.requests[index]; + return this.ensureRequest(this.requests[index], index); } // Otherwise return next request. if (this.nextIndex < this.requests.length) { - const request = this.requests[this.nextIndex]; - this.inProgress.add(request.uniqueKey); + const index = this.nextIndex; + const request = this.requests[index]; + this.inProgress.add(request.uniqueKey!); this.nextIndex++; this.isStatePersisted = false; - return request; + return this.ensureRequest(request, index); } return null; } + private ensureRequest(requestLike: Request | RequestOptions, index: number): Request { + if (requestLike instanceof Request) { + return requestLike; + } + + this.requests[index] = new Request(requestLike); + return this.requests[index] as Request; + } + /** * Marks request as handled after successful processing. */ @@ -674,7 +696,11 @@ export class RequestList { // Download remote resource and parse URLs. let urlsArr; try { - urlsArr = await this._downloadListOfUrls({ url: requestsFromUrl, urlRegExp: regex, proxyUrl: await this.proxyConfiguration?.newUrl() }); + urlsArr = await this._downloadListOfUrls({ + url: requestsFromUrl, + urlRegExp: regex, + proxyUrl: await this.proxyConfiguration?.newUrl(), + }); } catch (err) { throw new Error(`Cannot fetch a request list from ${requestsFromUrl}: ${err}`); } @@ -694,19 +720,21 @@ export class RequestList { * of a `Request`, then the function creates a `Request` instance. */ protected _addRequest(source: RequestListSource) { - let request; + let request: Request | RequestOptions; const type = typeof source; + if (type === 'string') { - request = new Request({ url: source as string }); + request = { url: source as string }; } else if (source instanceof Request) { request = source; } else if (source && type === 'object') { - request = new Request(source as RequestOptions); + request = source as RequestOptions; } else { throw new Error(`Cannot create Request from type: ${type}`); } const hasUniqueKey = Reflect.has(Object(source), 'uniqueKey'); + request.uniqueKey ??= Request.computeUniqueKey(request as any); // Add index to uniqueKey if duplicates are to be kept if (this.keepDuplicateUrls && !hasUniqueKey) { @@ -721,7 +749,9 @@ export class RequestList { this.uniqueKeyToIndex[uniqueKey] = this.requests.length; this.requests.push(request); } else if (this.keepDuplicateUrls) { - this.log.warning(`Duplicate uniqueKey: ${uniqueKey} found while the keepDuplicateUrls option was set. Check your sources' unique keys.`); + this.log.warning( + `Duplicate uniqueKey: ${uniqueKey} found while the keepDuplicateUrls option was set. Check your sources' unique keys.`, + ); } } @@ -731,7 +761,7 @@ export class RequestList { */ protected _ensureUniqueKeyValid(uniqueKey: string): void { if (typeof uniqueKey !== 'string' || !uniqueKey) { - throw new Error('Request object\'s uniqueKey must be a non-empty string'); + throw new Error("Request object's uniqueKey must be a non-empty string"); } } @@ -752,7 +782,9 @@ export class RequestList { */ protected _ensureIsInitialized(): void { if (!this.isInitialized) { - throw new Error('RequestList is not initialized; you must call "await requestList.initialize()" before using it!'); + throw new Error( + 'RequestList is not initialized; you must call "await requestList.initialize()" before using it!', + ); } } @@ -844,7 +876,10 @@ export class RequestList { ow(listName, ow.optional.any(ow.string, ow.null)); ow(sources, ow.array); - ow(options, ow.object.is((v) => !Array.isArray(v))); + ow( + options, + ow.object.is((v) => !Array.isArray(v)), + ); const rl = new RequestList({ ...options, @@ -860,7 +895,9 @@ export class RequestList { /** * @internal wraps public utility for mocking purposes */ - private async _downloadListOfUrls(options: { url: string; urlRegExp?: RegExp; proxyUrl?: string }): Promise { + private async _downloadListOfUrls(options: { url: string; urlRegExp?: RegExp; proxyUrl?: string }): Promise< + string[] + > { return downloadListOfUrls(options); } } @@ -882,7 +919,6 @@ export class RequestList { * ``` */ export interface RequestListState { - /** Position of the next request to be processed. */ nextIndex: number; @@ -891,7 +927,6 @@ export interface RequestListState { /** Array of request keys representing those that being processed at the moment. */ inProgress: string[]; - } type RequestListSource = string | Source; diff --git a/packages/core/src/storages/request_provider.ts b/packages/core/src/storages/request_provider.ts index 6fd85ca9161d..59735c61ff38 100644 --- a/packages/core/src/storages/request_provider.ts +++ b/packages/core/src/storages/request_provider.ts @@ -1,3 +1,5 @@ +import { inspect } from 'node:util'; + import { ListDictionary, LruCache } from '@apify/datastructures'; import type { Log } from '@apify/log'; import { cryptoRandomObjectId } from '@apify/utilities'; @@ -52,7 +54,12 @@ export abstract class RequestProvider implements IStorage { protected queuePausedForMigration = false; - constructor(options: InternalRequestProviderOptions, readonly config = Configuration.getGlobalConfig()) { + protected lastActivity = new Date(); + + constructor( + options: InternalRequestProviderOptions, + readonly config = Configuration.getGlobalConfig(), + ) { this.id = options.id; this.name = options.name; this.client = options.client.requestQueue(this.id, { @@ -103,13 +110,21 @@ export abstract class RequestProvider implements IStorage { * Note that the function sets the `uniqueKey` and `id` fields to the passed Request. * @param [options] Request queue operation options. */ - async addRequest(requestLike: Source, options: RequestQueueOperationOptions = {}): Promise { + async addRequest( + requestLike: Source, + options: RequestQueueOperationOptions = {}, + ): Promise { checkStorageAccess(); + this.lastActivity = new Date(); + ow(requestLike, ow.object); - ow(options, ow.object.exactShape({ - forefront: ow.optional.boolean, - })); + ow( + options, + ow.object.exactShape({ + forefront: ow.optional.boolean, + }), + ); const { forefront = false } = options; @@ -120,14 +135,15 @@ export abstract class RequestProvider implements IStorage { return processedRequests[0]; } - ow(requestLike, ow.object.partialShape({ - url: ow.string, - id: ow.undefined, - })); + ow( + requestLike, + ow.object.partialShape({ + url: ow.string, + id: ow.undefined, + }), + ); - const request = requestLike instanceof Request - ? requestLike - : new Request(requestLike); + const request = requestLike instanceof Request ? requestLike : new Request(requestLike); const cacheKey = getRequestId(request.uniqueKey); const cachedInfo = this.requestCache.get(cacheKey); @@ -144,13 +160,17 @@ export abstract class RequestProvider implements IStorage { }; } - const queueOperationInfo = await this.client.addRequest(request, { forefront }) as RequestQueueOperationInfo; + const queueOperationInfo = (await this.client.addRequest(request, { forefront })) as RequestQueueOperationInfo; queueOperationInfo.uniqueKey = request.uniqueKey; const { requestId, wasAlreadyPresent } = queueOperationInfo; this._cacheRequest(cacheKey, queueOperationInfo); - if (!wasAlreadyPresent && !this.inProgress.has(requestId) && !this.recentlyHandledRequestsCache.get(requestId)) { + if ( + !wasAlreadyPresent && + !this.inProgress.has(requestId) && + !this.recentlyHandledRequestsCache.get(requestId) + ) { this.assumedTotalCount++; // Performance optimization: add request straight to head if possible @@ -177,12 +197,18 @@ export abstract class RequestProvider implements IStorage { ): Promise { checkStorageAccess(); + this.lastActivity = new Date(); + ow(requestsLike, ow.array); - ow(options, ow.object.exactShape({ - forefront: ow.optional.boolean, - })); + ow( + options, + ow.object.exactShape({ + forefront: ow.optional.boolean, + cache: ow.optional.boolean, + }), + ); - const { forefront = false } = options; + const { forefront = false, cache = true } = options; const uniqueKeyToCacheKey = new Map(); const getCachedRequestId = (uniqueKey: string) => { @@ -253,9 +279,16 @@ export abstract class RequestProvider implements IStorage { const cacheKey = getCachedRequestId(newRequest.uniqueKey); const { requestId, wasAlreadyPresent } = newRequest; - this._cacheRequest(cacheKey, newRequest); - if (!wasAlreadyPresent && !this.inProgress.has(requestId) && !this.recentlyHandledRequestsCache.get(requestId)) { + if (cache) { + this._cacheRequest(cacheKey, newRequest); + } + + if ( + !wasAlreadyPresent && + !this.inProgress.has(requestId) && + !this.recentlyHandledRequestsCache.get(requestId) + ) { this.assumedTotalCount++; // Performance optimization: add request straight to head if possible @@ -275,58 +308,94 @@ export abstract class RequestProvider implements IStorage { * @param requests The requests to add * @param options Options for the request queue */ - async addRequestsBatched(requests: (string | Source)[], options: AddRequestsBatchedOptions = {}): Promise { + async addRequestsBatched( + requests: (string | Source)[], + options: AddRequestsBatchedOptions = {}, + ): Promise { checkStorageAccess(); - ow(requests, ow.array.ofType(ow.any( - ow.string, - ow.object.partialShape({ url: ow.string, id: ow.undefined }), - ow.object.partialShape({ requestsFromUrl: ow.string, regex: ow.optional.regExp }), - ))); - ow(options, ow.object.exactShape({ - forefront: ow.optional.boolean, - waitForAllRequestsToBeAdded: ow.optional.boolean, - batchSize: ow.optional.number, - waitBetweenBatchesMillis: ow.optional.number, - })); - - const { - batchSize = 1000, - waitBetweenBatchesMillis = 1000, - } = options; - const builtRequests: Request[] = []; + this.lastActivity = new Date(); + + ow( + options, + ow.object.exactShape({ + forefront: ow.optional.boolean, + waitForAllRequestsToBeAdded: ow.optional.boolean, + batchSize: ow.optional.number, + waitBetweenBatchesMillis: ow.optional.number, + }), + ); + + // The `requests` array can be huge, and `ow` is very slow for anything more complex. + // This explicit iteration takes a few milliseconds, while the ow check can take tens of seconds. + + // ow(requests, ow.array.ofType(ow.any( + // ow.string, + // ow.object.partialShape({ url: ow.string, id: ow.undefined }), + // ow.object.partialShape({ requestsFromUrl: ow.string, regex: ow.optional.regExp }), + // ))); + + for (const request of requests) { + if (typeof request === 'string') { + continue; + } + + if (typeof request === 'object' && request !== null) { + if (typeof request.url === 'string' && typeof request.id === 'undefined') { + continue; + } + + if (typeof (request as any).requestsFromUrl === 'string') { + continue; + } + } + + throw new Error( + `Request options are not valid, provide either a URL or an object with 'url' property (but without 'id' property), or an object with 'requestsFromUrl' property. Input: ${inspect( + request, + )}`, + ); + } + + const { batchSize = 1000, waitBetweenBatchesMillis = 1000 } = options; + const sources: Source[] = []; for (const opts of requests) { if (opts && typeof opts === 'object' && 'requestsFromUrl' in opts) { await this.addRequest(opts, { forefront: options.forefront }); } else { - builtRequests.push(new Request(typeof opts === 'string' ? { url: opts } : opts as RequestOptions)); + sources.push(typeof opts === 'string' ? { url: opts } : (opts as RequestOptions)); } } - const attemptToAddToQueueAndAddAnyUnprocessed = async (providedRequests: Request[]) => { + const attemptToAddToQueueAndAddAnyUnprocessed = async (providedRequests: Source[], cache = true) => { const resultsToReturn: ProcessedRequest[] = []; - const apiResult = await this.addRequests(providedRequests, { forefront: options.forefront }); + const apiResult = await this.addRequests(providedRequests, { forefront: options.forefront, cache }); resultsToReturn.push(...apiResult.processedRequests); if (apiResult.unprocessedRequests.length) { await sleep(waitBetweenBatchesMillis); - resultsToReturn.push(...await attemptToAddToQueueAndAddAnyUnprocessed( - providedRequests.filter((r) => !apiResult.processedRequests.some((pr) => pr.uniqueKey === r.uniqueKey)), - )); + resultsToReturn.push( + ...(await attemptToAddToQueueAndAddAnyUnprocessed( + providedRequests.filter( + (r) => !apiResult.processedRequests.some((pr) => pr.uniqueKey === r.uniqueKey), + ), + false, + )), + ); } return resultsToReturn; }; - const initialChunk = builtRequests.splice(0, batchSize); + const initialChunk = sources.splice(0, batchSize); // Add initial batch of `batchSize` to process them right away const addedRequests = await attemptToAddToQueueAndAddAnyUnprocessed(initialChunk); // If we have no more requests to add, return early - if (!builtRequests.length) { + if (!sources.length) { return { addedRequests, waitForAllRequestsToBeAdded: Promise.resolve([]), @@ -335,11 +404,11 @@ export abstract class RequestProvider implements IStorage { // eslint-disable-next-line no-async-promise-executor const promise = new Promise(async (resolve) => { - const chunks = chunk(builtRequests, batchSize); + const chunks = chunk(sources, batchSize); const finalAddedRequests: ProcessedRequest[] = []; for (const requestChunk of chunks) { - finalAddedRequests.push(...await attemptToAddToQueueAndAddAnyUnprocessed(requestChunk)); + finalAddedRequests.push(...(await attemptToAddToQueueAndAddAnyUnprocessed(requestChunk, false))); await sleep(waitBetweenBatchesMillis); } @@ -349,7 +418,7 @@ export abstract class RequestProvider implements IStorage { // If the user wants to wait for all the requests to be added, we wait for the promise to resolve for them if (options.waitForAllRequestsToBeAdded) { - addedRequests.push(...await promise); + addedRequests.push(...(await promise)); } return { @@ -375,6 +444,23 @@ export abstract class RequestProvider implements IStorage { return new Request(requestOptions as unknown as RequestOptions); } + /** + * Returns a next request in the queue to be processed, or `null` if there are no more pending requests. + * + * Once you successfully finish processing of the request, you need to call + * {@apilink RequestQueue.markRequestHandled} + * to mark the request as handled in the queue. If there was some error in processing the request, + * call {@apilink RequestQueue.reclaimRequest} instead, + * so that the queue will give the request to some other consumer in another call to the `fetchNextRequest` function. + * + * Note that the `null` return value doesn't mean the queue processing finished, + * it means there are currently no pending requests. + * To check whether all requests in queue were finished, + * use {@apilink RequestQueue.isFinished} instead. + * + * @returns + * Returns the request object or `null` if there are no more pending requests. + */ abstract fetchNextRequest(options?: RequestOptions): Promise | null>; /** @@ -386,19 +472,29 @@ export abstract class RequestProvider implements IStorage { async markRequestHandled(request: Request): Promise { checkStorageAccess(); - ow(request, ow.object.partialShape({ - id: ow.string, - uniqueKey: ow.string, - handledAt: ow.optional.string, - })); + this.lastActivity = new Date(); + + ow( + request, + ow.object.partialShape({ + id: ow.string, + uniqueKey: ow.string, + handledAt: ow.optional.string, + }), + ); if (!this.inProgress.has(request.id)) { - this.log.debug(`Cannot mark request ${request.id} as handled, because it is not in progress!`, { requestId: request.id }); + this.log.debug(`Cannot mark request ${request.id} as handled, because it is not in progress!`, { + requestId: request.id, + }); return null; } const handledAt = request.handledAt ?? new Date().toISOString(); - const queueOperationInfo = await this.client.updateRequest({ ...request, handledAt }) as RequestQueueOperationInfo; + const queueOperationInfo = (await this.client.updateRequest({ + ...request, + handledAt, + })) as RequestQueueOperationInfo; request.handledAt = handledAt; queueOperationInfo.uniqueKey = request.uniqueKey; @@ -420,27 +516,42 @@ export abstract class RequestProvider implements IStorage { * The request record in the queue is updated using the provided `request` parameter. * For example, this lets you store the number of retries or error messages for the request. */ - async reclaimRequest(request: Request, options: RequestQueueOperationOptions = {}): Promise { + async reclaimRequest( + request: Request, + options: RequestQueueOperationOptions = {}, + ): Promise { checkStorageAccess(); - ow(request, ow.object.partialShape({ - id: ow.string, - uniqueKey: ow.string, - })); - ow(options, ow.object.exactShape({ - forefront: ow.optional.boolean, - })); + this.lastActivity = new Date(); + + ow( + request, + ow.object.partialShape({ + id: ow.string, + uniqueKey: ow.string, + }), + ); + ow( + options, + ow.object.exactShape({ + forefront: ow.optional.boolean, + }), + ); const { forefront = false } = options; if (!this.inProgress.has(request.id)) { - this.log.debug(`Cannot reclaim request ${request.id}, because it is not in progress!`, { requestId: request.id }); + this.log.debug(`Cannot reclaim request ${request.id}, because it is not in progress!`, { + requestId: request.id, + }); return null; } // TODO: If request hasn't been changed since the last getRequest(), // we don't need to call updateRequest() and thus improve performance. - const queueOperationInfo = await this.client.updateRequest(request, { forefront }) as RequestQueueOperationInfo; + const queueOperationInfo = (await this.client.updateRequest(request, { + forefront, + })) as RequestQueueOperationInfo; queueOperationInfo.uniqueKey = request.uniqueKey; this._cacheRequest(getRequestId(request.uniqueKey), queueOperationInfo); @@ -467,13 +578,51 @@ export abstract class RequestProvider implements IStorage { * but it will never return a false positive. */ async isFinished(): Promise { - if (this.queueHeadIds.length() > 0 || this.inProgressCount() > 0) return false; + // TODO: once/if we figure out why sometimes request queues get stuck (if it's even request queues), remove this once and for all :) + if (Date.now() - +this.lastActivity > this.internalTimeoutMillis) { + const message = `The request queue seems to be stuck for ${ + this.internalTimeoutMillis / 1000 + }s, resetting internal state.`; + + this.log.warning(message, { + inProgress: [...this.inProgress], + queueHeadIdsPending: this.queueHeadIds.length(), + }); + + // We only need to reset these two variables, no need to reset all the other stats + this.queueHeadIds.clear(); + this.inProgress.clear(); + } + + if (this.queueHeadIds.length() > 0) { + this.log.debug('There are still ids in the queue head that are pending processing', { + queueHeadIdsPending: this.queueHeadIds.length(), + }); + + return false; + } + + if (this.inProgressCount() > 0) { + this.log.debug('There are still requests in progress (or zombie)', { + inProgress: [...this.inProgress], + }); + + return false; + } const currentHead = await this.client.listHead({ limit: 2 }); + + if (currentHead.items.length !== 0) { + this.log.debug( + 'Queue head still returned requests that need to be processed (or that are locked by other clients)', + ); + } + return currentHead.items.length === 0 && this.inProgressCount() === 0; } protected _reset() { + this.lastActivity = new Date(); this.queueHeadIds.clear(); this.inProgress.clear(); this.recentlyHandledRequestsCache.clear(); @@ -532,7 +681,7 @@ export abstract class RequestProvider implements IStorage { */ async handledCount(): Promise { // NOTE: We keep this function for compatibility with RequestList.handledCount() - const { handledRequestCount } = await this.getInfo() ?? {}; + const { handledRequestCount } = (await this.getInfo()) ?? {}; return handledRequestCount ?? 0; } @@ -575,7 +724,11 @@ export abstract class RequestProvider implements IStorage { // Download remote resource and parse URLs. let urlsArr; try { - urlsArr = await this._downloadListOfUrls({ url: requestsFromUrl, urlRegExp: regex, proxyUrl: await this.proxyConfiguration?.newUrl() }); + urlsArr = await this._downloadListOfUrls({ + url: requestsFromUrl, + urlRegExp: regex, + proxyUrl: await this.proxyConfiguration?.newUrl(), + }); } catch (err) { throw new Error(`Cannot fetch a request list from ${requestsFromUrl}: ${err}`); } @@ -592,7 +745,11 @@ export abstract class RequestProvider implements IStorage { /** * Adds all fetched requests from a URL from a remote resource. */ - protected async _addFetchedRequests(source: InternalSource, fetchedRequests: RequestOptions[], options: RequestQueueOperationOptions) { + protected async _addFetchedRequests( + source: InternalSource, + fetchedRequests: RequestOptions[], + options: RequestQueueOperationOptions, + ) { const { requestsFromUrl, regex } = source; const { addedRequests } = await this.addRequestsBatched(fetchedRequests, options); @@ -611,7 +768,9 @@ export abstract class RequestProvider implements IStorage { /** * @internal wraps public utility for mocking purposes */ - private async _downloadListOfUrls(options: { url: string; urlRegExp?: RegExp; proxyUrl?: string }): Promise { + private async _downloadListOfUrls(options: { url: string; urlRegExp?: RegExp; proxyUrl?: string }): Promise< + string[] + > { return downloadListOfUrls(options); } @@ -635,11 +794,14 @@ export abstract class RequestProvider implements IStorage { checkStorageAccess(); ow(queueIdOrName, ow.optional.any(ow.string, ow.null)); - ow(options, ow.object.exactShape({ - config: ow.optional.object.instanceOf(Configuration), - storageClient: ow.optional.object, - proxyConfiguration: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + config: ow.optional.object.instanceOf(Configuration), + storageClient: ow.optional.object, + proxyConfiguration: ow.optional.object, + }), + ); options.config ??= Configuration.getGlobalConfig(); options.storageClient ??= options.config.getStorageClient(); @@ -658,7 +820,10 @@ export abstract class RequestProvider implements IStorage { } declare class BuiltRequestProvider extends RequestProvider { - override fetchNextRequest(options?: RequestOptions | undefined): Promise | null>; + override fetchNextRequest( + options?: RequestOptions | undefined, + ): Promise | null>; + protected override ensureHeadIsNonEmpty(): Promise; } @@ -707,6 +872,12 @@ export interface RequestQueueOperationOptions { * @default false */ forefront?: boolean; + /** + * Should the requests be added to the local LRU cache? + * @default false + * @internal + */ + cache?: boolean; } /** diff --git a/packages/core/src/storages/request_queue.ts b/packages/core/src/storages/request_queue.ts index ae8ed86a81f9..6331f2954257 100644 --- a/packages/core/src/storages/request_queue.ts +++ b/packages/core/src/storages/request_queue.ts @@ -1,8 +1,7 @@ import { setTimeout as sleep } from 'node:timers/promises'; import { REQUEST_QUEUE_HEAD_MAX_LIMIT } from '@apify/consts'; -import type { Dictionary, -} from '@crawlee/types'; +import type { Dictionary } from '@crawlee/types'; import { checkStorageAccess } from './access_checking'; import type { RequestProviderOptions } from './request_provider'; @@ -72,8 +71,10 @@ const RECENTLY_HANDLED_CACHE_SIZE = 1000; * await queue.addRequest({ url: 'http://example.com/foo/bar' }, { forefront: true }); * ``` * @category Sources + * + * @deprecated RequestQueue v1 is deprecated and will be removed in the future. Please use {@apilink RequestQueue} instead. */ -export class RequestQueue extends RequestProvider { +class RequestQueue extends RequestProvider { private queryQueueHeadPromise?: Promise<{ wasLimitReached: boolean; prevLimit: number; @@ -82,18 +83,19 @@ export class RequestQueue extends RequestProvider { hadMultipleClients?: boolean; }> | null = null; - private lastActivity = new Date(); - /** * @internal */ constructor(options: RequestProviderOptions, config = Configuration.getGlobalConfig()) { - super({ - ...options, - logPrefix: 'RequestQueue', - recentlyHandledRequestsMaxSize: RECENTLY_HANDLED_CACHE_SIZE, - requestCacheMaxSize: MAX_CACHED_REQUESTS, - }, config); + super( + { + ...options, + logPrefix: 'RequestQueue', + recentlyHandledRequestsMaxSize: RECENTLY_HANDLED_CACHE_SIZE, + requestCacheMaxSize: MAX_CACHED_REQUESTS, + }, + config, + ); } /** @@ -116,6 +118,8 @@ export class RequestQueue extends RequestProvider { override async fetchNextRequest(): Promise | null> { checkStorageAccess(); + this.lastActivity = new Date(); + await this.ensureHeadIsNonEmpty(); const nextRequestId = this.queueHeadIds.removeFirst(); @@ -153,7 +157,9 @@ export class RequestQueue extends RequestProvider { // into the queueHeadDict straight again. After the interval expires, fetchNextRequest() // will try to fetch this request again, until it eventually appears in the main table. if (!request) { - this.log.debug('Cannot find a request from the beginning of queue, will be retried later', { nextRequestId }); + this.log.debug('Cannot find a request from the beginning of queue, will be retried later', { + nextRequestId, + }); setTimeout(() => { this.inProgress.delete(nextRequestId); }, STORAGE_CONSISTENCY_DELAY_MILLIS); @@ -212,7 +218,13 @@ export class RequestQueue extends RequestProvider { .then(({ items, queueModifiedAt, hadMultipleClients }) => { items.forEach(({ id: requestId, uniqueKey }) => { // Queue head index might be behind the main table, so ensure we don't recycle requests - if (!requestId || !uniqueKey || this.inProgress.has(requestId) || this.recentlyHandledRequestsCache.get(requestId!)) return; + if ( + !requestId || + !uniqueKey || + this.inProgress.has(requestId) || + this.recentlyHandledRequestsCache.get(requestId!) + ) + return; this.queueHeadIds.add(requestId, requestId, false); this._cacheRequest(getRequestId(uniqueKey), { @@ -236,7 +248,8 @@ export class RequestQueue extends RequestProvider { }); } - const { queueModifiedAt, wasLimitReached, prevLimit, queryStartedAt, hadMultipleClients } = await this.queryQueueHeadPromise; + const { queueModifiedAt, wasLimitReached, prevLimit, queryStartedAt, hadMultipleClients } = + await this.queryQueueHeadPromise; // TODO: I feel this code below can be greatly simplified... @@ -250,9 +263,8 @@ export class RequestQueue extends RequestProvider { if (prevLimit >= REQUEST_QUEUE_HEAD_MAX_LIMIT) { this.log.warning(`Reached the maximum number of requests in progress: ${REQUEST_QUEUE_HEAD_MAX_LIMIT}.`); } - const shouldRepeatWithHigherLimit = this.queueHeadIds.length() === 0 - && wasLimitReached - && prevLimit < REQUEST_QUEUE_HEAD_MAX_LIMIT; + const shouldRepeatWithHigherLimit = + this.queueHeadIds.length() === 0 && wasLimitReached && prevLimit < REQUEST_QUEUE_HEAD_MAX_LIMIT; // If ensureConsistency=true then we must ensure that either: // - queueModifiedAt is older than queryStartedAt by at least API_PROCESSED_REQUESTS_DELAY_MILLIS @@ -269,14 +281,14 @@ export class RequestQueue extends RequestProvider { // If this is reached then we return false so that empty() and finished() returns possibly false negative. if (!shouldRepeatWithHigherLimit && iteration > MAX_QUERIES_FOR_CONSISTENCY) return false; - const nextLimit = shouldRepeatWithHigherLimit - ? Math.round(prevLimit * 1.5) - : prevLimit; + const nextLimit = shouldRepeatWithHigherLimit ? Math.round(prevLimit * 1.5) : prevLimit; // If we are repeating for consistency then wait required time. if (shouldRepeatForConsistency) { const delayMillis = API_PROCESSED_REQUESTS_DELAY_MILLIS - (Date.now() - +queueModifiedAt); - this.log.info(`Waiting for ${delayMillis}ms before considering the queue as finished to ensure that the data is consistent.`); + this.log.info( + `Waiting for ${delayMillis}ms before considering the queue as finished to ensure that the data is consistent.`, + ); await sleep(delayMillis); } @@ -287,8 +299,10 @@ export class RequestQueue extends RequestProvider { override async isFinished(): Promise { checkStorageAccess(); - if ((Date.now() - +this.lastActivity) > this.internalTimeoutMillis) { - const message = `The request queue seems to be stuck for ${this.internalTimeoutMillis / 1e3}s, resetting internal state.`; + if (Date.now() - +this.lastActivity > this.internalTimeoutMillis) { + const message = `The request queue seems to be stuck for ${ + this.internalTimeoutMillis / 1e3 + }s, resetting internal state.`; this.log.warning(message, { inProgress: [...this.inProgress] }); this._reset(); } @@ -299,39 +313,15 @@ export class RequestQueue extends RequestProvider { return isHeadConsistent && this.queueHeadIds.length() === 0 && this.inProgressCount() === 0; } - override async addRequest(...args: Parameters) { - checkStorageAccess(); - - this.lastActivity = new Date(); - return super.addRequest(...args); - } - - override async addRequests(...args: Parameters) { - checkStorageAccess(); - - this.lastActivity = new Date(); - return super.addRequests(...args); - } - - override async addRequestsBatched(...args: Parameters) { - checkStorageAccess(); - - this.lastActivity = new Date(); - return super.addRequestsBatched(...args); - } - - override async markRequestHandled(...args: Parameters) { - checkStorageAccess(); - - this.lastActivity = new Date(); - return super.markRequestHandled(...args); - } - + /** + * Reclaims a failed request back to the queue, so that it can be returned for processing later again + * by another call to {@apilink RequestQueue.fetchNextRequest}. + * The request record in the queue is updated using the provided `request` parameter. + * For example, this lets you store the number of retries or error messages for the request. + */ override async reclaimRequest(...args: Parameters) { checkStorageAccess(); - this.lastActivity = new Date(); - const [request, options] = args; const forefront = options?.forefront ?? false; @@ -341,7 +331,9 @@ export class RequestQueue extends RequestProvider { // This is to compensate for the limitation of DynamoDB, where writes might not be immediately visible to subsequent reads. setTimeout(() => { if (!this.inProgress.has(request.id!)) { - this.log.debug('The request is no longer marked as in progress in the queue?!', { requestId: request.id }); + this.log.debug('The request is no longer marked as in progress in the queue?!', { + requestId: request.id, + }); return; } @@ -354,12 +346,25 @@ export class RequestQueue extends RequestProvider { return result; } - protected override _reset() { - super._reset(); - this.lastActivity = new Date(); - } - + /** + * Opens a request queue and returns a promise resolving to an instance + * of the {@apilink RequestQueue} class. + * + * {@apilink RequestQueue} represents a queue of URLs to crawl, which is stored either on local filesystem or in the cloud. + * The queue is used for deep crawling of websites, where you start with several URLs and then + * recursively follow links to other pages. The data structure supports both breadth-first + * and depth-first crawling orders. + * + * For more details and code examples, see the {@apilink RequestQueue} class. + * + * @param [queueIdOrName] + * ID or name of the request queue to be opened. If `null` or `undefined`, + * the function returns the default request queue associated with the crawler run. + * @param [options] Open Request Queue options. + */ static override async open(...args: Parameters): Promise { return super.open(...args) as Promise; } } + +export { RequestQueue as RequestQueueV1 }; diff --git a/packages/core/src/storages/request_queue_v2.ts b/packages/core/src/storages/request_queue_v2.ts index 58af926b265f..4f4f1248403d 100644 --- a/packages/core/src/storages/request_queue_v2.ts +++ b/packages/core/src/storages/request_queue_v2.ts @@ -3,10 +3,7 @@ import type { Dictionary } from '@crawlee/types'; import { checkStorageAccess } from './access_checking'; import type { RequestQueueOperationInfo, RequestProviderOptions } from './request_provider'; import { RequestProvider } from './request_provider'; -import { - STORAGE_CONSISTENCY_DELAY_MILLIS, - getRequestId, -} from './utils'; +import { STORAGE_CONSISTENCY_DELAY_MILLIS, getRequestId } from './utils'; import { Configuration } from '../configuration'; import { EventType } from '../events'; import type { Request } from '../request'; @@ -21,16 +18,53 @@ const MAX_CACHED_REQUESTS = 2_000_000; */ const RECENTLY_HANDLED_CACHE_SIZE = 1000; -class RequestQueue extends RequestProvider { +/** + * Represents a queue of URLs to crawl, which is used for deep crawling of websites + * where you start with several URLs and then recursively + * follow links to other pages. The data structure supports both breadth-first and depth-first crawling orders. + * + * Each URL is represented using an instance of the {@apilink Request} class. + * The queue can only contain unique URLs. More precisely, it can only contain {@apilink Request} instances + * with distinct `uniqueKey` properties. By default, `uniqueKey` is generated from the URL, but it can also be overridden. + * To add a single URL multiple times to the queue, + * corresponding {@apilink Request} objects will need to have different `uniqueKey` properties. + * + * Do not instantiate this class directly, use the {@apilink RequestQueue.open} function instead. + * + * `RequestQueue` is used by {@apilink BasicCrawler}, {@apilink CheerioCrawler}, {@apilink PuppeteerCrawler} + * and {@apilink PlaywrightCrawler} as a source of URLs to crawl. + * Unlike {@apilink RequestList}, `RequestQueue` supports dynamic adding and removing of requests. + * On the other hand, the queue is not optimized for operations that add or remove a large number of URLs in a batch. + * + * **Example usage:** + * + * ```javascript + * // Open the default request queue associated with the crawler run + * const queue = await RequestQueue.open(); + * + * // Open a named request queue + * const queueWithName = await RequestQueue.open('some-name'); + * + * // Enqueue few requests + * await queue.addRequest({ url: 'http://example.com/aaa' }); + * await queue.addRequest({ url: 'http://example.com/bbb' }); + * await queue.addRequest({ url: 'http://example.com/foo/bar' }, { forefront: true }); + * ``` + * @category Sources + */ +export class RequestQueue extends RequestProvider { private _listHeadAndLockPromise: Promise | null = null; constructor(options: RequestProviderOptions, config = Configuration.getGlobalConfig()) { - super({ - ...options, - logPrefix: 'RequestQueue2', - recentlyHandledRequestsMaxSize: RECENTLY_HANDLED_CACHE_SIZE, - requestCacheMaxSize: MAX_CACHED_REQUESTS, - }, config); + super( + { + ...options, + logPrefix: 'RequestQueue2', + recentlyHandledRequestsMaxSize: RECENTLY_HANDLED_CACHE_SIZE, + requestCacheMaxSize: MAX_CACHED_REQUESTS, + }, + config, + ); const eventManager = config.getEventManager(); @@ -47,8 +81,6 @@ class RequestQueue extends RequestProvider { * Caches information about request to beware of unneeded addRequest() calls. */ protected override _cacheRequest(cacheKey: string, queueOperationInfo: RequestQueueOperationInfo): void { - checkStorageAccess(); - super._cacheRequest(cacheKey, queueOperationInfo); this.requestCache.remove(queueOperationInfo.requestId); @@ -63,25 +95,13 @@ class RequestQueue extends RequestProvider { } /** - * Returns a next request in the queue to be processed, or `null` if there are no more pending requests. - * - * Once you successfully finish processing of the request, you need to call - * {@apilink RequestQueue.markRequestHandled} - * to mark the request as handled in the queue. If there was some error in processing the request, - * call {@apilink RequestQueue.reclaimRequest} instead, - * so that the queue will give the request to some other consumer in another call to the `fetchNextRequest` function. - * - * Note that the `null` return value doesn't mean the queue processing finished, - * it means there are currently no pending requests. - * To check whether all requests in queue were finished, - * use {@apilink RequestQueue.isFinished} instead. - * - * @returns - * Returns the request object or `null` if there are no more pending requests. + * @inheritDoc */ override async fetchNextRequest(): Promise | null> { checkStorageAccess(); + this.lastActivity = new Date(); + await this.ensureHeadIsNonEmpty(); const nextRequestId = this.queueHeadIds.removeFirst(); @@ -121,7 +141,9 @@ class RequestQueue extends RequestProvider { // into the queueHeadDict straight again. After the interval expires, fetchNextRequest() // will try to fetch this request again, until it eventually appears in the main table. if (!request) { - this.log.debug('Cannot find a request from the beginning of queue or lost lock, will be retried later', { nextRequestId }); + this.log.debug('Cannot find a request from the beginning of queue or lost lock, will be retried later', { + nextRequestId, + }); setTimeout(() => { this.inProgress.delete(nextRequestId); @@ -143,9 +165,12 @@ class RequestQueue extends RequestProvider { return request; } - override async reclaimRequest(...args: Parameters): ReturnType { - checkStorageAccess(); - + /** + * @inheritDoc + */ + override async reclaimRequest( + ...args: Parameters + ): ReturnType { const res = await super.reclaimRequest(...args); if (res) { @@ -188,8 +213,6 @@ class RequestQueue extends RequestProvider { } private async _listHeadAndLock(): Promise { - checkStorageAccess(); - const headData = await this.client.listAndLockHead({ limit: 25, lockSecs: this.requestLockSecs }); for (const { id, uniqueKey } of headData.items) { @@ -223,7 +246,9 @@ class RequestQueue extends RequestProvider { } } - private async getOrHydrateRequest(requestId: string): Promise | null> { + private async getOrHydrateRequest( + requestId: string, + ): Promise | null> { checkStorageAccess(); const cachedEntry = this.requestCache.get(requestId); @@ -308,24 +333,23 @@ class RequestQueue extends RequestProvider { } private async _prolongRequestLock(requestId: string): Promise { - checkStorageAccess(); - try { const res = await this.client.prolongRequestLock(requestId, { lockSecs: this.requestLockSecs }); return res.lockExpiresAt; } catch (err: any) { // Most likely we do not own the lock anymore - this.log.warning(`Failed to prolong lock for cached request ${requestId}, either lost the lock or the request was already handled\n`, { - err, - }); + this.log.warning( + `Failed to prolong lock for cached request ${requestId}, either lost the lock or the request was already handled\n`, + { + err, + }, + ); return null; } } protected override _reset() { - checkStorageAccess(); - super._reset(); this._listHeadAndLockPromise = null; } @@ -335,8 +359,6 @@ class RequestQueue extends RequestProvider { } protected async _clearPossibleLocks() { - checkStorageAccess(); - this.queuePausedForMigration = true; let requestId: string | null; @@ -350,9 +372,10 @@ class RequestQueue extends RequestProvider { } } + /** + * @inheritDoc + */ static override async open(...args: Parameters): Promise { return super.open(...args) as Promise; } } - -export { RequestQueue as RequestQueueV2 }; diff --git a/packages/core/src/storages/storage_manager.ts b/packages/core/src/storages/storage_manager.ts index 2e369654d790..86eacb7dc6ae 100644 --- a/packages/core/src/storages/storage_manager.ts +++ b/packages/core/src/storages/storage_manager.ts @@ -108,11 +108,15 @@ export class StorageManager { /** * Helper function that first requests storage by ID and if storage doesn't exist then gets it by name. */ - protected async _getOrCreateStorage(storageIdOrName: string, storageConstructorName: string, apiClient: StorageClient) { - const { - createStorageClient, - createStorageCollectionClient, - } = this._getStorageClientFactories(apiClient, storageConstructorName); + protected async _getOrCreateStorage( + storageIdOrName: string, + storageConstructorName: string, + apiClient: StorageClient, + ) { + const { createStorageClient, createStorageCollectionClient } = this._getStorageClientFactories( + apiClient, + storageConstructorName, + ); const storageClient = createStorageClient(storageIdOrName); const existingStorage = await storageClient.get(); @@ -124,7 +128,7 @@ export class StorageManager { protected _getStorageClientFactories(client: StorageClient, storageConstructorName: string) { // Dataset => dataset - const clientName = storageConstructorName[0].toLowerCase() + storageConstructorName.slice(1) as ClientNames; + const clientName = (storageConstructorName[0].toLowerCase() + storageConstructorName.slice(1)) as ClientNames; // dataset => datasets const collectionClientName = `${clientName}s` as ClientCollectionNames; diff --git a/packages/core/src/storages/utils.ts b/packages/core/src/storages/utils.ts index 72b08b53211c..87ef3c5d8d38 100644 --- a/packages/core/src/storages/utils.ts +++ b/packages/core/src/storages/utils.ts @@ -47,14 +47,14 @@ export async function purgeDefaultStorages( configOrOptions?: Configuration | PurgeDefaultStorageOptions, client?: StorageClient, ) { - const options: PurgeDefaultStorageOptions = configOrOptions instanceof Configuration ? { - client, - config: configOrOptions, - } : configOrOptions ?? {}; - const { - config = Configuration.getGlobalConfig(), - onlyPurgeOnce = false, - } = options; + const options: PurgeDefaultStorageOptions = + configOrOptions instanceof Configuration + ? { + client, + config: configOrOptions, + } + : configOrOptions ?? {}; + const { config = Configuration.getGlobalConfig(), onlyPurgeOnce = false } = options; ({ client = config.getStorageClient() } = options); const casted = client as StorageClient & { __purged?: boolean }; @@ -89,7 +89,9 @@ export async function useState( defaultValue = {} as State, options?: UseStateOptions, ) { - const kvStore = await KeyValueStore.open(options?.keyValueStoreName, { config: options?.config || Configuration.getGlobalConfig() }); + const kvStore = await KeyValueStore.open(options?.keyValueStoreName, { + config: options?.config || Configuration.getGlobalConfig(), + }); return kvStore.getAutoSavedValue(name || 'CRAWLEE_GLOBAL_STATE', defaultValue); } @@ -103,11 +105,7 @@ export async function useState( * @internal */ export function getRequestId(uniqueKey: string) { - const str = crypto - .createHash('sha256') - .update(uniqueKey) - .digest('base64') - .replace(/[+/=]/g, ''); + const str = crypto.createHash('sha256').update(uniqueKey).digest('base64').replace(/[+/=]/g, ''); return str.slice(0, 15); } diff --git a/packages/core/src/typedefs.ts b/packages/core/src/typedefs.ts index 66fc714ecd73..6f2dcaf39a5a 100644 --- a/packages/core/src/typedefs.ts +++ b/packages/core/src/typedefs.ts @@ -16,4 +16,13 @@ export function keys(obj: T) { return Object.keys(obj) as (keyof T)[]; } -export declare type AllowedHttpMethods = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'OPTIONS' | 'CONNECT' | 'PATCH'; +export declare type AllowedHttpMethods = + | 'GET' + | 'HEAD' + | 'POST' + | 'PUT' + | 'DELETE' + | 'TRACE' + | 'OPTIONS' + | 'CONNECT' + | 'PATCH'; diff --git a/packages/core/test/enqueue_links/userData.test.ts b/packages/core/test/enqueue_links/userData.test.ts index 722f4fbf6d6d..298f27ba4ab7 100644 --- a/packages/core/test/enqueue_links/userData.test.ts +++ b/packages/core/test/enqueue_links/userData.test.ts @@ -33,7 +33,7 @@ function createRequestQueueMock() { return { enqueued, requestQueue }; } -describe('enqueueLinks() - userData shouldn\'t be changed and outer label must take priority', () => { +describe("enqueueLinks() - userData shouldn't be changed and outer label must take priority", () => { let ll: number; beforeAll(() => { ll = log.getLevel(); @@ -83,7 +83,7 @@ describe('enqueueLinks() - userData shouldn\'t be changed and outer label must t expect(enqueued[1].userData.label).toBe('second'); }); - test('JSON string of userData shouldn\'t change, but enqueued label should be different', async () => { + test("JSON string of userData shouldn't change, but enqueued label should be different", async () => { const { enqueued, requestQueue } = createRequestQueueMock(); const userData = { foo: 'bar', label: 'bogus' }; diff --git a/packages/core/test/request-queue/adding-the-same-request-should-not-call-the-api.test.ts b/packages/core/test/request-queue/adding-the-same-request-should-not-call-the-api.test.ts index 5e8e0ebd8713..086c22dcc7a3 100644 --- a/packages/core/test/request-queue/adding-the-same-request-should-not-call-the-api.test.ts +++ b/packages/core/test/request-queue/adding-the-same-request-should-not-call-the-api.test.ts @@ -12,7 +12,9 @@ afterAll(() => { let requestQueueInfo: RequestQueueInfo; beforeAll(async () => { - requestQueueInfo = await Configuration.getStorageClient().requestQueues().getOrCreate('test-request-queue-not-called-on-cached-request'); + requestQueueInfo = await Configuration.getStorageClient() + .requestQueues() + .getOrCreate('test-request-queue-not-called-on-cached-request'); }); describe('RequestQueue#addRequest should not call the API if the request is already in the queue', () => { @@ -43,7 +45,10 @@ describe('RequestQueue#addRequests should not call the API if the request is alr expect(clientSpy).toHaveBeenCalledTimes(1); - await requestQueue.markRequestHandled({ id: requestData.processedRequests[0].requestId, uniqueKey: requestData.processedRequests[0].uniqueKey } as any); + await requestQueue.markRequestHandled({ + id: requestData.processedRequests[0].requestId, + uniqueKey: requestData.processedRequests[0].uniqueKey, + } as any); await requestQueue.addRequests([{ url: 'https://example2.com' }]); diff --git a/packages/core/test/request-queue/request-queue-v2.test.ts b/packages/core/test/request-queue/request-queue-v2.test.ts index db138122af84..a9c85ddd46de 100644 --- a/packages/core/test/request-queue/request-queue-v2.test.ts +++ b/packages/core/test/request-queue/request-queue-v2.test.ts @@ -1,6 +1,13 @@ /* eslint-disable dot-notation */ import { MemoryStorage } from '@crawlee/memory-storage'; -import type { ListAndLockHeadResult, ListAndLockOptions, ListOptions, ProlongRequestLockOptions, ProlongRequestLockResult, QueueHead } from '@crawlee/types'; +import type { + ListAndLockHeadResult, + ListAndLockOptions, + ListOptions, + ProlongRequestLockOptions, + ProlongRequestLockResult, + QueueHead, +} from '@crawlee/types'; import { RequestQueueV2 } from 'crawlee'; import type { SpyInstance } from 'vitest'; @@ -13,10 +20,7 @@ async function makeQueue(name: string, numOfRequestsToAdd = 0) { if (numOfRequestsToAdd) { await queue.addRequests( - Array.from( - { length: numOfRequestsToAdd }, - (_, i) => ({ url: 'https://example.com', uniqueKey: `${i}` }), - ), + Array.from({ length: numOfRequestsToAdd }, (_, i) => ({ url: 'https://example.com', uniqueKey: `${i}` })), ); } @@ -92,7 +96,10 @@ describe('RequestQueueV2#fetchNextRequest should use locking API', () => { let queue: RequestQueueV2; let clientListHeadSpy: SpyInstance<[options?: ListOptions | undefined], Promise>; let clientListAndLockHeadSpy: SpyInstance<[options: ListAndLockOptions], Promise>; - let clientProlongLockSpy: SpyInstance<[id: string, options: ProlongRequestLockOptions], Promise>; + let clientProlongLockSpy: SpyInstance< + [id: string, options: ProlongRequestLockOptions], + Promise + >; let listAndLockHeadCallCount = 0; beforeAll(async () => { diff --git a/packages/core/test/tsconfig.json b/packages/core/test/tsconfig.json index b603acdc1e68..bf55f9516b7d 100644 --- a/packages/core/test/tsconfig.json +++ b/packages/core/test/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "../../../tsconfig.json", - "include": [ - "**/*", - "../../**/*" - ], + "include": ["**/*", "../../**/*"], "compilerOptions": { "types": ["vitest/globals"] } diff --git a/packages/core/tsconfig.build.json b/packages/core/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/core/tsconfig.build.json +++ b/packages/core/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/crawlee/CHANGELOG.md b/packages/crawlee/CHANGELOG.md index 73840fe705dd..663f6842c1e0 100644 --- a/packages/crawlee/CHANGELOG.md +++ b/packages/crawlee/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package crawlee + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package crawlee + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package crawlee diff --git a/packages/crawlee/package.json b/packages/crawlee/package.json index 34c12c84377b..29ff4aa05c8e 100644 --- a/packages/crawlee/package.json +++ b/packages/crawlee/package.json @@ -1,6 +1,6 @@ { "name": "crawlee", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -54,18 +54,18 @@ "access": "public" }, "dependencies": { - "@crawlee/basic": "3.9.2", - "@crawlee/browser": "3.9.2", - "@crawlee/browser-pool": "3.9.2", - "@crawlee/cheerio": "3.9.2", - "@crawlee/cli": "3.9.2", - "@crawlee/core": "3.9.2", - "@crawlee/http": "3.9.2", - "@crawlee/jsdom": "3.9.2", - "@crawlee/linkedom": "3.9.2", - "@crawlee/playwright": "3.9.2", - "@crawlee/puppeteer": "3.9.2", - "@crawlee/utils": "3.9.2", + "@crawlee/basic": "3.10.1", + "@crawlee/browser": "3.10.1", + "@crawlee/browser-pool": "3.10.1", + "@crawlee/cheerio": "3.10.1", + "@crawlee/cli": "3.10.1", + "@crawlee/core": "3.10.1", + "@crawlee/http": "3.10.1", + "@crawlee/jsdom": "3.10.1", + "@crawlee/linkedom": "3.10.1", + "@crawlee/playwright": "3.10.1", + "@crawlee/puppeteer": "3.10.1", + "@crawlee/utils": "3.10.1", "import-local": "^3.1.0", "tslib": "^2.4.0" }, diff --git a/packages/crawlee/tsconfig.build.json b/packages/crawlee/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/crawlee/tsconfig.build.json +++ b/packages/crawlee/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/crawlee/tsconfig.json b/packages/crawlee/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/crawlee/tsconfig.json +++ b/packages/crawlee/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/http-crawler/CHANGELOG.md b/packages/http-crawler/CHANGELOG.md index 727d1dc8cc62..c450147a2974 100644 --- a/packages/http-crawler/CHANGELOG.md +++ b/packages/http-crawler/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/http + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + + +### Features + +* add `FileDownload` "crawler" ([#2435](https://github.com/apify/crawlee/issues/2435)) ([d73756b](https://github.com/apify/crawlee/commit/d73756bb225d9ed8f58cf0a3b2e0ce96f6188863)) + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/http diff --git a/packages/http-crawler/package.json b/packages/http-crawler/package.json index c5490f68c68e..28ca437d49bc 100644 --- a/packages/http-crawler/package.json +++ b/packages/http-crawler/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/http", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -55,9 +55,9 @@ "dependencies": { "@apify/timeout": "^0.3.0", "@apify/utilities": "^2.7.10", - "@crawlee/basic": "3.9.2", - "@crawlee/types": "3.9.2", - "@crawlee/utils": "3.9.2", + "@crawlee/basic": "3.10.1", + "@crawlee/types": "3.10.1", + "@crawlee/utils": "3.10.1", "@types/content-type": "^1.1.5", "cheerio": "^1.0.0-rc.12", "content-type": "^1.0.4", diff --git a/packages/http-crawler/src/index.ts b/packages/http-crawler/src/index.ts index b46fb9c4704b..26b3ec966179 100644 --- a/packages/http-crawler/src/index.ts +++ b/packages/http-crawler/src/index.ts @@ -1,2 +1,3 @@ export * from '@crawlee/basic'; export * from './internals/http-crawler'; +export * from './internals/file-download'; diff --git a/packages/http-crawler/src/internals/file-download.ts b/packages/http-crawler/src/internals/file-download.ts new file mode 100644 index 000000000000..5d7cf8760792 --- /dev/null +++ b/packages/http-crawler/src/internals/file-download.ts @@ -0,0 +1,229 @@ +import { finished } from 'stream/promises'; +import { isPromise } from 'util/types'; + +import type { Dictionary } from '@crawlee/types'; + +import type { + ErrorHandler, + GetUserDataFromRequest, + HttpCrawlerOptions, + InternalHttpCrawlingContext, + InternalHttpHook, + RequestHandler, + RouterRoutes, +} from '../index'; +import { HttpCrawler, Router } from '../index'; + +export type FileDownloadErrorHandler< + UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler + JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler +> = ErrorHandler>; + +export type StreamHandlerContext = Omit< + FileDownloadCrawlingContext, + 'body' | 'response' | 'parseWithCheerio' | 'json' | 'addRequests' | 'contentType' +> & { + stream: ReadableStream; +}; + +type StreamHandler = (context: StreamHandlerContext) => void | Promise; + +export type FileDownloadOptions< + UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler + JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler +> = + | (Omit>, 'requestHandler'> & { + requestHandler?: never; + streamHandler?: StreamHandler; + }) + | (Omit>, 'requestHandler'> & { + requestHandler: FileDownloadRequestHandler; + streamHandler?: never; + }); + +export type FileDownloadHook< + UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler + JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler +> = InternalHttpHook>; + +export interface FileDownloadCrawlingContext< + UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler + JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler +> extends InternalHttpCrawlingContext {} + +export type FileDownloadRequestHandler< + UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler + JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler +> = RequestHandler>; + +/** + * Provides a framework for downloading files in parallel using plain HTTP requests. The URLs to download are fed either from a static list of URLs or they can be added on the fly from another crawler. + * + * Since `FileDownload` uses raw HTTP requests to download the files, it is very fast and bandwith-efficient. + * However, it doesn't parse the content - if you need to e.g. extract data from the downloaded files, + * you might need to use {@apilink CheerioCrawler}, {@apilink PuppeteerCrawler} or {@apilink PlaywrightCrawler} instead. + * + * `FileCrawler` downloads each URL using a plain HTTP request and then invokes the user-provided {@apilink FileDownloadOptions.requestHandler} where the user can specify what to do with the downloaded data. + * + * The source URLs are represented using {@apilink Request} objects that are fed from {@apilink RequestList} or {@apilink RequestQueue} instances provided by the {@apilink FileDownloadOptions.requestList} or {@apilink FileDownloadOptions.requestQueue} constructor options, respectively. + * + * If both {@apilink FileDownloadOptions.requestList} and {@apilink FileDownloadOptions.requestQueue} are used, the instance first processes URLs from the {@apilink RequestList} and automatically enqueues all of them to {@apilink RequestQueue} before it starts their processing. This ensures that a single URL is not crawled multiple times. + * + * The crawler finishes when there are no more {@apilink Request} objects to crawl. + * + * We can use the `preNavigationHooks` to adjust `gotOptions`: + * + * ``` + * preNavigationHooks: [ + * (crawlingContext, gotOptions) => { + * // ... + * }, + * ] + * ``` + * + * New requests are only dispatched when there is enough free CPU and memory available, using the functionality provided by the {@apilink AutoscaledPool} class. All {@apilink AutoscaledPool} configuration options can be passed to the `autoscaledPoolOptions` parameter of the `FileCrawler` constructor. For user convenience, the `minConcurrency` and `maxConcurrency` {@apilink AutoscaledPool} options are available directly in the `FileCrawler` constructor. + * + * ## Example usage + * + * ```ts + * const crawler = new FileDownloader({ + * requestHandler({ body, request }) { + * writeFileSync(request.url.replace(/[^a-z0-9\.]/gi, '_'), body); + * }, + * }); + * + * await crawler.run([ + * 'http://www.example.com/document.pdf', + * 'http://www.example.com/sound.mp3', + * 'http://www.example.com/video.mkv', + * ]); + * ``` + */ +export class FileDownload extends HttpCrawler { + private streamHandler?: StreamHandler; + + constructor(options: FileDownloadOptions = {}) { + const { streamHandler } = options; + delete options.streamHandler; + + if (streamHandler) { + // For streams, the navigation is done in the request handler. + (options as any).requestHandlerTimeoutSecs = options.navigationTimeoutSecs ?? 120; + } + + super(options); + + this.streamHandler = streamHandler; + if (this.streamHandler) { + this.requestHandler = this.streamRequestHandler; + } + + // The base HttpCrawler class only supports a handful of text based mime types. + // With the FileDownload crawler, we want to download any file type. + (this as any).supportedMimeTypes = new Set(['*/*']); + } + + protected override async _runRequestHandler(context: FileDownloadCrawlingContext) { + if (this.streamHandler) { + context.request.skipNavigation = true; + } + + await super._runRequestHandler(context); + } + + private async streamRequestHandler(context: FileDownloadCrawlingContext) { + const { + log, + request: { url }, + } = context; + + const { gotScraping } = await import('got-scraping'); + + const stream = gotScraping.stream({ + url, + timeout: { request: undefined }, + proxyUrl: context.proxyInfo?.url, + isStream: true, + }); + + let pollingInterval: NodeJS.Timeout | undefined; + + const cleanUp = () => { + clearInterval(pollingInterval!); + stream.destroy(); + }; + + const downloadPromise = new Promise((resolve, reject) => { + pollingInterval = setInterval(() => { + const { total, transferred } = stream.downloadProgress; + + if (transferred > 0) { + log.debug(`Downloaded ${transferred} bytes of ${total ?? 0} bytes from ${url}.`); + } + }, 5000); + + stream.on('error', async (error: Error) => { + cleanUp(); + reject(error); + }); + + let streamHandlerResult; + + try { + context.stream = stream; + streamHandlerResult = this.streamHandler!(context as any); + } catch (e) { + cleanUp(); + reject(e); + } + + if (isPromise(streamHandlerResult)) { + streamHandlerResult + .then(() => { + resolve(); + }) + .catch((e: Error) => { + cleanUp(); + reject(e); + }); + } else { + resolve(); + } + }); + + await Promise.all([downloadPromise, finished(stream)]); + + cleanUp(); + } +} + +/** + * Creates new {@apilink Router} instance that works based on request labels. + * This instance can then serve as a `requestHandler` of your {@apilink FileDownload}. + * Defaults to the {@apilink FileDownloadCrawlingContext}. + * + * > Serves as a shortcut for using `Router.create()`. + * + * ```ts + * import { FileDownload, createFileRouter } from 'crawlee'; + * + * const router = createFileRouter(); + * router.addHandler('label-a', async (ctx) => { + * ctx.log.info('...'); + * }); + * router.addDefaultHandler(async (ctx) => { + * ctx.log.info('...'); + * }); + * + * const crawler = new FileDownload({ + * requestHandler: router, + * }); + * await crawler.run(); + * ``` + */ +export function createFileRouter< + Context extends FileDownloadCrawlingContext = FileDownloadCrawlingContext, + UserData extends Dictionary = GetUserDataFromRequest, +>(routes?: RouterRoutes) { + return Router.create(routes); +} diff --git a/packages/http-crawler/src/internals/http-crawler.ts b/packages/http-crawler/src/internals/http-crawler.ts index a5788957ea17..0c9b166d124c 100644 --- a/packages/http-crawler/src/internals/http-crawler.ts +++ b/packages/http-crawler/src/internals/http-crawler.ts @@ -32,8 +32,15 @@ import { RETRY_CSS_SELECTORS, gotScraping } from '@crawlee/utils'; import * as cheerio from 'cheerio'; import type { RequestLike, ResponseLike } from 'content-type'; import contentTypeParser from 'content-type'; -// @ts-expect-error This throws a compilation error due to got-scraping being ESM only but we only import types, so its alllll gooooood -import type { OptionsInit, Method, Request as GotRequest, Options, PlainResponse, TimeoutError as TimeoutErrorClass } from 'got-scraping'; +import type { + OptionsInit, + Method, + Request as GotRequest, + Options, + PlainResponse, + TimeoutError as TimeoutErrorClass, + // @ts-expect-error This throws a compilation error due to got-scraping being ESM only but we only import types, so its alllll gooooood +} from 'got-scraping'; import iconv from 'iconv-lite'; import mime from 'mime-types'; import ow from 'ow'; @@ -60,9 +67,10 @@ const HTTP_OPTIMIZED_AUTOSCALED_POOL_OPTIONS: AutoscaledPoolOptions = { export type HttpErrorHandler< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends JsonValue = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = ErrorHandler>; +> = ErrorHandler>; -export interface HttpCrawlerOptions extends BasicCrawlerOptions { +export interface HttpCrawlerOptions + extends BasicCrawlerOptions { /** * An alias for {@apilink HttpCrawlerOptions.requestHandler} * Soon to be removed, use `requestHandler` instead. @@ -173,10 +181,7 @@ export interface HttpCrawlerOptions = ( - crawlingContext: Context, - gotOptions: OptionsInit, -) => Awaitable; +export type InternalHttpHook = (crawlingContext: Context, gotOptions: OptionsInit) => Awaitable; export type HttpHook< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler @@ -190,14 +195,14 @@ export interface InternalHttpCrawlingContext< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends JsonValue = any, // with default to Dictionary we cant use a typed router in untyped crawler Crawler = HttpCrawler, - > extends CrawlingContext { +> extends CrawlingContext { /** * The request body of the web page. * The type depends on the `Content-Type` header of the web page: * - String for `text/html`, `application/xhtml+xml`, `application/xml` MIME content types * - Buffer for others MIME content types */ - body: (string | Buffer); + body: string | Buffer; /** * The parsed object from JSON string if the response contains the content type application/json. @@ -219,7 +224,7 @@ export interface HttpCrawlingContext = RequestHandler>; +> = RequestHandler>; /** * Provides a framework for the parallel crawling of web pages using plain HTTP requests. @@ -288,7 +293,9 @@ export type HttpRequestHandler< * ``` * @category Crawlers */ -export class HttpCrawler>> extends BasicCrawler { +export class HttpCrawler< + Context extends InternalHttpCrawlingContext>, +> extends BasicCrawler { /** * A reference to the underlying {@apilink ProxyConfiguration} class that manages the crawler's proxies. * Only available if used by the crawler. @@ -329,7 +336,10 @@ export class HttpCrawler = {}, override readonly config = Configuration.getGlobalConfig()) { + constructor( + options: HttpCrawlerOptions = {}, + override readonly config = Configuration.getGlobalConfig(), + ) { ow(options, 'HttpCrawlerOptions', ow.object.exactShape(HttpCrawler.optionsShape)); const { @@ -357,14 +367,18 @@ export class HttpCrawler loaded url: ${request.loadedUrl}) because it does not match the enqueue strategy (${request['enqueueStrategy']}).`, ); @@ -567,18 +587,21 @@ export class HttpCrawler { + protected async _requestFunction({ + request, + session, + proxyUrl, + gotOptions, + }: RequestFunctionOptions): Promise { if (!TimeoutError) { ({ TimeoutError } = await import('got-scraping')); } @@ -689,11 +714,20 @@ export class HttpCrawler Promise.resolve({ processedRequests: [], unprocessedRequests: [] }) }; + return { + body, + response, + contentType, + enqueueLinks: async () => Promise.resolve({ processedRequests: [], unprocessedRequests: [] }), + }; } } - protected async _parseHTML(response: IncomingMessage, _isXml: boolean, _crawlingContext: Context): Promise> { + protected async _parseHTML( + response: IncomingMessage, + _isXml: boolean, + _crawlingContext: Context, + ): Promise> { return { body: await concatStreamToBuffer(response), } as Partial; @@ -737,7 +771,11 @@ export class HttpCrawler=16.0.0" @@ -55,8 +55,8 @@ "dependencies": { "@apify/timeout": "^0.3.0", "@apify/utilities": "^2.7.10", - "@crawlee/http": "3.9.2", - "@crawlee/types": "3.9.2", + "@crawlee/http": "3.10.1", + "@crawlee/types": "3.10.1", "@types/jsdom": "^21.0.0", "cheerio": "^1.0.0-rc.12", "jsdom": "^24.0.0", diff --git a/packages/jsdom-crawler/src/internals/jsdom-crawler.ts b/packages/jsdom-crawler/src/internals/jsdom-crawler.ts index 903c6f5f5085..3e97c47183c2 100644 --- a/packages/jsdom-crawler/src/internals/jsdom-crawler.ts +++ b/packages/jsdom-crawler/src/internals/jsdom-crawler.ts @@ -30,12 +30,12 @@ import ow from 'ow'; export type JSDOMErrorHandler< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = ErrorHandler>; +> = ErrorHandler>; export interface JSDOMCrawlerOptions< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > extends HttpCrawlerOptions> { +> extends HttpCrawlerOptions> { /** * Download and run scripts. */ @@ -49,12 +49,12 @@ export interface JSDOMCrawlerOptions< export type JSDOMHook< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = InternalHttpHook>; +> = InternalHttpHook>; export interface JSDOMCrawlingContext< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > extends InternalHttpCrawlingContext { +> extends InternalHttpCrawlingContext { window: DOMWindow; document: Document; @@ -75,7 +75,7 @@ export interface JSDOMCrawlingContext< export type JSDOMRequestHandler< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = RequestHandler>; +> = RequestHandler>; /** * Provides a framework for the parallel crawling of web pages using plain HTTP requests and @@ -153,7 +153,8 @@ export type JSDOMRequestHandler< const resources = new ResourceLoader({ // Copy from /packages/browser-pool/src/abstract-classes/browser-plugin.ts:17 // in order not to include the entire package here - userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36', + userAgent: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36', }); export class JSDOMCrawler extends HttpCrawler { @@ -168,11 +169,7 @@ export class JSDOMCrawler extends HttpCrawler { protected virtualConsole: VirtualConsole | null = null; constructor(options: JSDOMCrawlerOptions = {}, config?: Configuration) { - const { - runScripts = false, - hideInternalConsole = false, - ...httpOptions - } = options; + const { runScripts = false, hideInternalConsole = false, ...httpOptions } = options; super(httpOptions, config); @@ -217,7 +214,11 @@ export class JSDOMCrawler extends HttpCrawler { context.window?.close(); } - protected override async _parseHTML(response: IncomingMessage, isXml: boolean, crawlingContext: JSDOMCrawlingContext) { + protected override async _parseHTML( + response: IncomingMessage, + isXml: boolean, + crawlingContext: JSDOMCrawlingContext, + ) { const body = await concatStreamToBuffer(response); const { window } = new JSDOM(body, { @@ -245,20 +246,28 @@ export class JSDOMCrawler extends HttpCrawler { }); window.document.createRange = () => { const range = new window.Range(); - range.getBoundingClientRect = () => ({} as any); + range.getBoundingClientRect = () => ({}) as any; range.getClientRects = () => ({ item: () => null as any, length: 0 }) as any; return range; }; if (this.runScripts) { try { - await addTimeoutToPromise(async () => { - return new Promise((resolve) => { - window.addEventListener('load', () => { - resolve(); - }, false); - }).catch(); - }, 10_000, 'Window.load event not fired after 10 seconds.').catch(); + await addTimeoutToPromise( + async () => { + return new Promise((resolve) => { + window.addEventListener( + 'load', + () => { + resolve(); + }, + false, + ); + }).catch(); + }, + 10_000, + 'Window.load event not fired after 10 seconds.', + ).catch(); } catch (e) { this.log.debug((e as Error).message); } @@ -299,7 +308,13 @@ interface EnqueueLinksInternalOptions { } /** @internal */ -export async function domCrawlerEnqueueLinks({ options, window, requestQueue, originalRequestUrl, finalRequestUrl }: EnqueueLinksInternalOptions) { +export async function domCrawlerEnqueueLinks({ + options, + window, + requestQueue, + originalRequestUrl, + finalRequestUrl, +}: EnqueueLinksInternalOptions) { if (!window) { throw new Error('Cannot enqueue links because the JSDOM is not available.'); } @@ -311,7 +326,11 @@ export async function domCrawlerEnqueueLinks({ options, window, requestQueue, or userProvidedBaseUrl: options?.baseUrl, }); - const urls = extractUrlsFromWindow(window, options?.selector ?? 'a', options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl); + const urls = extractUrlsFromWindow( + window, + options?.selector ?? 'a', + options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl, + ); return enqueueLinks({ requestQueue, diff --git a/packages/jsdom-crawler/tsconfig.build.json b/packages/jsdom-crawler/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/jsdom-crawler/tsconfig.build.json +++ b/packages/jsdom-crawler/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/jsdom-crawler/tsconfig.json b/packages/jsdom-crawler/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/jsdom-crawler/tsconfig.json +++ b/packages/jsdom-crawler/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/linkedom-crawler/CHANGELOG.md b/packages/linkedom-crawler/CHANGELOG.md index d3796460c7af..1affa574f51a 100644 --- a/packages/linkedom-crawler/CHANGELOG.md +++ b/packages/linkedom-crawler/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/linkedom + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package @crawlee/linkedom + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/linkedom diff --git a/packages/linkedom-crawler/package.json b/packages/linkedom-crawler/package.json index ba381dca3b90..f44801606bac 100644 --- a/packages/linkedom-crawler/package.json +++ b/packages/linkedom-crawler/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/linkedom", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -55,9 +55,9 @@ "dependencies": { "@apify/timeout": "^0.3.0", "@apify/utilities": "^2.7.10", - "@crawlee/http": "3.9.2", - "@crawlee/types": "3.9.2", - "linkedom": "^0.16.0", + "@crawlee/http": "3.10.1", + "@crawlee/types": "3.10.1", + "linkedom": "^0.18.0", "ow": "^0.28.2", "tslib": "^2.4.0" } diff --git a/packages/linkedom-crawler/src/internals/linkedom-crawler.ts b/packages/linkedom-crawler/src/internals/linkedom-crawler.ts index b59931ca443f..8833f259573e 100644 --- a/packages/linkedom-crawler/src/internals/linkedom-crawler.ts +++ b/packages/linkedom-crawler/src/internals/linkedom-crawler.ts @@ -12,7 +12,13 @@ import type { RouterRoutes, RequestProvider, } from '@crawlee/http'; -import { HttpCrawler, enqueueLinks, Router, resolveBaseUrlForEnqueueLinksFiltering, tryAbsoluteURL } from '@crawlee/http'; +import { + HttpCrawler, + enqueueLinks, + Router, + resolveBaseUrlForEnqueueLinksFiltering, + tryAbsoluteURL, +} from '@crawlee/http'; import type { Dictionary } from '@crawlee/types'; import type * as cheerio from 'cheerio'; // @ts-expect-error This throws a compilation error due to TypeScript not inferring the module has CJS versions too @@ -21,24 +27,24 @@ import { DOMParser } from 'linkedom/cached'; export type LinkeDOMErrorHandler< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = ErrorHandler>; +> = ErrorHandler>; export interface LinkeDOMCrawlerOptions< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > extends HttpCrawlerOptions> {} +> extends HttpCrawlerOptions> {} export interface LinkeDOMCrawlerEnqueueLinksOptions extends Omit {} export type LinkeDOMHook< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = InternalHttpHook>; +> = InternalHttpHook>; export interface LinkeDOMCrawlingContext< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > extends InternalHttpCrawlingContext { +> extends InternalHttpCrawlingContext { window: Window; // Technically the document is not of type Document but of type either HTMLDocument or XMLDocument // from linkedom/types/{html/xml}/document, depending on the content type of the response @@ -64,7 +70,7 @@ export interface LinkeDOMCrawlingContext< export type LinkeDOMRequestHandler< UserData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler JSONData extends Dictionary = any, // with default to Dictionary we cant use a typed router in untyped crawler - > = RequestHandler>; +> = RequestHandler>; /** * Provides a framework for the parallel crawling of web pages using plain HTTP requests and @@ -140,7 +146,11 @@ export type LinkeDOMRequestHandler< export class LinkeDOMCrawler extends HttpCrawler { private static parser = new DOMParser(); - protected override async _parseHTML(response: IncomingMessage, isXml: boolean, crawlingContext: LinkeDOMCrawlingContext) { + protected override async _parseHTML( + response: IncomingMessage, + isXml: boolean, + crawlingContext: LinkeDOMCrawlingContext, + ) { const body = await concatStreamToBuffer(response); const document = LinkeDOMCrawler.parser.parseFromString(body.toString(), isXml ? 'text/xml' : 'text/html'); @@ -176,7 +186,13 @@ interface EnqueueLinksInternalOptions { } /** @internal */ -export async function linkedomCrawlerEnqueueLinks({ options, window, requestQueue, originalRequestUrl, finalRequestUrl }: EnqueueLinksInternalOptions) { +export async function linkedomCrawlerEnqueueLinks({ + options, + window, + requestQueue, + originalRequestUrl, + finalRequestUrl, +}: EnqueueLinksInternalOptions) { if (!window) { throw new Error('Cannot enqueue links because the DOM is not available.'); } @@ -188,7 +204,11 @@ export async function linkedomCrawlerEnqueueLinks({ options, window, requestQueu userProvidedBaseUrl: options?.baseUrl, }); - const urls = extractUrlsFromWindow(window, options?.selector ?? 'a', options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl); + const urls = extractUrlsFromWindow( + window, + options?.selector ?? 'a', + options?.baseUrl ?? finalRequestUrl ?? originalRequestUrl, + ); return enqueueLinks({ requestQueue, diff --git a/packages/linkedom-crawler/tsconfig.build.json b/packages/linkedom-crawler/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/linkedom-crawler/tsconfig.build.json +++ b/packages/linkedom-crawler/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/linkedom-crawler/tsconfig.json b/packages/linkedom-crawler/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/linkedom-crawler/tsconfig.json +++ b/packages/linkedom-crawler/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/memory-storage/CHANGELOG.md b/packages/memory-storage/CHANGELOG.md index ca7a0033c1a1..c65d38f758d3 100644 --- a/packages/memory-storage/CHANGELOG.md +++ b/packages/memory-storage/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/memory-storage + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + + +### Bug Fixes + +* Fixed double extension for screenshots ([#2419](https://github.com/apify/crawlee/issues/2419)) ([e8b39c4](https://github.com/apify/crawlee/commit/e8b39c41764726280c995e52fa7d79a9240d993e)), closes [#1980](https://github.com/apify/crawlee/issues/1980) + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/memory-storage diff --git a/packages/memory-storage/package.json b/packages/memory-storage/package.json index f820f845a582..876b32dcb2b9 100644 --- a/packages/memory-storage/package.json +++ b/packages/memory-storage/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/memory-storage", - "version": "3.9.2", + "version": "3.10.1", "description": "A simple in-memory storage implementation of the Apify API", "engines": { "node": ">= 16" @@ -49,7 +49,7 @@ }, "dependencies": { "@apify/log": "^2.4.0", - "@crawlee/types": "3.9.2", + "@crawlee/types": "3.10.1", "@sapphire/async-queue": "^1.5.0", "@sapphire/shapeshift": "^3.0.0", "content-type": "^1.0.4", diff --git a/packages/memory-storage/src/background-handler/fs-utils.ts b/packages/memory-storage/src/background-handler/fs-utils.ts index 91368b6365e1..ea1419b42fc2 100644 --- a/packages/memory-storage/src/background-handler/fs-utils.ts +++ b/packages/memory-storage/src/background-handler/fs-utils.ts @@ -19,7 +19,9 @@ export async function handleMessage(message: BackgroundHandlerReceivedMessage) { default: // We're keeping this to make eslint happy + in the event we add a new action without adding checks for it // we should be aware of them - backgroundHandlerLog.warning(`Unknown background handler message action ${(message as BackgroundHandlerReceivedMessage).action}`); + backgroundHandlerLog.warning( + `Unknown background handler message action ${(message as BackgroundHandlerReceivedMessage).action}`, + ); } } @@ -38,18 +40,29 @@ async function updateMetadata(message: BackgroundHandlerUpdateMetadataMessage) { await writeFileP(filePath, JSON.stringify(message.data, null, '\t')); } -export async function lockAndWrite(filePath: string, data: unknown, stringify = true, retry = 10, timeout = 10): Promise { - await lockAndCallback(filePath, async () => { - await new Promise((pResolve, reject) => { - writeFile(filePath, stringify ? JSON.stringify(data, null, '\t') : data as Buffer, (err) => { - if (err) { - reject(err); - } else { - pResolve(); - } +export async function lockAndWrite( + filePath: string, + data: unknown, + stringify = true, + retry = 10, + timeout = 10, +): Promise { + await lockAndCallback( + filePath, + async () => { + await new Promise((pResolve, reject) => { + writeFile(filePath, stringify ? JSON.stringify(data, null, '\t') : (data as Buffer), (err) => { + if (err) { + reject(err); + } else { + pResolve(); + } + }); }); - }); - }, retry, timeout); + }, + retry, + timeout, + ); } export async function lockAndCallback Promise>( diff --git a/packages/memory-storage/src/background-handler/index.ts b/packages/memory-storage/src/background-handler/index.ts index 94734d02e77c..4a9f8eb3b9fe 100644 --- a/packages/memory-storage/src/background-handler/index.ts +++ b/packages/memory-storage/src/background-handler/index.ts @@ -8,10 +8,13 @@ import type { BackgroundHandlerReceivedMessage } from '../utils'; * This is used in MemoryStorage#teardown to wait for all tasks to finish executing before exiting the process. * @internal */ -export const promiseMap: Map; - resolve: () => void; -}> = new Map(); +export const promiseMap: Map< + string, + { + promise: Promise; + resolve: () => void; + } +> = new Map(); export function scheduleBackgroundTask(message: BackgroundHandlerReceivedMessage) { const id = randomUUID(); diff --git a/packages/memory-storage/src/body-parser.ts b/packages/memory-storage/src/body-parser.ts index 1667a79f7aa3..92c6ce1726c4 100644 --- a/packages/memory-storage/src/body-parser.ts +++ b/packages/memory-storage/src/body-parser.ts @@ -2,11 +2,7 @@ import contentTypeParser from 'content-type'; import JSON5 from 'json5'; const CONTENT_TYPE_JSON = 'application/json'; -const STRINGIFIABLE_CONTENT_TYPE_RXS = [ - new RegExp(`^${CONTENT_TYPE_JSON}$`, 'i'), - /^application\/.*xml$/i, - /^text\//i, -]; +const STRINGIFIABLE_CONTENT_TYPE_RXS = [new RegExp(`^${CONTENT_TYPE_JSON}$`, 'i'), /^application\/.*xml$/i, /^text\//i]; /** * Parses a Buffer or ArrayBuffer using the provided content type header. @@ -18,7 +14,10 @@ const STRINGIFIABLE_CONTENT_TYPE_RXS = [ * If the header includes a charset, the body will be stringified only * if the charset represents a known encoding to Node.js or Browser. */ -export function maybeParseBody(body: Buffer | ArrayBuffer, contentTypeHeader: string): string | Buffer | ArrayBuffer | Record { +export function maybeParseBody( + body: Buffer | ArrayBuffer, + contentTypeHeader: string, +): string | Buffer | ArrayBuffer | Record { let contentType: string; let charset: BufferEncoding; try { @@ -35,9 +34,7 @@ export function maybeParseBody(body: Buffer | ArrayBuffer, contentTypeHeader: st if (!areDataStringifiable(contentType, charset)) return body; const dataString = isomorphicBufferToString(body, charset); - return contentType === CONTENT_TYPE_JSON - ? JSON5.parse(dataString) - : dataString; + return contentType === CONTENT_TYPE_JSON ? JSON5.parse(dataString) : dataString; } function isomorphicBufferToString(buffer: Buffer | ArrayBuffer, encoding: BufferEncoding): string { diff --git a/packages/memory-storage/src/cache-helpers.ts b/packages/memory-storage/src/cache-helpers.ts index e441c5416f4d..75adcf69ab73 100644 --- a/packages/memory-storage/src/cache-helpers.ts +++ b/packages/memory-storage/src/cache-helpers.ts @@ -15,7 +15,9 @@ const uuidRegex = /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/ export async function findOrCacheDatasetByPossibleId(client: MemoryStorage, entryNameOrId: string) { // First check memory cache - const found = client.datasetClientsHandled.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase()); + const found = client.datasetClientsHandled.find( + (store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase(), + ); if (found) { return found; @@ -99,7 +101,11 @@ export async function findOrCacheDatasetByPossibleId(client: MemoryStorage, entr for (const entryId of entries.values()) { // We create a file system entry instead of possibly making an in-memory one to allow the pre-included data to be used on demand - const entry = new DatasetFileSystemEntry({ storeDirectory: datasetDir, entityId: entryId, persistStorage: true }); + const entry = new DatasetFileSystemEntry({ + storeDirectory: datasetDir, + entityId: entryId, + persistStorage: true, + }); // eslint-disable-next-line dot-notation newClient['datasetEntries'].set(entryId, entry); @@ -112,7 +118,9 @@ export async function findOrCacheDatasetByPossibleId(client: MemoryStorage, entr export async function findOrCacheKeyValueStoreByPossibleId(client: MemoryStorage, entryNameOrId: string) { // First check memory cache - const found = client.keyValueStoresHandled.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase()); + const found = client.keyValueStoresHandled.find( + (store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase(), + ); if (found) { return found; @@ -239,7 +247,11 @@ export async function findOrCacheKeyValueStoreByPossibleId(client: MemoryStorage for (const [key, record] of internalRecords) { // We create a file system entry instead of possibly making an in-memory one to allow the pre-included data to be used on demand - const entry = new KeyValueFileSystemEntry({ persistStorage: true, storeDirectory: keyValueStoreDir, writeMetadata: hasSeenMetadataForEntry }); + const entry = new KeyValueFileSystemEntry({ + persistStorage: true, + storeDirectory: keyValueStoreDir, + writeMetadata: hasSeenMetadataForEntry, + }); // eslint-disable-next-line dot-notation entry['rawRecord'] = { ...record }; @@ -259,7 +271,9 @@ export async function findOrCacheKeyValueStoreByPossibleId(client: MemoryStorage export async function findRequestQueueByPossibleId(client: MemoryStorage, entryNameOrId: string) { // First check memory cache - const found = client.requestQueuesHandled.find((store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase()); + const found = client.requestQueuesHandled.find( + (store) => store.id === entryNameOrId || store.name?.toLowerCase() === entryNameOrId.toLowerCase(), + ); if (found) { return found; diff --git a/packages/memory-storage/src/fs/dataset/index.ts b/packages/memory-storage/src/fs/dataset/index.ts index 636a80545cc0..87a39885b774 100644 --- a/packages/memory-storage/src/fs/dataset/index.ts +++ b/packages/memory-storage/src/fs/dataset/index.ts @@ -4,7 +4,9 @@ import { DatasetFileSystemEntry } from './fs'; import { DatasetMemoryEntry } from './memory'; import type { StorageImplementation } from '../common'; -export function createDatasetStorageImplementation(options: CreateStorageImplementationOptions): StorageImplementation { +export function createDatasetStorageImplementation( + options: CreateStorageImplementationOptions, +): StorageImplementation { if (options.persistStorage) { return new DatasetFileSystemEntry(options); } diff --git a/packages/memory-storage/src/fs/key-value-store/fs.ts b/packages/memory-storage/src/fs/key-value-store/fs.ts index fe62f6aa693d..64a67571c933 100644 --- a/packages/memory-storage/src/fs/key-value-store/fs.ts +++ b/packages/memory-storage/src/fs/key-value-store/fs.ts @@ -37,10 +37,14 @@ export class KeyValueFileSystemEntry implements StorageImplementation { +export function createKeyValueStorageImplementation( + options: CreateStorageImplementationOptions, +): StorageImplementation { if (options.persistStorage) { return new KeyValueFileSystemEntry(options); } diff --git a/packages/memory-storage/src/fs/request-queue/index.ts b/packages/memory-storage/src/fs/request-queue/index.ts index f15b6bd892d9..7304afe6a232 100644 --- a/packages/memory-storage/src/fs/request-queue/index.ts +++ b/packages/memory-storage/src/fs/request-queue/index.ts @@ -3,7 +3,9 @@ import { RequestQueueMemoryEntry } from './memory'; import type { InternalRequest } from '../../resource-clients/request-queue'; import type { StorageImplementation } from '../common'; -export function createRequestQueueStorageImplementation(options: CreateStorageImplementationOptions): StorageImplementation { +export function createRequestQueueStorageImplementation( + options: CreateStorageImplementationOptions, +): StorageImplementation { if (options.persistStorage) { return new RequestQueueFileSystemEntry(options); } diff --git a/packages/memory-storage/src/memory-storage.ts b/packages/memory-storage/src/memory-storage.ts index 2388e5c8c07e..60c9b35693fd 100644 --- a/packages/memory-storage/src/memory-storage.ts +++ b/packages/memory-storage/src/memory-storage.ts @@ -71,9 +71,16 @@ export class MemoryStorage implements storage.StorageClient { this.datasetsDirectory = resolve(this.localDataDirectory, 'datasets'); this.keyValueStoresDirectory = resolve(this.localDataDirectory, 'key_value_stores'); this.requestQueuesDirectory = resolve(this.localDataDirectory, 'request_queues'); - this.writeMetadata = options.writeMetadata ?? process.env.DEBUG?.includes('*') ?? process.env.DEBUG?.includes('crawlee:memory-storage') ?? false; - this.persistStorage = options.persistStorage - ?? (process.env.CRAWLEE_PERSIST_STORAGE ? !['false', '0', ''].includes(process.env.CRAWLEE_PERSIST_STORAGE!) : true); + this.writeMetadata = + options.writeMetadata ?? + process.env.DEBUG?.includes('*') ?? + process.env.DEBUG?.includes('crawlee:memory-storage') ?? + false; + this.persistStorage = + options.persistStorage ?? + (process.env.CRAWLEE_PERSIST_STORAGE + ? !['false', '0', ''].includes(process.env.CRAWLEE_PERSIST_STORAGE!) + : true); } datasets(): storage.DatasetCollectionClient { @@ -116,7 +123,12 @@ export class MemoryStorage implements storage.StorageClient { timeoutSecs: s.number.optional, }).parse(options); - return new RequestQueueClient({ id, baseStorageDirectory: this.requestQueuesDirectory, client: this, ...options }); + return new RequestQueueClient({ + id, + baseStorageDirectory: this.requestQueuesDirectory, + client: this, + ...options, + }); } async setStatusMessage(message: string, options: storage.SetStatusMessageOptions = {}): Promise { @@ -141,9 +153,13 @@ export class MemoryStorage implements storage.StorageClient { for (const keyValueStoreFolder of keyValueStores) { if (keyValueStoreFolder.startsWith('__CRAWLEE_TEMPORARY') || keyValueStoreFolder.startsWith('__OLD')) { - keyValueStorePromises.push((await this.batchRemoveFiles(resolve(this.keyValueStoresDirectory, keyValueStoreFolder)))()); + keyValueStorePromises.push( + (await this.batchRemoveFiles(resolve(this.keyValueStoresDirectory, keyValueStoreFolder)))(), + ); } else if (keyValueStoreFolder === 'default') { - keyValueStorePromises.push(this.handleDefaultKeyValueStore(resolve(this.keyValueStoresDirectory, keyValueStoreFolder))()); + keyValueStorePromises.push( + this.handleDefaultKeyValueStore(resolve(this.keyValueStoresDirectory, keyValueStoreFolder))(), + ); } } @@ -167,7 +183,9 @@ export class MemoryStorage implements storage.StorageClient { for (const requestQueueFolder of requestQueues) { if (requestQueueFolder === 'default' || requestQueueFolder.startsWith('__CRAWLEE_TEMPORARY')) { - requestQueuePromises.push((await this.batchRemoveFiles(resolve(this.requestQueuesDirectory, requestQueueFolder)))()); + requestQueuePromises.push( + (await this.batchRemoveFiles(resolve(this.requestQueuesDirectory, requestQueueFolder)))(), + ); } } @@ -188,12 +206,7 @@ export class MemoryStorage implements storage.StorageClient { const temporaryPath = resolve(folder, '../__CRAWLEE_MIGRATING_KEY_VALUE_STORE__'); // For optimization, we want to only attempt to copy a few files from the default key-value store - const possibleInputKeys = [ - 'INPUT', - 'INPUT.json', - 'INPUT.bin', - 'INPUT.txt', - ]; + const possibleInputKeys = ['INPUT', 'INPUT.json', 'INPUT.bin', 'INPUT.txt']; if (storagePathExists) { // Create temporary folder to save important files in diff --git a/packages/memory-storage/src/resource-clients/dataset-collection.ts b/packages/memory-storage/src/resource-clients/dataset-collection.ts index 5edeaf0e40ce..606f0462c083 100644 --- a/packages/memory-storage/src/resource-clients/dataset-collection.ts +++ b/packages/memory-storage/src/resource-clients/dataset-collection.ts @@ -29,8 +29,8 @@ export class DatasetCollectionClient implements storage.DatasetCollectionClient offset: 0, limit: this.client.datasetClientsHandled.length, desc: false, - items: this.client.datasetClientsHandled.map( - (store) => store.toDatasetInfo()) + items: this.client.datasetClientsHandled + .map((store) => store.toDatasetInfo()) .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime()), }; } diff --git a/packages/memory-storage/src/resource-clients/dataset.ts b/packages/memory-storage/src/resource-clients/dataset.ts index 9911aa5d3294..20496ccec4db 100644 --- a/packages/memory-storage/src/resource-clients/dataset.ts +++ b/packages/memory-storage/src/resource-clients/dataset.ts @@ -35,7 +35,10 @@ export interface DatasetClientOptions { client: MemoryStorage; } -export class DatasetClient extends BaseClient implements storage.DatasetClient { +export class DatasetClient + extends BaseClient + implements storage.DatasetClient +{ name?: string; createdAt = new Date(); accessedAt = new Date(); @@ -65,9 +68,11 @@ export class DatasetClient extends BaseCli } async update(newFields: storage.DatasetClientUpdateOptions = {}): Promise { - const parsed = s.object({ - name: s.string.lengthGreaterThan(0).optional, - }).parse(newFields); + const parsed = s + .object({ + name: s.string.lengthGreaterThan(0).optional, + }) + .parse(newFields); // Check by id const existingStoreById = await findOrCacheDatasetByPossibleId(this.client, this.name ?? this.id); @@ -82,7 +87,9 @@ export class DatasetClient extends BaseCli } // Check that name is not in use already - const existingStoreByName = this.client.datasetClientsHandled.find((store) => store.name?.toLowerCase() === parsed.name!.toLowerCase()); + const existingStoreByName = this.client.datasetClientsHandled.find( + (store) => store.name?.toLowerCase() === parsed.name!.toLowerCase(), + ); if (existingStoreByName) { this.throwOnDuplicateEntry(StorageTypes.Dataset, 'name', parsed.name); @@ -92,7 +99,10 @@ export class DatasetClient extends BaseCli const previousDir = existingStoreById.datasetDirectory; - existingStoreById.datasetDirectory = resolve(this.client.datasetsDirectory, parsed.name ?? existingStoreById.name ?? existingStoreById.id); + existingStoreById.datasetDirectory = resolve( + this.client.datasetsDirectory, + parsed.name ?? existingStoreById.name ?? existingStoreById.id, + ); await move(previousDir, existingStoreById.datasetDirectory, { overwrite: true }); @@ -123,11 +133,13 @@ export class DatasetClient extends BaseCli limit = LIST_ITEMS_LIMIT, offset = 0, desc, - } = s.object({ - desc: s.boolean.optional, - limit: s.number.int.optional, - offset: s.number.int.optional, - }).parse(options); + } = s + .object({ + desc: s.boolean.optional, + limit: s.number.int.optional, + offset: s.number.int.optional, + }) + .parse(options); // Check by id const existingStoreById = await findOrCacheDatasetByPossibleId(this.client, this.name ?? this.id); @@ -161,11 +173,13 @@ export class DatasetClient extends BaseCli } async pushItems(items: string | Data | string[] | Data[]): Promise { - const rawItems = s.union( - s.string, - s.object({} as Data).passthrough, - s.array(s.union(s.string, s.object({} as Data).passthrough)), - ).parse(items) as Data[]; + const rawItems = s + .union( + s.string, + s.object({} as Data).passthrough, + s.array(s.union(s.string, s.object({} as Data).passthrough)), + ) + .parse(items) as Data[]; // Check by id const existingStoreById = await findOrCacheDatasetByPossibleId(this.client, this.name ?? this.id); @@ -228,9 +242,7 @@ export class DatasetClient extends BaseCli items = JSON.parse(items); } - return Array.isArray(items) - ? items.map((item) => this.normalizeItem(item)) - : [this.normalizeItem(items)]; + return Array.isArray(items) ? items.map((item) => this.normalizeItem(item)) : [this.normalizeItem(items)]; } private normalizeItem(item: string | Data): Data { @@ -239,7 +251,9 @@ export class DatasetClient extends BaseCli } if (Array.isArray(item)) { - throw new Error(`Each dataset item can only be a single JSON object, not an array. Received: [${item.join(',\n')}]`); + throw new Error( + `Each dataset item can only be a single JSON object, not an array. Received: [${item.join(',\n')}]`, + ); } if (typeof item !== 'object' || item === null) { diff --git a/packages/memory-storage/src/resource-clients/key-value-store-collection.ts b/packages/memory-storage/src/resource-clients/key-value-store-collection.ts index edfaea63b41a..95086c5e97b4 100644 --- a/packages/memory-storage/src/resource-clients/key-value-store-collection.ts +++ b/packages/memory-storage/src/resource-clients/key-value-store-collection.ts @@ -29,8 +29,8 @@ export class KeyValueStoreCollectionClient implements storage.KeyValueStoreColle offset: 0, limit: this.client.keyValueStoresHandled.length, desc: false, - items: this.client.keyValueStoresHandled.map( - (store) => store.toKeyValueStoreInfo()) + items: this.client.keyValueStoresHandled + .map((store) => store.toKeyValueStoreInfo()) .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime()), }; } @@ -46,7 +46,11 @@ export class KeyValueStoreCollectionClient implements storage.KeyValueStoreColle } } - const newStore = new KeyValueStoreClient({ name, baseStorageDirectory: this.keyValueStoresDirectory, client: this.client }); + const newStore = new KeyValueStoreClient({ + name, + baseStorageDirectory: this.keyValueStoresDirectory, + client: this.client, + }); this.client.keyValueStoresHandled.push(newStore); // Schedule the worker to write to the disk diff --git a/packages/memory-storage/src/resource-clients/key-value-store.ts b/packages/memory-storage/src/resource-clients/key-value-store.ts index ef34b1c019e4..2daa3cbd53b2 100644 --- a/packages/memory-storage/src/resource-clients/key-value-store.ts +++ b/packages/memory-storage/src/resource-clients/key-value-store.ts @@ -63,9 +63,11 @@ export class KeyValueStoreClient extends BaseClient { } async update(newFields: storage.KeyValueStoreClientUpdateOptions = {}): Promise { - const parsed = s.object({ - name: s.string.lengthGreaterThan(0).optional, - }).parse(newFields); + const parsed = s + .object({ + name: s.string.lengthGreaterThan(0).optional, + }) + .parse(newFields); // Check by id const existingStoreById = await findOrCacheKeyValueStoreByPossibleId(this.client, this.name ?? this.id); @@ -80,7 +82,9 @@ export class KeyValueStoreClient extends BaseClient { } // Check that name is not in use already - const existingStoreByName = this.client.keyValueStoresHandled.find((store) => store.name?.toLowerCase() === parsed.name!.toLowerCase()); + const existingStoreByName = this.client.keyValueStoresHandled.find( + (store) => store.name?.toLowerCase() === parsed.name!.toLowerCase(), + ); if (existingStoreByName) { this.throwOnDuplicateEntry(StorageTypes.KeyValueStore, 'name', parsed.name); @@ -90,7 +94,10 @@ export class KeyValueStoreClient extends BaseClient { const previousDir = existingStoreById.keyValueStoreDirectory; - existingStoreById.keyValueStoreDirectory = resolve(this.client.keyValueStoresDirectory, parsed.name ?? existingStoreById.name ?? existingStoreById.id); + existingStoreById.keyValueStoreDirectory = resolve( + this.client.keyValueStoresDirectory, + parsed.name ?? existingStoreById.name ?? existingStoreById.id, + ); await move(previousDir, existingStoreById.keyValueStoreDirectory, { overwrite: true }); @@ -112,13 +119,12 @@ export class KeyValueStoreClient extends BaseClient { } async listKeys(options: storage.KeyValueStoreClientListOptions = {}): Promise { - const { - limit = DEFAULT_API_PARAM_LIMIT, - exclusiveStartKey, - } = s.object({ - limit: s.number.greaterThan(0).optional, - exclusiveStartKey: s.string.optional, - }).parse(options); + const { limit = DEFAULT_API_PARAM_LIMIT, exclusiveStartKey } = s + .object({ + limit: s.number.greaterThan(0).optional, + exclusiveStartKey: s.string.optional, + }) + .parse(options); // Check by id const existingStoreById = await findOrCacheKeyValueStoreByPossibleId(this.client, this.name ?? this.id); @@ -156,9 +162,7 @@ export class KeyValueStoreClient extends BaseClient { const lastItemInStore = items[items.length - 1]; const lastSelectedItem = limitedItems[limitedItems.length - 1]; const isLastSelectedItemAbsolutelyLast = lastItemInStore === lastSelectedItem; - const nextExclusiveStartKey = isLastSelectedItemAbsolutelyLast - ? undefined - : lastSelectedItem.key; + const nextExclusiveStartKey = isLastSelectedItemAbsolutelyLast ? undefined : lastSelectedItem.key; existingStoreById.updateTimestamps(false); @@ -191,7 +195,10 @@ export class KeyValueStoreClient extends BaseClient { return existingStoreById.keyValueEntries.has(key); } - async getRecord(key: string, options: storage.KeyValueStoreClientGetRecordOptions = {}): Promise { + async getRecord( + key: string, + options: storage.KeyValueStoreClientGetRecordOptions = {}, + ): Promise { s.string.parse(key); s.object({ buffer: s.boolean.optional, @@ -219,7 +226,7 @@ export class KeyValueStoreClient extends BaseClient { const record: storage.KeyValueStoreRecord = { key: entry.key, value: entry.value, - contentType: entry.contentType ?? mime.contentType(entry.extension) as string, + contentType: entry.contentType ?? (mime.contentType(entry.extension) as string), }; if (options.stream) { @@ -246,7 +253,9 @@ export class KeyValueStoreClient extends BaseClient { s.instance(ArrayBuffer), s.typedArray(), // disabling validation will make shapeshift only check the object given is an actual object, not null, nor array - s.object({}).setValidationEnabled(false), + s + .object({}) + .setValidationEnabled(false), ), contentType: s.string.lengthGreaterThan(0).optional, }).parse(record); diff --git a/packages/memory-storage/src/resource-clients/request-queue-collection.ts b/packages/memory-storage/src/resource-clients/request-queue-collection.ts index 71df99c1d1ef..290867bd3811 100644 --- a/packages/memory-storage/src/resource-clients/request-queue-collection.ts +++ b/packages/memory-storage/src/resource-clients/request-queue-collection.ts @@ -29,8 +29,8 @@ export class RequestQueueCollectionClient implements storage.RequestQueueCollect offset: 0, limit: this.client.requestQueuesHandled.length, desc: false, - items: this.client.requestQueuesHandled.map( - (store) => store.toRequestQueueInfo()) + items: this.client.requestQueuesHandled + .map((store) => store.toRequestQueueInfo()) .sort((a, b) => a.createdAt.getTime() - b.createdAt.getTime()), }; } @@ -46,7 +46,11 @@ export class RequestQueueCollectionClient implements storage.RequestQueueCollect } } - const newStore = new RequestQueueClient({ name, baseStorageDirectory: this.requestQueuesDirectory, client: this.client }); + const newStore = new RequestQueueClient({ + name, + baseStorageDirectory: this.requestQueuesDirectory, + client: this.client, + }); this.client.requestQueuesHandled.push(newStore); // Schedule the worker to write to the disk diff --git a/packages/memory-storage/src/resource-clients/request-queue.ts b/packages/memory-storage/src/resource-clients/request-queue.ts index 412ec4441290..2191316c7602 100644 --- a/packages/memory-storage/src/resource-clients/request-queue.ts +++ b/packages/memory-storage/src/resource-clients/request-queue.ts @@ -70,7 +70,7 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue this.client = options.client; } - private async getQueue() : Promise { + private async getQueue(): Promise { const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id); if (!existingQueueById) { @@ -96,9 +96,11 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue async update(newFields: { name?: string | undefined }): Promise { // The validation is intentionally loose to prevent issues // when swapping to a remote queue in production. - const parsed = s.object({ - name: s.string.lengthGreaterThan(0).optional, - }).passthrough.parse(newFields); + const parsed = s + .object({ + name: s.string.lengthGreaterThan(0).optional, + }) + .passthrough.parse(newFields); const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id); @@ -112,7 +114,9 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue } // Check that name is not in use already - const existingQueueByName = this.client.requestQueuesHandled.find((queue) => queue.name?.toLowerCase() === parsed.name!.toLowerCase()); + const existingQueueByName = this.client.requestQueuesHandled.find( + (queue) => queue.name?.toLowerCase() === parsed.name!.toLowerCase(), + ); if (existingQueueByName) { this.throwOnDuplicateEntry(StorageTypes.RequestQueue, 'name', parsed.name); @@ -122,7 +126,10 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue const previousDir = existingQueueById.requestQueueDirectory; - existingQueueById.requestQueueDirectory = resolve(this.client.requestQueuesDirectory, parsed.name ?? existingQueueById.name ?? existingQueueById.id); + existingQueueById.requestQueueDirectory = resolve( + this.client.requestQueuesDirectory, + parsed.name ?? existingQueueById.name ?? existingQueueById.id, + ); await move(previousDir, existingQueueById.requestQueueDirectory, { overwrite: true }); @@ -145,9 +152,11 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue } async listHead(options: storage.ListOptions = {}): Promise { - const { limit } = s.object({ - limit: s.number.optional.default(100), - }).parse(options); + const { limit } = s + .object({ + limit: s.number.optional.default(100), + }) + .parse(options); const existingQueueById = await findRequestQueueByPossibleId(this.client, this.name ?? this.id); @@ -180,15 +189,18 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue } async listAndLockHead(options: storage.ListAndLockOptions): Promise { - const { limit, lockSecs } = s.object({ - limit: s.number.lessThanOrEqual(25).optional.default(25), - lockSecs: s.number, - }).parse(options); + const { limit, lockSecs } = s + .object({ + limit: s.number.lessThanOrEqual(25).optional.default(25), + lockSecs: s.number, + }) + .parse(options); const queue = await this.getQueue(); const start = Date.now(); - const isLocked = (request: InternalRequest) => !request.orderNo || request.orderNo > start || request.orderNo < -start; + const isLocked = (request: InternalRequest) => + !request.orderNo || request.orderNo > start || request.orderNo < -start; const items = []; @@ -225,12 +237,17 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue } } - async prolongRequestLock(id: string, options: storage.ProlongRequestLockOptions) : Promise { + async prolongRequestLock( + id: string, + options: storage.ProlongRequestLockOptions, + ): Promise { s.string.parse(id); - const { lockSecs, forefront } = s.object({ - lockSecs: s.number, - forefront: s.boolean.optional.default(false), - }).parse(options); + const { lockSecs, forefront } = s + .object({ + lockSecs: s.number, + forefront: s.boolean.optional.default(false), + }) + .parse(options); const queue = await this.getQueue(); const request = queue.requests.get(id); @@ -257,11 +274,13 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue }; } - async deleteRequestLock(id: string, options: storage.DeleteRequestLockOptions = {}) : Promise { + async deleteRequestLock(id: string, options: storage.DeleteRequestLockOptions = {}): Promise { s.string.parse(id); - const { forefront } = s.object({ - forefront: s.boolean.optional.default(false), - }).parse(options); + const { forefront } = s + .object({ + forefront: s.boolean.optional.default(false), + }) + .parse(options); const queue = await this.getQueue(); const request = queue.requests.get(id); @@ -284,7 +303,10 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue await request?.update(internalRequest); } - async addRequest(request: storage.RequestSchema, options: storage.RequestOptions = {}): Promise { + async addRequest( + request: storage.RequestSchema, + options: storage.RequestOptions = {}, + ): Promise { requestShapeWithoutId.parse(request); requestOptionsShape.parse(options); @@ -336,7 +358,10 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue }; } - async batchAddRequests(requests: storage.RequestSchema[], options: storage.RequestOptions = {}): Promise { + async batchAddRequests( + requests: storage.RequestSchema[], + options: storage.RequestOptions = {}, + ): Promise { batchRequestShapeWithoutId.parse(requests); requestOptionsShape.parse(options); @@ -407,7 +432,10 @@ export class RequestQueueClient extends BaseClient implements storage.RequestQue return this._jsonToRequest(json); } - async updateRequest(request: storage.UpdateRequestSchema, options: storage.RequestOptions = {}): Promise { + async updateRequest( + request: storage.UpdateRequestSchema, + options: storage.RequestOptions = {}, + ): Promise { requestShape.parse(request); requestOptionsShape.parse(options); diff --git a/packages/memory-storage/src/utils.ts b/packages/memory-storage/src/utils.ts index ddbc54df94a8..d372aa2e450d 100644 --- a/packages/memory-storage/src/utils.ts +++ b/packages/memory-storage/src/utils.ts @@ -34,11 +34,7 @@ export function uniqueKeyToRequestId(uniqueKey: string): string { export function isBuffer(value: unknown): boolean { try { - s.union( - s.instance(Buffer), - s.instance(ArrayBuffer), - s.typedArray(), - ).parse(value); + s.union(s.instance(Buffer), s.instance(ArrayBuffer), s.typedArray()).parse(value); return true; } catch { @@ -47,7 +43,11 @@ export function isBuffer(value: unknown): boolean { } export function isStream(value: any): boolean { - return typeof value === 'object' && value && ['on', 'pipe'].every((key) => key in value && typeof value[key] === 'function'); + return ( + typeof value === 'object' && + value && + ['on', 'pipe'].every((key) => key in value && typeof value[key] === 'function') + ); } export const memoryStorageLog = defaultLog.child({ prefix: 'MemoryStorage' }); diff --git a/packages/memory-storage/test/fs-fallback.test.ts b/packages/memory-storage/test/fs-fallback.test.ts index f1f982b6c9b8..1f014d936bc1 100644 --- a/packages/memory-storage/test/fs-fallback.test.ts +++ b/packages/memory-storage/test/fs-fallback.test.ts @@ -17,20 +17,32 @@ describe('fallback to fs for reading', () => { beforeAll(async () => { // Create "default" key-value store and give it an entry await ensureDir(resolve(storage.keyValueStoresDirectory, 'default')); - await writeFile(resolve(storage.keyValueStoresDirectory, 'default/__metadata__.json'), JSON.stringify({ - id: randomUUID(), - name: 'default', - createdAt: expectedFsDate, - accessedAt: expectedFsDate, - modifiedAt: expectedFsDate, - })); - await writeFile(resolve(storage.keyValueStoresDirectory, 'default/INPUT.json'), JSON.stringify({ foo: 'bar but from fs' })); + await writeFile( + resolve(storage.keyValueStoresDirectory, 'default/__metadata__.json'), + JSON.stringify({ + id: randomUUID(), + name: 'default', + createdAt: expectedFsDate, + accessedAt: expectedFsDate, + modifiedAt: expectedFsDate, + }), + ); + await writeFile( + resolve(storage.keyValueStoresDirectory, 'default/INPUT.json'), + JSON.stringify({ foo: 'bar but from fs' }), + ); await ensureDir(resolve(storage.keyValueStoresDirectory, 'other')); - await writeFile(resolve(storage.keyValueStoresDirectory, 'other/INPUT.json'), JSON.stringify({ foo: 'bar but from fs' })); + await writeFile( + resolve(storage.keyValueStoresDirectory, 'other/INPUT.json'), + JSON.stringify({ foo: 'bar but from fs' }), + ); await ensureDir(resolve(storage.keyValueStoresDirectory, 'no-ext')); - await writeFile(resolve(storage.keyValueStoresDirectory, 'no-ext/INPUT'), JSON.stringify({ foo: 'bar but from fs' })); + await writeFile( + resolve(storage.keyValueStoresDirectory, 'no-ext/INPUT'), + JSON.stringify({ foo: 'bar but from fs' }), + ); await ensureDir(resolve(storage.keyValueStoresDirectory, 'invalid-json')); await writeFile(resolve(storage.keyValueStoresDirectory, 'invalid-json/INPUT.json'), '{'); @@ -57,19 +69,16 @@ describe('fallback to fs for reading', () => { }); }); - test( - 'attempting to read "other" key value store with no "__metadata__" present should read from fs, even if accessed without generating id first', - async () => { - const otherStore = storage.keyValueStore('other'); - - const input = await otherStore.getRecord('INPUT'); - expect(input).toStrictEqual({ - key: 'INPUT', - value: { foo: 'bar but from fs' }, - contentType: 'application/json; charset=utf-8', - }); - }, - ); + test('attempting to read "other" key value store with no "__metadata__" present should read from fs, even if accessed without generating id first', async () => { + const otherStore = storage.keyValueStore('other'); + + const input = await otherStore.getRecord('INPUT'); + expect(input).toStrictEqual({ + key: 'INPUT', + value: { foo: 'bar but from fs' }, + contentType: 'application/json; charset=utf-8', + }); + }); test('attempting to read non-existent "default_2" key value store should return undefined', async () => { await expect(storage.keyValueStore('default_2').get()).resolves.toBeUndefined(); diff --git a/packages/memory-storage/test/key-value-store/with-extension.test.ts b/packages/memory-storage/test/key-value-store/with-extension.test.ts index e551573f95f8..3fb5990a0bc3 100644 --- a/packages/memory-storage/test/key-value-store/with-extension.test.ts +++ b/packages/memory-storage/test/key-value-store/with-extension.test.ts @@ -15,7 +15,12 @@ describe('KeyValueStore should append extension only when needed', () => { storeDirectory: testDir, writeMetadata: true, }); - await storage.update({ key: 'jibberish', value: mockImageBuffer, contentType: 'image/jpeg', extension: 'jpeg' }); + await storage.update({ + key: 'jibberish', + value: mockImageBuffer, + contentType: 'image/jpeg', + extension: 'jpeg', + }); expect(existsSync(resolve(testDir, 'jibberish.jpeg'))).toBeTruthy(); expect(existsSync(resolve(testDir, 'jibberish'))).toBeFalsy(); @@ -28,7 +33,12 @@ describe('KeyValueStore should append extension only when needed', () => { storeDirectory: testDir, writeMetadata: true, }); - await storage.update({ key: 'jibberish.jpg', value: mockImageBuffer, contentType: 'image/jpeg', extension: 'jpeg' }); + await storage.update({ + key: 'jibberish.jpg', + value: mockImageBuffer, + contentType: 'image/jpeg', + extension: 'jpeg', + }); expect(existsSync(resolve(testDir, 'jibberish.jpg'))).toBeTruthy(); expect(existsSync(resolve(testDir, 'jibberish.jpg.jpeg'))).toBeFalsy(); diff --git a/packages/memory-storage/test/no-crash-on-big-buffers.test.ts b/packages/memory-storage/test/no-crash-on-big-buffers.test.ts index fe5a896b2a7b..67ae80fc2676 100644 --- a/packages/memory-storage/test/no-crash-on-big-buffers.test.ts +++ b/packages/memory-storage/test/no-crash-on-big-buffers.test.ts @@ -30,7 +30,7 @@ describe('MemoryStorage should not crash when saving a big buffer', () => { let zip: Buffer; if (process.env.CRAWLEE_DIFFICULT_TESTS) { - const numbers = Array.from(([...Array(18_100_000).keys()]).map((i) => i * 3_000_000)); + const numbers = Array.from([...Array(18_100_000).keys()].map((i) => i * 3_000_000)); zip = Buffer.from([...numbers]); } else { diff --git a/packages/memory-storage/test/no-writing-to-disk.test.ts b/packages/memory-storage/test/no-writing-to-disk.test.ts index 272aea1b4920..e39fb7c9c46a 100644 --- a/packages/memory-storage/test/no-writing-to-disk.test.ts +++ b/packages/memory-storage/test/no-writing-to-disk.test.ts @@ -51,9 +51,7 @@ describe('persistStorage option', () => { const directoryFiles = await readdir(storePath); expect(directoryFiles).toHaveLength(1); - expect(directoryFiles).toEqual([ - '__metadata__.json', - ]); + expect(directoryFiles).toEqual(['__metadata__.json']); }); }); }); diff --git a/packages/memory-storage/test/request-queue/handledRequestCount-should-update.test.ts b/packages/memory-storage/test/request-queue/handledRequestCount-should-update.test.ts index 2cdce4e852c6..e777cbca3665 100644 --- a/packages/memory-storage/test/request-queue/handledRequestCount-should-update.test.ts +++ b/packages/memory-storage/test/request-queue/handledRequestCount-should-update.test.ts @@ -28,14 +28,22 @@ describe('RequestQueue handledRequestCount should update', () => { }); test('adding an already handled request should increment the handledRequestCount', async () => { - await requestQueue.addRequest({ url: 'http://example.com/2', uniqueKey: '2', handledAt: new Date().toISOString() }); + await requestQueue.addRequest({ + url: 'http://example.com/2', + uniqueKey: '2', + handledAt: new Date().toISOString(), + }); const updatedStatistics = await requestQueue.get(); expect(updatedStatistics?.handledRequestCount).toEqual(2); }); test('deleting a request should decrement the handledRequestCount', async () => { - const { requestId } = await requestQueue.addRequest({ url: 'http://example.com/3', uniqueKey: '3', handledAt: new Date().toISOString() }); + const { requestId } = await requestQueue.addRequest({ + url: 'http://example.com/3', + uniqueKey: '3', + handledAt: new Date().toISOString(), + }); await requestQueue.deleteRequest(requestId); diff --git a/packages/memory-storage/test/request-queue/ignore-non-json-files.test.ts b/packages/memory-storage/test/request-queue/ignore-non-json-files.test.ts index 1cef2fba6772..a6ed41736da2 100644 --- a/packages/memory-storage/test/request-queue/ignore-non-json-files.test.ts +++ b/packages/memory-storage/test/request-queue/ignore-non-json-files.test.ts @@ -16,27 +16,33 @@ describe('when falling back to fs, Request queue should ignore non-JSON files', beforeAll(async () => { // Create "default" request queue and give it faulty entries await ensureDir(resolve(storage.requestQueuesDirectory, 'default')); - await writeFile(resolve(storage.requestQueuesDirectory, 'default/__metadata__.json'), JSON.stringify({ - id: randomUUID(), - name: 'default', - createdAt: new Date(2022, 0, 1), - accessedAt: new Date(2022, 0, 1), - modifiedAt: new Date(2022, 0, 1), - })); - - await writeFile(resolve(storage.requestQueuesDirectory, 'default/123.json'), JSON.stringify({ - id: '123', - orderNo: 1, - url: 'http://example.com', - uniqueKey: 'owo', - method: 'GET', - retryCount: 0, - json: JSON.stringify({ - uniqueKey: 'owo', - url: 'http://example.com', + await writeFile( + resolve(storage.requestQueuesDirectory, 'default/__metadata__.json'), + JSON.stringify({ + id: randomUUID(), + name: 'default', + createdAt: new Date(2022, 0, 1), + accessedAt: new Date(2022, 0, 1), + modifiedAt: new Date(2022, 0, 1), + }), + ); + + await writeFile( + resolve(storage.requestQueuesDirectory, 'default/123.json'), + JSON.stringify({ id: '123', - } satisfies RequestSchema), - } satisfies InternalRequest)); + orderNo: 1, + url: 'http://example.com', + uniqueKey: 'owo', + method: 'GET', + retryCount: 0, + json: JSON.stringify({ + uniqueKey: 'owo', + url: 'http://example.com', + id: '123', + } satisfies RequestSchema), + } satisfies InternalRequest), + ); await writeFile(resolve(storage.requestQueuesDirectory, 'default/.DS_Store'), 'owo'); await writeFile(resolve(storage.requestQueuesDirectory, 'default/invalid.txt'), 'owo'); diff --git a/packages/memory-storage/test/tsconfig.json b/packages/memory-storage/test/tsconfig.json index b603acdc1e68..bf55f9516b7d 100644 --- a/packages/memory-storage/test/tsconfig.json +++ b/packages/memory-storage/test/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "../../../tsconfig.json", - "include": [ - "**/*", - "../../**/*" - ], + "include": ["**/*", "../../**/*"], "compilerOptions": { "types": ["vitest/globals"] } diff --git a/packages/memory-storage/test/write-metadata.test.ts b/packages/memory-storage/test/write-metadata.test.ts index bd70f1691f80..eb36325950e9 100644 --- a/packages/memory-storage/test/write-metadata.test.ts +++ b/packages/memory-storage/test/write-metadata.test.ts @@ -66,7 +66,10 @@ describe('writeMetadata option', () => { await keyValueStore.setRecord({ key: 'foo', value: 'test' }); const expectedFilePath = resolve(storage.keyValueStoresDirectory, `${keyValueStoreInfo.id}/foo.txt`); - const expectedMetadataPath = resolve(storage.keyValueStoresDirectory, `${keyValueStoreInfo.id}/foo.__metadata__.json`); + const expectedMetadataPath = resolve( + storage.keyValueStoresDirectory, + `${keyValueStoreInfo.id}/foo.__metadata__.json`, + ); await Promise.all([waitTillWrittenToDisk(expectedFilePath), waitTillWrittenToDisk(expectedMetadataPath)]); const directoryFiles = await readdir(resolve(storage.keyValueStoresDirectory, `${keyValueStoreInfo.id}`)); diff --git a/packages/memory-storage/tsconfig.build.json b/packages/memory-storage/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/memory-storage/tsconfig.build.json +++ b/packages/memory-storage/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/memory-storage/tsconfig.json b/packages/memory-storage/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/memory-storage/tsconfig.json +++ b/packages/memory-storage/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/playwright-crawler/CHANGELOG.md b/packages/playwright-crawler/CHANGELOG.md index c3262f7eef76..50eefc19e659 100644 --- a/packages/playwright-crawler/CHANGELOG.md +++ b/packages/playwright-crawler/CHANGELOG.md @@ -3,6 +3,25 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/playwright + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + + +### Bug Fixes + +* do not drop statistics on migration/resurrection/resume ([#2462](https://github.com/apify/crawlee/issues/2462)) ([8ce7dd4](https://github.com/apify/crawlee/commit/8ce7dd4ae6a3718dac95e784a53bd5661c827edc)) + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/playwright diff --git a/packages/playwright-crawler/package.json b/packages/playwright-crawler/package.json index b2e02527f6d5..7f1842b4316a 100644 --- a/packages/playwright-crawler/package.json +++ b/packages/playwright-crawler/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/playwright", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -56,16 +56,17 @@ "@apify/datastructures": "^2.0.0", "@apify/log": "^2.4.0", "@apify/timeout": "^0.3.1", - "@crawlee/browser": "3.9.2", - "@crawlee/browser-pool": "3.9.2", - "@crawlee/core": "3.9.2", - "@crawlee/types": "3.9.2", - "@crawlee/utils": "3.9.2", + "@crawlee/browser": "3.10.1", + "@crawlee/browser-pool": "3.10.1", + "@crawlee/core": "3.10.1", + "@crawlee/types": "3.10.1", + "@crawlee/utils": "3.10.1", "cheerio": "^1.0.0-rc.12", "idcac-playwright": "^0.1.2", "jquery": "^3.6.0", "lodash.isequal": "^4.5.0", "ml-logistic-regression": "^2.0.0", + "ml-matrix": "^6.11.0", "ow": "^0.28.1", "string-comparison": "^1.3.0", "tslib": "^2.4.0" diff --git a/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts b/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts index 607fecfd189e..a1dbf2a94e73 100644 --- a/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts +++ b/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts @@ -1,6 +1,13 @@ import { addTimeoutToPromise } from '@apify/timeout'; import { extractUrlsFromPage } from '@crawlee/browser'; -import type { RestrictedCrawlingContext, StatisticState, StatisticPersistedState, GetUserDataFromRequest, RouterRoutes } from '@crawlee/core'; +import type { + RestrictedCrawlingContext, + StatisticState, + StatisticsOptions, + StatisticPersistedState, + GetUserDataFromRequest, + RouterRoutes, +} from '@crawlee/core'; import { Configuration, RequestHandlerResult, Router, Statistics, withCheckedStorageAccess } from '@crawlee/core'; import type { Awaitable, Dictionary } from '@crawlee/types'; import { extractUrlsFromCheerio } from '@crawlee/utils'; @@ -11,7 +18,7 @@ import type { PlaywrightCrawlerOptions, PlaywrightCrawlingContext } from './play import { PlaywrightCrawler } from './playwright-crawler'; import { RenderingTypePredictor, type RenderingType } from './utils/rendering-type-prediction'; -type Result = { result: TResult; ok: true } | { error: unknown; ok: false } +type Result = { result: TResult; ok: true } | { error: unknown; ok: false }; interface AdaptivePlaywrightCrawlerStatisticState extends StatisticState { httpOnlyRequestHandlerRuns?: number; @@ -28,6 +35,11 @@ interface AdaptivePlaywrightCrawlerPersistedStatisticState extends StatisticPers class AdaptivePlaywrightCrawlerStatistics extends Statistics { override state: AdaptivePlaywrightCrawlerStatisticState = null as any; // this needs to be assigned for a valid override, but the initialization is done by a reset() call from the parent constructor + constructor(options: StatisticsOptions = {}) { + super(options); + this.reset(); + } + override reset(): void { super.reset(); this.state.httpOnlyRequestHandlerRuns = 0; @@ -37,7 +49,9 @@ class AdaptivePlaywrightCrawlerStatistics extends Statistics { protected override async _maybeLoadStatistics(): Promise { await super._maybeLoadStatistics(); - const savedState = await this.keyValueStore?.getValue(this.persistStateKey); + const savedState = await this.keyValueStore?.getValue( + this.persistStateKey, + ); if (!savedState) { return; @@ -71,7 +85,8 @@ export interface AdaptivePlaywrightCrawlerContext extends RestrictedCrawlingCont querySelector: (selector: string, timeoutMs?: number) => Awaitable>; } -export interface AdaptivePlaywrightCrawlerOptions extends Omit { +export interface AdaptivePlaywrightCrawlerOptions + extends Omit { /** * Function that is called to process each request. * @@ -161,7 +176,8 @@ export class AdaptivePlaywrightCrawler extends PlaywrightCrawler { ) { super(options, config); this.adaptiveRequestHandler = requestHandler; - this.renderingTypePredictor = renderingTypePredictor ?? new RenderingTypePredictor({ detectionRatio: renderingTypeDetectionRatio }); + this.renderingTypePredictor = + renderingTypePredictor ?? new RenderingTypePredictor({ detectionRatio: renderingTypeDetectionRatio }); this.resultChecker = resultChecker ?? (() => true); if (resultComparator !== undefined) { @@ -170,11 +186,13 @@ export class AdaptivePlaywrightCrawler extends PlaywrightCrawler { this.resultComparator = (resultA, resultB) => this.resultChecker(resultA) && this.resultChecker(resultB); } else { this.resultComparator = (resultA, resultB) => { - return resultA.datasetItems.length === resultB.datasetItems.length - && resultA.datasetItems.every((itemA, i) => { + return ( + resultA.datasetItems.length === resultB.datasetItems.length && + resultA.datasetItems.every((itemA, i) => { const itemB = resultB.datasetItems[i]; return isEqual(itemA, itemB); - }); + }) + ); }; } @@ -192,7 +210,9 @@ export class AdaptivePlaywrightCrawler extends PlaywrightCrawler { const shouldDetectRenderingType = Math.random() < renderingTypePrediction.detectionProbabilityRecommendation; if (!shouldDetectRenderingType) { - crawlingContext.log.info(`Predicted rendering type ${renderingTypePrediction.renderingType} for ${crawlingContext.request.url}`); + crawlingContext.log.info( + `Predicted rendering type ${renderingTypePrediction.renderingType} for ${crawlingContext.request.url}`, + ); } if (renderingTypePrediction.renderingType === 'static' && !shouldDetectRenderingType) { @@ -205,10 +225,16 @@ export class AdaptivePlaywrightCrawler extends PlaywrightCrawler { crawlingContext.log.info(`HTTP-only request handler succeeded for ${crawlingContext.request.url}`); await this.commitResult(crawlingContext, plainHTTPRun.result); return; - } if (!plainHTTPRun.ok) { - crawlingContext.log.exception(plainHTTPRun.error as Error, `HTTP-only request handler failed for ${crawlingContext.request.url}`); + } + if (!plainHTTPRun.ok) { + crawlingContext.log.exception( + plainHTTPRun.error as Error, + `HTTP-only request handler failed for ${crawlingContext.request.url}`, + ); } else { - crawlingContext.log.warning(`HTTP-only request handler returned a suspicious result for ${crawlingContext.request.url}`); + crawlingContext.log.warning( + `HTTP-only request handler returned a suspicious result for ${crawlingContext.request.url}`, + ); this.stats.trackRenderingTypeMisprediction(); } } @@ -255,20 +281,27 @@ export class AdaptivePlaywrightCrawler extends PlaywrightCrawler { ...Object.entries(keyValueStoreChanges).map(async ([storeIdOrName, changes]) => { const store = await crawlingContext.getKeyValueStore(storeIdOrName); await Promise.all( - Object.entries(changes).map(async ([key, { changedValue, options }]) => store.setValue(key, changedValue, options)), + Object.entries(changes).map(async ([key, { changedValue, options }]) => + store.setValue(key, changedValue, options), + ), ); }), ]); } - protected allowStorageAccess(func: (...args: TArgs) => Promise): ((...args: TArgs) => Promise) { - return async (...args: TArgs) => withCheckedStorageAccess( - () => { }, - async () => func(...args), - ); + protected allowStorageAccess( + func: (...args: TArgs) => Promise, + ): (...args: TArgs) => Promise { + return async (...args: TArgs) => + withCheckedStorageAccess( + () => {}, + async () => func(...args), + ); } - protected async runRequestHandlerInBrowser(crawlingContext: PlaywrightCrawlingContext): Promise> { + protected async runRequestHandlerInBrowser( + crawlingContext: PlaywrightCrawlingContext, + ): Promise> { const result = new RequestHandlerResult(this.config, AdaptivePlaywrightCrawler.CRAWLEE_STATE_KEY); try { @@ -276,36 +309,44 @@ export class AdaptivePlaywrightCrawler extends PlaywrightCrawler { new Proxy(this, { get: (target, propertyName, receiver) => { if (propertyName === 'userProvidedRequestHandler') { - return (async (playwrightContext: PlaywrightCrawlingContext) => withCheckedStorageAccess( - () => { - throw new Error('Directly accessing storage in a request handler is not allowed in AdaptivePlaywrightCrawler'); - }, - () => this.adaptiveRequestHandler({ - request: crawlingContext.request, - log: crawlingContext.log, - querySelector: async (selector, timeoutMs) => { - const locator = playwrightContext.page.locator(selector).first(); - await locator.waitFor({ timeout: timeoutMs }); - return (await playwrightContext.parseWithCheerio())(selector) as Cheerio; - }, - enqueueLinks: async (options = {}) => { - const selector = options.selector ?? 'a'; - const locator = playwrightContext.page.locator(selector).first(); - await locator.waitFor(); - - const urls = await extractUrlsFromPage( - playwrightContext.page, - selector, - options.baseUrl ?? playwrightContext.request.loadedUrl ?? playwrightContext.request.url, + return async (playwrightContext: PlaywrightCrawlingContext) => + withCheckedStorageAccess( + () => { + throw new Error( + 'Directly accessing storage in a request handler is not allowed in AdaptivePlaywrightCrawler', ); - await result.enqueueLinks({ ...options, urls }); }, - addRequests: result.addRequests, - pushData: result.pushData, - useState: this.allowStorageAccess(result.useState), - getKeyValueStore: this.allowStorageAccess(result.getKeyValueStore), - }), - )); + () => + this.adaptiveRequestHandler({ + request: crawlingContext.request, + log: crawlingContext.log, + querySelector: async (selector, timeoutMs) => { + const locator = playwrightContext.page.locator(selector).first(); + await locator.waitFor({ timeout: timeoutMs }); + return (await playwrightContext.parseWithCheerio())( + selector, + ) as Cheerio; + }, + enqueueLinks: async (options = {}) => { + const selector = options.selector ?? 'a'; + const locator = playwrightContext.page.locator(selector).first(); + await locator.waitFor(); + + const urls = await extractUrlsFromPage( + playwrightContext.page, + selector, + options.baseUrl ?? + playwrightContext.request.loadedUrl ?? + playwrightContext.request.url, + ); + await result.enqueueLinks({ ...options, urls }); + }, + addRequests: result.addRequests, + pushData: result.pushData, + useState: this.allowStorageAccess(result.useState), + getKeyValueStore: this.allowStorageAccess(result.getKeyValueStore), + }), + ); } return Reflect.get(target, propertyName, receiver); }, @@ -318,7 +359,9 @@ export class AdaptivePlaywrightCrawler extends PlaywrightCrawler { } } - protected async runRequestHandlerWithPlainHTTP(crawlingContext: PlaywrightCrawlingContext): Promise> { + protected async runRequestHandlerWithPlainHTTP( + crawlingContext: PlaywrightCrawlingContext, + ): Promise> { const result = new RequestHandlerResult(this.config, AdaptivePlaywrightCrawler.CRAWLEE_STATE_KEY); const response = await crawlingContext.sendRequest({}); @@ -329,25 +372,35 @@ export class AdaptivePlaywrightCrawler extends PlaywrightCrawler { try { await withCheckedStorageAccess( () => { - throw new Error('Directly accessing storage in a request handler is not allowed in AdaptivePlaywrightCrawler'); + throw new Error( + 'Directly accessing storage in a request handler is not allowed in AdaptivePlaywrightCrawler', + ); }, - async () => addTimeoutToPromise( - async () => this.adaptiveRequestHandler({ - request: crawlingContext.request, - log: crawlingContext.log, - querySelector: (selector) => $(selector) as Cheerio, - enqueueLinks: async (options: Parameters[0] = {}) => { - const urls = extractUrlsFromCheerio($, options.selector, options.baseUrl ?? loadedUrl); - await result.enqueueLinks({ ...options, urls }); - }, - addRequests: result.addRequests, - pushData: result.pushData, - useState: this.allowStorageAccess(result.useState), - getKeyValueStore: this.allowStorageAccess(result.getKeyValueStore), - }), - this.requestHandlerTimeoutInnerMillis, - 'Request handler timed out', - ), + async () => + addTimeoutToPromise( + async () => + this.adaptiveRequestHandler({ + request: crawlingContext.request, + log: crawlingContext.log, + querySelector: (selector) => $(selector) as Cheerio, + enqueueLinks: async ( + options: Parameters[0] = {}, + ) => { + const urls = extractUrlsFromCheerio( + $, + options.selector, + options.baseUrl ?? loadedUrl, + ); + await result.enqueueLinks({ ...options, urls }); + }, + addRequests: result.addRequests, + pushData: result.pushData, + useState: this.allowStorageAccess(result.useState), + getKeyValueStore: this.allowStorageAccess(result.getKeyValueStore), + }), + this.requestHandlerTimeoutInnerMillis, + 'Request handler timed out', + ), ); return { result, ok: true }; diff --git a/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts b/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts index 3b4a472475ac..897e7da974c6 100644 --- a/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts +++ b/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts @@ -19,12 +19,7 @@ import { } from '@crawlee/browser'; import type { Dictionary, BatchAddRequestsResult } from '@crawlee/types'; import ow from 'ow'; -import type { - Page, - Frame, - Request, - Route, -} from 'playwright'; +import type { Page, Frame, Request, Route } from 'playwright'; const STARTING_Z_INDEX = 2147400000; const log = log_.child({ prefix: 'Playwright Click Elements' }); @@ -215,32 +210,28 @@ export interface EnqueueLinksByClickingElementsOptions { * * @returns Promise that resolves to {@apilink BatchAddRequestsResult} object. */ -export async function enqueueLinksByClickingElements(options: EnqueueLinksByClickingElementsOptions): Promise { - ow(options, ow.object.exactShape({ - page: ow.object.hasKeys('goto', 'evaluate'), - requestQueue: ow.object.hasKeys('fetchNextRequest', 'addRequest'), - selector: ow.string, - userData: ow.optional.object, - clickOptions: ow.optional.object.hasKeys('clickCount', 'delay'), - pseudoUrls: ow.optional.array.ofType(ow.any( - ow.string, - ow.object.hasKeys('purl'), - )), - globs: ow.optional.array.ofType(ow.any( - ow.string, - ow.object.hasKeys('glob'), - )), - regexps: ow.optional.array.ofType(ow.any( - ow.regExp, - ow.object.hasKeys('regexp'), - )), - transformRequestFunction: ow.optional.function, - waitForPageIdleSecs: ow.optional.number, - maxWaitForPageIdleSecs: ow.optional.number, - label: ow.optional.string, - forefront: ow.optional.boolean, - skipNavigation: ow.optional.boolean, - })); +export async function enqueueLinksByClickingElements( + options: EnqueueLinksByClickingElementsOptions, +): Promise { + ow( + options, + ow.object.exactShape({ + page: ow.object.hasKeys('goto', 'evaluate'), + requestQueue: ow.object.hasKeys('fetchNextRequest', 'addRequest'), + selector: ow.string, + userData: ow.optional.object, + clickOptions: ow.optional.object.hasKeys('clickCount', 'delay'), + pseudoUrls: ow.optional.array.ofType(ow.any(ow.string, ow.object.hasKeys('purl'))), + globs: ow.optional.array.ofType(ow.any(ow.string, ow.object.hasKeys('glob'))), + regexps: ow.optional.array.ofType(ow.any(ow.regExp, ow.object.hasKeys('regexp'))), + transformRequestFunction: ow.optional.function, + waitForPageIdleSecs: ow.optional.number, + maxWaitForPageIdleSecs: ow.optional.number, + label: ow.optional.string, + forefront: ow.optional.boolean, + skipNavigation: ow.optional.boolean, + }), + ); const { page, @@ -308,14 +299,10 @@ interface ClickElementsAndInterceptNavigationRequestsOptions extends WaitForPage * Returns a list of all target URLs. * @ignore */ -export async function clickElementsAndInterceptNavigationRequests(options: ClickElementsAndInterceptNavigationRequestsOptions): Promise { - const { - page, - selector, - waitForPageIdleMillis, - maxWaitForPageIdleMillis, - clickOptions, - } = options; +export async function clickElementsAndInterceptNavigationRequests( + options: ClickElementsAndInterceptNavigationRequestsOptions, +): Promise { + const { page, selector, waitForPageIdleMillis, maxWaitForPageIdleMillis, clickOptions } = options; const uniqueRequests = new Set(); const context = page.context(); @@ -347,15 +334,20 @@ export async function clickElementsAndInterceptNavigationRequests(options: Click /** * @ignore */ -function createInterceptRequestHandler(page: Page, requests: Set): (route: Route, request: Request) => Promise { +function createInterceptRequestHandler( + page: Page, + requests: Set, +): (route: Route, request: Request) => Promise { return async function onInterceptedRequest(route, request) { if (!isTopFrameNavigationRequest(page, request)) return route.continue(); - requests.add(JSON.stringify({ - url: request.url(), - headers: request.headers(), - method: request.method(), - payload: request.postData() ?? undefined, - })); + requests.add( + JSON.stringify({ + url: request.url(), + headers: request.headers(), + method: request.method(), + payload: request.postData() ?? undefined, + }), + ); if (request.redirectedFrom()) { return route.fulfill({ body: '' }); // Prevents 301/302 redirect @@ -386,8 +378,7 @@ function createTargetCreatedHandler(requests: Set): (popup: Page) => Pro * @ignore */ function isTopFrameNavigationRequest(page: Page, req: Request): boolean { - return req.isNavigationRequest() - && req.frame() === page.mainFrame(); + return req.isNavigationRequest() && req.frame() === page.mainFrame(); } /** @@ -476,15 +467,19 @@ export async function clickElements(page: Page, selector: string, clickOptions?: } catch (err) { const e = err as Error; if (shouldLogWarning && e.stack!.includes('is detached from document')) { - log.warning(`An element with selector ${selector} that you're trying to click has been removed from the page. ` - + 'This was probably caused by an earlier click which triggered some JavaScript on the page that caused it to change. ' - + 'If you\'re trying to enqueue pagination links, we suggest using the "next" button, if available and going one by one.'); + log.warning( + `An element with selector ${selector} that you're trying to click has been removed from the page. ` + + 'This was probably caused by an earlier click which triggered some JavaScript on the page that caused it to change. ' + + 'If you\'re trying to enqueue pagination links, we suggest using the "next" button, if available and going one by one.', + ); shouldLogWarning = false; } log.debug('enqueueLinksByClickingElements: Click failed.', { stack: e.stack }); } } - log.debug(`enqueueLinksByClickingElements: Successfully clicked ${clickedElementsCount} elements out of ${elementHandles.length}`); + log.debug( + `enqueueLinksByClickingElements: Successfully clicked ${clickedElementsCount} elements out of ${elementHandles.length}`, + ); } /** @@ -501,7 +496,11 @@ export async function clickElements(page: Page, selector: string, clickOptions?: * when there's only a single element to click. * @ignore */ -async function waitForPageIdle({ page, waitForPageIdleMillis, maxWaitForPageIdleMillis }: WaitForPageIdleOptions): Promise { +async function waitForPageIdle({ + page, + waitForPageIdleMillis, + maxWaitForPageIdleMillis, +}: WaitForPageIdleOptions): Promise { return new Promise((resolve) => { let timeout: NodeJS.Timeout; let maxTimeout: NodeJS.Timeout; @@ -517,15 +516,15 @@ async function waitForPageIdle({ page, waitForPageIdleMillis, maxWaitForPageIdle } function maxTimeoutHandler() { - log.debug(`enqueueLinksByClickingElements: Page still showed activity after ${maxWaitForPageIdleMillis}ms. ` - + 'This is probably due to the website itself dispatching requests, but some links may also have been missed.'); + log.debug( + `enqueueLinksByClickingElements: Page still showed activity after ${maxWaitForPageIdleMillis}ms. ` + + 'This is probably due to the website itself dispatching requests, but some links may also have been missed.', + ); finish(); } function finish() { - page.off('request', activityHandler) - .off('framenavigated', activityHandler) - .off('popup', activityHandler); + page.off('request', activityHandler).off('framenavigated', activityHandler).off('popup', activityHandler); resolve(); } diff --git a/packages/playwright-crawler/src/internals/playwright-crawler.ts b/packages/playwright-crawler/src/internals/playwright-crawler.ts index 7470ad8be934..041315a9d2a4 100644 --- a/packages/playwright-crawler/src/internals/playwright-crawler.ts +++ b/packages/playwright-crawler/src/internals/playwright-crawler.ts @@ -17,16 +17,15 @@ import { PlaywrightLauncher } from './playwright-launcher'; import type { DirectNavigationOptions, PlaywrightContextUtils } from './utils/playwright-utils'; import { gotoExtended, registerUtilsToContext } from './utils/playwright-utils'; -export interface PlaywrightCrawlingContext extends - BrowserCrawlingContext, PlaywrightContextUtils {} +export interface PlaywrightCrawlingContext + extends BrowserCrawlingContext, + PlaywrightContextUtils {} export interface PlaywrightHook extends BrowserHook {} export interface PlaywrightRequestHandler extends BrowserRequestHandler {} export type PlaywrightGotoOptions = Parameters[1]; -export interface PlaywrightCrawlerOptions extends BrowserCrawlerOptions< - PlaywrightCrawlingContext, - { browserPlugins: [PlaywrightPlugin] } -> { +export interface PlaywrightCrawlerOptions + extends BrowserCrawlerOptions { /** * The same options as used by {@apilink launchPlaywright}. */ @@ -187,7 +186,11 @@ export interface PlaywrightCrawlerOptions extends BrowserCrawlerOptions< * ``` * @category Crawlers */ -export class PlaywrightCrawler extends BrowserCrawler<{ browserPlugins: [PlaywrightPlugin] }, LaunchOptions, PlaywrightCrawlingContext> { +export class PlaywrightCrawler extends BrowserCrawler< + { browserPlugins: [PlaywrightPlugin] }, + LaunchOptions, + PlaywrightCrawlingContext +> { protected static override optionsShape = { ...BrowserCrawler.optionsShape, browserPoolOptions: ow.optional.object, @@ -197,22 +200,23 @@ export class PlaywrightCrawler extends BrowserCrawler<{ browserPlugins: [Playwri /** * All `PlaywrightCrawler` parameters are passed via an options object. */ - constructor(private readonly options: PlaywrightCrawlerOptions = {}, override readonly config = Configuration.getGlobalConfig()) { + constructor( + private readonly options: PlaywrightCrawlerOptions = {}, + override readonly config = Configuration.getGlobalConfig(), + ) { ow(options, 'PlaywrightCrawlerOptions', ow.object.exactShape(PlaywrightCrawler.optionsShape)); - const { - launchContext = {}, - headless, - ...browserCrawlerOptions - } = options; + const { launchContext = {}, headless, ...browserCrawlerOptions } = options; const browserPoolOptions = { ...options.browserPoolOptions, } as BrowserPoolOptions; if (launchContext.proxyUrl) { - throw new Error('PlaywrightCrawlerOptions.launchContext.proxyUrl is not allowed in PlaywrightCrawler.' - + 'Use PlaywrightCrawlerOptions.proxyConfiguration'); + throw new Error( + 'PlaywrightCrawlerOptions.launchContext.proxyUrl is not allowed in PlaywrightCrawler.' + + 'Use PlaywrightCrawlerOptions.proxyConfiguration', + ); } // `browserPlugins` is working when it's not overriden by `launchContext`, @@ -228,9 +232,7 @@ export class PlaywrightCrawler extends BrowserCrawler<{ browserPlugins: [Playwri const playwrightLauncher = new PlaywrightLauncher(launchContext, config); - browserPoolOptions.browserPlugins = [ - playwrightLauncher.createBrowserPlugin(), - ]; + browserPoolOptions.browserPlugins = [playwrightLauncher.createBrowserPlugin()]; super({ ...browserCrawlerOptions, launchContext, browserPoolOptions }, config); } @@ -240,7 +242,10 @@ export class PlaywrightCrawler extends BrowserCrawler<{ browserPlugins: [Playwri await super._runRequestHandler(context); } - protected override async _navigationHandler(crawlingContext: PlaywrightCrawlingContext, gotoOptions: DirectNavigationOptions) { + protected override async _navigationHandler( + crawlingContext: PlaywrightCrawlingContext, + gotoOptions: DirectNavigationOptions, + ) { return gotoExtended(crawlingContext.page, crawlingContext.request, gotoOptions); } } diff --git a/packages/playwright-crawler/src/internals/playwright-launcher.ts b/packages/playwright-crawler/src/internals/playwright-launcher.ts index 43c355c155ae..f4fac6cf8fd4 100644 --- a/packages/playwright-crawler/src/internals/playwright-launcher.ts +++ b/packages/playwright-crawler/src/internals/playwright-launcher.ts @@ -49,17 +49,17 @@ export interface PlaywrightLaunchContext extends BrowserLaunchContext { ow(launchContext, 'PlaywrightLauncherOptions', ow.object.exactShape(PlaywrightLauncher.optionsShape)); const { - launcher = BrowserLauncher.requireLauncherOrThrow('playwright', 'apify/actor-node-playwright-*').chromium, + launcher = BrowserLauncher.requireLauncherOrThrow( + 'playwright', + 'apify/actor-node-playwright-*', + ).chromium, } = launchContext; const { launchOptions = {}, ...rest } = launchContext; - super({ - ...rest, - launchOptions: { - ...launchOptions, - executablePath: getDefaultExecutablePath(launchContext, config), + super( + { + ...rest, + launchOptions: { + ...launchOptions, + executablePath: getDefaultExecutablePath(launchContext, config), + }, + launcher, }, - launcher, - }, config); + config, + ); this.Plugin = PlaywrightPlugin; } @@ -171,7 +177,10 @@ function getDefaultExecutablePath(launchContext: PlaywrightLaunchContext, config * @returns * Promise that resolves to Playwright's `Browser` instance. */ -export async function launchPlaywright(launchContext?: PlaywrightLaunchContext, config = Configuration.getGlobalConfig()): Promise { +export async function launchPlaywright( + launchContext?: PlaywrightLaunchContext, + config = Configuration.getGlobalConfig(), +): Promise { const playwrightLauncher = new PlaywrightLauncher(launchContext, config); return playwrightLauncher.launch(); diff --git a/packages/playwright-crawler/src/internals/utils/playwright-utils.ts b/packages/playwright-crawler/src/internals/utils/playwright-utils.ts index 4895e88c3598..2b8860af5b46 100644 --- a/packages/playwright-crawler/src/internals/utils/playwright-utils.ts +++ b/packages/playwright-crawler/src/internals/utils/playwright-utils.ts @@ -87,9 +87,12 @@ const injectedFilesCache = new LruCache({ maxLength: MAX_INJECT_FILE_CACHE_SIZE export async function injectFile(page: Page, filePath: string, options: InjectFileOptions = {}): Promise { ow(page, ow.object.validate(validators.browserPage)); ow(filePath, ow.string); - ow(options, ow.object.exactShape({ - surviveNavigations: ow.optional.boolean, - })); + ow( + options, + ow.object.exactShape({ + surviveNavigations: ow.optional.boolean, + }), + ); let contents = injectedFilesCache.get(filePath); if (!contents) { @@ -99,9 +102,11 @@ export async function injectFile(page: Page, filePath: string, options: InjectFi const evalP = page.evaluate(contents); if (options.surviveNavigations) { - page.on('framenavigated', - async () => page.evaluate(contents) - .catch((error) => log.warning('An error occurred during the script injection!', { error }))); + page.on('framenavigated', async () => + page + .evaluate(contents) + .catch((error) => log.warning('An error occurred during the script injection!', { error })), + ); } return evalP; @@ -173,14 +178,21 @@ export interface DirectNavigationOptions { * @param request * @param [gotoOptions] Custom options for `page.goto()`. */ -export async function gotoExtended(page: Page, request: Request, gotoOptions: DirectNavigationOptions = {}): Promise { +export async function gotoExtended( + page: Page, + request: Request, + gotoOptions: DirectNavigationOptions = {}, +): Promise { ow(page, ow.object.validate(validators.browserPage)); - ow(request, ow.object.partialShape({ - url: ow.string.url, - method: ow.optional.string, - headers: ow.optional.object, - payload: ow.optional.any(ow.string, ow.buffer), - })); + ow( + request, + ow.object.partialShape({ + url: ow.string.url, + method: ow.optional.string, + headers: ow.optional.object, + payload: ow.optional.any(ow.string, ow.buffer), + }), + ); ow(gotoOptions, ow.object); const { url, method, headers, payload } = request; @@ -188,8 +200,10 @@ export async function gotoExtended(page: Page, request: Request, gotoOptions: Di if (method !== 'GET' || payload || !isEmpty(headers)) { // This is not deprecated, we use it to log only once. - log.deprecated('Using other request methods than GET, rewriting headers and adding payloads has a high impact on performance ' - + 'in recent versions of Playwright. Use only when necessary.'); + log.deprecated( + 'Using other request methods than GET, rewriting headers and adding payloads has a high impact on performance ' + + 'in recent versions of Playwright. Use only when necessary.', + ); let wasCalled = false; const interceptRequestHandler = async (route: Route) => { try { @@ -266,15 +280,15 @@ export async function gotoExtended(page: Page, request: Request, gotoOptions: Di */ export async function blockRequests(page: Page, options: BlockRequestsOptions = {}): Promise { ow(page, ow.object.validate(validators.browserPage)); - ow(options, ow.object.exactShape({ - urlPatterns: ow.optional.array.ofType(ow.string), - extraUrlPatterns: ow.optional.array.ofType(ow.string), - })); + ow( + options, + ow.object.exactShape({ + urlPatterns: ow.optional.array.ofType(ow.string), + extraUrlPatterns: ow.optional.array.ofType(ow.string), + }), + ); - const { - urlPatterns = DEFAULT_BLOCK_REQUEST_URL_PATTERNS, - extraUrlPatterns = [], - } = options; + const { urlPatterns = DEFAULT_BLOCK_REQUEST_URL_PATTERNS, extraUrlPatterns = [] } = options; const patternsToBlock = [...urlPatterns, ...extraUrlPatterns]; @@ -381,16 +395,26 @@ export interface InfiniteScrollOptions { */ export async function infiniteScroll(page: Page, options: InfiniteScrollOptions = {}): Promise { ow(page, ow.object.validate(validators.browserPage)); - ow(options, ow.object.exactShape({ - timeoutSecs: ow.optional.number, - maxScrollHeight: ow.optional.number, - waitForSecs: ow.optional.number, - scrollDownAndUp: ow.optional.boolean, - buttonSelector: ow.optional.string, - stopScrollCallback: ow.optional.function, - })); + ow( + options, + ow.object.exactShape({ + timeoutSecs: ow.optional.number, + maxScrollHeight: ow.optional.number, + waitForSecs: ow.optional.number, + scrollDownAndUp: ow.optional.boolean, + buttonSelector: ow.optional.string, + stopScrollCallback: ow.optional.function, + }), + ); - const { timeoutSecs = 0, maxScrollHeight = 0, waitForSecs = 4, scrollDownAndUp = false, buttonSelector, stopScrollCallback } = options; + const { + timeoutSecs = 0, + maxScrollHeight = 0, + waitForSecs = 4, + scrollDownAndUp = false, + buttonSelector, + stopScrollCallback, + } = options; let finished; const startTime = Date.now(); @@ -446,7 +470,7 @@ export async function infiniteScroll(page: Page, options: InfiniteScrollOptions const maybeClickButton = async () => { const button = await page.$(buttonSelector!); // Box model returns null if the button is not visible - if (button && await button.boundingBox()) { + if (button && (await button.boundingBox())) { await button.click({ delay: 10 }); } }; @@ -514,14 +538,17 @@ export interface SaveSnapshotOptions { */ export async function saveSnapshot(page: Page, options: SaveSnapshotOptions = {}): Promise { ow(page, ow.object.validate(validators.browserPage)); - ow(options, ow.object.exactShape({ - key: ow.optional.string.nonEmpty, - screenshotQuality: ow.optional.number, - saveScreenshot: ow.optional.boolean, - saveHtml: ow.optional.boolean, - keyValueStoreName: ow.optional.string, - config: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + key: ow.optional.string.nonEmpty, + screenshotQuality: ow.optional.number, + saveScreenshot: ow.optional.boolean, + saveHtml: ow.optional.boolean, + keyValueStoreName: ow.optional.string, + config: ow.optional.object, + }), + ); const { key = 'SNAPSHOT', @@ -533,11 +560,18 @@ export async function saveSnapshot(page: Page, options: SaveSnapshotOptions = {} } = options; try { - const store = await KeyValueStore.open(keyValueStoreName, { config: config ?? Configuration.getGlobalConfig() }); + const store = await KeyValueStore.open(keyValueStoreName, { + config: config ?? Configuration.getGlobalConfig(), + }); if (saveScreenshot) { const screenshotName = `${key}.jpg`; - const screenshotBuffer = await page.screenshot({ fullPage: true, quality: screenshotQuality, type: 'jpeg', animations: 'disabled' }); + const screenshotBuffer = await page.screenshot({ + fullPage: true, + quality: screenshotQuality, + type: 'jpeg', + animations: 'disabled', + }); await store.setValue(screenshotName, screenshotBuffer, { contentType: 'image/jpeg' }); } @@ -566,8 +600,10 @@ export async function saveSnapshot(page: Page, options: SaveSnapshotOptions = {} export async function parseWithCheerio(page: Page, ignoreShadowRoots = false): Promise { ow(page, ow.object.validate(validators.browserPage)); - const html = ignoreShadowRoots ? null : await page.evaluate(`(${expandShadowRoots.toString()})(document)`) as string; - const pageContent = html || await page.content(); + const html = ignoreShadowRoots + ? null + : ((await page.evaluate(`(${expandShadowRoots.toString()})(document)`)) as string); + const pageContent = html || (await page.content()); return cheerio.load(pageContent); } @@ -720,34 +756,36 @@ export interface PlaywrightContextUtils { * * @returns Promise that resolves to {@apilink BatchAddRequestsResult} object. */ - enqueueLinksByClickingElements(options: Omit): Promise; + enqueueLinksByClickingElements( + options: Omit, + ): Promise; /** - * Compiles a Playwright script into an async function that may be executed at any time - * by providing it with the following object: - * ``` - * { - * page: Page, - * request: Request, - * } - * ``` - * Where `page` is a Playwright [`Page`](https://playwright.dev/docs/api/class-page) - * and `request` is a {@apilink Request}. - * - * The function is compiled by using the `scriptString` parameter as the function's body, - * so any limitations to function bodies apply. Return value of the compiled function - * is the return value of the function body = the `scriptString` parameter. - * - * As a security measure, no globals such as `process` or `require` are accessible - * from within the function body. Note that the function does not provide a safe - * sandbox and even though globals are not easily accessible, malicious code may - * still execute in the main process via prototype manipulation. Therefore you - * should only use this function to execute sanitized or safe code. - * - * Custom context may also be provided using the `context` parameter. To improve security, - * make sure to only pass the really necessary objects to the context. Preferably making - * secured copies beforehand. - */ + * Compiles a Playwright script into an async function that may be executed at any time + * by providing it with the following object: + * ``` + * { + * page: Page, + * request: Request, + * } + * ``` + * Where `page` is a Playwright [`Page`](https://playwright.dev/docs/api/class-page) + * and `request` is a {@apilink Request}. + * + * The function is compiled by using the `scriptString` parameter as the function's body, + * so any limitations to function bodies apply. Return value of the compiled function + * is the return value of the function body = the `scriptString` parameter. + * + * As a security measure, no globals such as `process` or `require` are accessible + * from within the function body. Note that the function does not provide a safe + * sandbox and even though globals are not easily accessible, malicious code may + * still execute in the main process via prototype manipulation. Therefore you + * should only use this function to execute sanitized or safe code. + * + * Custom context may also be provided using the `context` parameter. To improve security, + * make sure to only pass the really necessary objects to the context. Preferably making + * secured copies beforehand. + */ compileScript(scriptString: string, ctx?: Dictionary): CompiledScriptFunction; /** @@ -756,26 +794,35 @@ export interface PlaywrightContextUtils { closeCookieModals(): Promise; } -export function registerUtilsToContext(context: PlaywrightCrawlingContext, crawlerOptions: PlaywrightCrawlerOptions): void { - context.injectFile = async (filePath: string, options?: InjectFileOptions) => injectFile(context.page, filePath, options); - context.injectJQuery = (async () => { +export function registerUtilsToContext( + context: PlaywrightCrawlingContext, + crawlerOptions: PlaywrightCrawlerOptions, +): void { + context.injectFile = async (filePath: string, options?: InjectFileOptions) => + injectFile(context.page, filePath, options); + context.injectJQuery = async () => { if (context.request.state === RequestState.BEFORE_NAV) { - log.warning('Using injectJQuery() in preNavigationHooks leads to unstable results. Use it in a postNavigationHook or a requestHandler instead.'); + log.warning( + 'Using injectJQuery() in preNavigationHooks leads to unstable results. Use it in a postNavigationHook or a requestHandler instead.', + ); await injectJQuery(context.page); return; } await injectJQuery(context.page, { surviveNavigations: false }); - }); + }; context.blockRequests = async (options?: BlockRequestsOptions) => blockRequests(context.page, options); context.parseWithCheerio = async () => parseWithCheerio(context.page, crawlerOptions.ignoreShadowRoots); context.infiniteScroll = async (options?: InfiniteScrollOptions) => infiniteScroll(context.page, options); - context.saveSnapshot = async (options?: SaveSnapshotOptions) => saveSnapshot(context.page, { ...options, config: context.crawler.config }); - // eslint-disable-next-line max-len - context.enqueueLinksByClickingElements = async (options: Omit) => enqueueLinksByClickingElements({ - ...options, - page: context.page, - requestQueue: context.crawler.requestQueue!, - }); + context.saveSnapshot = async (options?: SaveSnapshotOptions) => + saveSnapshot(context.page, { ...options, config: context.crawler.config }); + context.enqueueLinksByClickingElements = async ( + options: Omit, + ) => + enqueueLinksByClickingElements({ + ...options, + page: context.page, + requestQueue: context.crawler.requestQueue!, + }); context.compileScript = (scriptString: string, ctx?: Dictionary) => compileScript(scriptString, ctx); context.closeCookieModals = async () => closeCookieModals(context.page); } diff --git a/packages/playwright-crawler/src/internals/utils/rendering-type-prediction.ts b/packages/playwright-crawler/src/internals/utils/rendering-type-prediction.ts index 9938a61c2cfa..ee837341e325 100644 --- a/packages/playwright-crawler/src/internals/utils/rendering-type-prediction.ts +++ b/packages/playwright-crawler/src/internals/utils/rendering-type-prediction.ts @@ -2,7 +2,7 @@ import LogisticRegression from 'ml-logistic-regression'; import { Matrix } from 'ml-matrix'; import stringComparison from 'string-comparison'; -export type RenderingType = 'clientOnly' | 'static' +export type RenderingType = 'clientOnly' | 'static'; type URLComponents = string[]; @@ -52,18 +52,27 @@ export class RenderingTypePredictor { /** * Predict the rendering type for a given URL and request label. */ - public predict(url: URL, label: string | undefined): { renderingType: RenderingType; detectionProbabilityRecommendation: number } { + public predict( + url: URL, + label: string | undefined, + ): { renderingType: RenderingType; detectionProbabilityRecommendation: number } { if (this.logreg.classifiers.length === 0) { return { renderingType: 'clientOnly', detectionProbabilityRecommendation: 1 }; } const urlFeature = new Matrix([this.calculateFeatureVector(urlComponents(url), label)]); const [prediction] = this.logreg.predict(urlFeature); - const scores = [this.logreg.classifiers[0].testScores(urlFeature), this.logreg.classifiers[1].testScores(urlFeature)]; + const scores = [ + this.logreg.classifiers[0].testScores(urlFeature), + this.logreg.classifiers[1].testScores(urlFeature), + ]; return { renderingType: prediction === 1 ? 'static' : 'clientOnly', - detectionProbabilityRecommendation: Math.abs(scores[0] - scores[1]) < 0.1 ? 1 : this.detectionRatio * Math.max(1, 5 - this.resultCount(label)), + detectionProbabilityRecommendation: + Math.abs(scores[0] - scores[1]) < 0.1 + ? 1 + : this.detectionRatio * Math.max(1, 5 - this.resultCount(label)), }; } @@ -91,8 +100,16 @@ export class RenderingTypePredictor { protected calculateFeatureVector(url: URLComponents, label: string | undefined): FeatureVector { return [ - mean((this.renderingTypeDetectionResults.get('static')?.get(label) ?? []).map((otherUrl) => calculateUrlSimilarity(url, otherUrl) ?? 0)) ?? 0, - mean((this.renderingTypeDetectionResults.get('clientOnly')?.get(label) ?? []).map((otherUrl) => calculateUrlSimilarity(url, otherUrl) ?? 0)) ?? 0, + mean( + (this.renderingTypeDetectionResults.get('static')?.get(label) ?? []).map( + (otherUrl) => calculateUrlSimilarity(url, otherUrl) ?? 0, + ), + ) ?? 0, + mean( + (this.renderingTypeDetectionResults.get('clientOnly')?.get(label) ?? []).map( + (otherUrl) => calculateUrlSimilarity(url, otherUrl) ?? 0, + ), + ) ?? 0, ]; } diff --git a/packages/playwright-crawler/src/logistic-regression.d.ts b/packages/playwright-crawler/src/logistic-regression.d.ts index c4b501a85756..b9ac288799b5 100644 --- a/packages/playwright-crawler/src/logistic-regression.d.ts +++ b/packages/playwright-crawler/src/logistic-regression.d.ts @@ -1,22 +1,22 @@ declare module 'ml-logistic-regression' { - import Matrix from 'ml-matrix'; + import Matrix from 'ml-matrix'; - class LogisticRegressionTwoClasses { - testScores(Xtest: Matrix): number; - } + class LogisticRegressionTwoClasses { + testScores(Xtest: Matrix): number; + } - export default class LogisticRegression { - classifiers: LogisticRegressionTwoClasses[]; + export default class LogisticRegression { + classifiers: LogisticRegressionTwoClasses[]; - constructor( - options: Partial<{ - numSteps: number; - learningRate: number; - }>, - ); + constructor( + options: Partial<{ + numSteps: number; + learningRate: number; + }>, + ); - train(X: Matrix, Y: Matrix): void; + train(X: Matrix, Y: Matrix): void; - predict(Xtest: Matrix): number[]; - } + predict(Xtest: Matrix): number[]; + } } diff --git a/packages/playwright-crawler/tsconfig.build.json b/packages/playwright-crawler/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/playwright-crawler/tsconfig.build.json +++ b/packages/playwright-crawler/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/playwright-crawler/tsconfig.json b/packages/playwright-crawler/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/playwright-crawler/tsconfig.json +++ b/packages/playwright-crawler/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/puppeteer-crawler/CHANGELOG.md b/packages/puppeteer-crawler/CHANGELOG.md index 01696965085c..3ccef9f8d415 100644 --- a/packages/puppeteer-crawler/CHANGELOG.md +++ b/packages/puppeteer-crawler/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/puppeteer + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package @crawlee/puppeteer + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/puppeteer diff --git a/packages/puppeteer-crawler/package.json b/packages/puppeteer-crawler/package.json index 87b8ba1d8efb..6b468835939a 100644 --- a/packages/puppeteer-crawler/package.json +++ b/packages/puppeteer-crawler/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/puppeteer", - "version": "3.9.2", + "version": "3.10.1", "description": "The scalable web crawling and scraping library for JavaScript/Node.js. Enables development of data extraction and web automation jobs (not only) with headless Chrome and Puppeteer.", "engines": { "node": ">=16.0.0" @@ -55,10 +55,10 @@ "dependencies": { "@apify/datastructures": "^2.0.0", "@apify/log": "^2.4.0", - "@crawlee/browser": "3.9.2", - "@crawlee/browser-pool": "3.9.2", - "@crawlee/types": "3.9.2", - "@crawlee/utils": "3.9.2", + "@crawlee/browser": "3.10.1", + "@crawlee/browser-pool": "3.10.1", + "@crawlee/types": "3.10.1", + "@crawlee/utils": "3.10.1", "cheerio": "^1.0.0-rc.12", "devtools-protocol": "*", "idcac-playwright": "^0.1.2", diff --git a/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts b/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts index b659f16ac906..e34ffc9e9048 100644 --- a/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts +++ b/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts @@ -19,13 +19,7 @@ import { } from '@crawlee/browser'; import type { Dictionary, BatchAddRequestsResult } from '@crawlee/types'; import ow from 'ow'; -import type { - ClickOptions, - Frame, - HTTPRequest as PuppeteerRequest, - Page, - Target, -} from 'puppeteer'; +import type { ClickOptions, Frame, HTTPRequest as PuppeteerRequest, Page, Target } from 'puppeteer'; import { addInterceptRequestHandler, removeInterceptRequestHandler } from '../utils/puppeteer_request_interception'; @@ -216,32 +210,28 @@ export interface EnqueueLinksByClickingElementsOptions { * * @returns Promise that resolves to {@apilink BatchAddRequestsResult} object. */ -export async function enqueueLinksByClickingElements(options: EnqueueLinksByClickingElementsOptions): Promise { - ow(options, ow.object.exactShape({ - page: ow.object.hasKeys('goto', 'evaluate'), - requestQueue: ow.object.hasKeys('fetchNextRequest', 'addRequest'), - selector: ow.string, - userData: ow.optional.object, - clickOptions: ow.optional.object.hasKeys('clickCount', 'delay'), - pseudoUrls: ow.optional.array.ofType(ow.any( - ow.string, - ow.object.hasKeys('purl'), - )), - globs: ow.optional.array.ofType(ow.any( - ow.string, - ow.object.hasKeys('glob'), - )), - regexps: ow.optional.array.ofType(ow.any( - ow.regExp, - ow.object.hasKeys('regexp'), - )), - transformRequestFunction: ow.optional.function, - waitForPageIdleSecs: ow.optional.number, - maxWaitForPageIdleSecs: ow.optional.number, - label: ow.optional.string, - forefront: ow.optional.boolean, - skipNavigation: ow.optional.boolean, - })); +export async function enqueueLinksByClickingElements( + options: EnqueueLinksByClickingElementsOptions, +): Promise { + ow( + options, + ow.object.exactShape({ + page: ow.object.hasKeys('goto', 'evaluate'), + requestQueue: ow.object.hasKeys('fetchNextRequest', 'addRequest'), + selector: ow.string, + userData: ow.optional.object, + clickOptions: ow.optional.object.hasKeys('clickCount', 'delay'), + pseudoUrls: ow.optional.array.ofType(ow.any(ow.string, ow.object.hasKeys('purl'))), + globs: ow.optional.array.ofType(ow.any(ow.string, ow.object.hasKeys('glob'))), + regexps: ow.optional.array.ofType(ow.any(ow.regExp, ow.object.hasKeys('regexp'))), + transformRequestFunction: ow.optional.function, + waitForPageIdleSecs: ow.optional.number, + maxWaitForPageIdleSecs: ow.optional.number, + label: ow.optional.string, + forefront: ow.optional.boolean, + skipNavigation: ow.optional.boolean, + }), + ); const { page, @@ -309,14 +299,10 @@ interface ClickElementsAndInterceptNavigationRequestsOptions extends WaitForPage * Returns a list of all target URLs. * @ignore */ -export async function clickElementsAndInterceptNavigationRequests(options: ClickElementsAndInterceptNavigationRequestsOptions): Promise { - const { - page, - selector, - waitForPageIdleMillis, - maxWaitForPageIdleMillis, - clickOptions, - } = options; +export async function clickElementsAndInterceptNavigationRequests( + options: ClickElementsAndInterceptNavigationRequestsOptions, +): Promise { + const { page, selector, waitForPageIdleMillis, maxWaitForPageIdleMillis, clickOptions } = options; const uniqueRequests = new Set(); const browser = page.browser(); @@ -351,12 +337,14 @@ function createInterceptRequestHandler(page: Page, requests: Set): (req: return async function onInterceptedRequest(req) { if (!isTopFrameNavigationRequest(page, req)) return req.continue(); const url = req.url(); - requests.add(JSON.stringify({ - url, - headers: req.headers(), - method: req.method(), - payload: req.postData(), - })); + requests.add( + JSON.stringify({ + url, + headers: req.headers(), + method: req.method(), + payload: req.postData(), + }), + ); if (req.redirectChain().length) { await req.respond({ body: '' }); // Prevents 301/302 redirect @@ -370,8 +358,7 @@ function createInterceptRequestHandler(page: Page, requests: Set): (req: * @ignore */ function isTopFrameNavigationRequest(page: Page, req: PuppeteerRequest): boolean { - return req.isNavigationRequest() - && req.frame() === page.mainFrame(); + return req.isNavigationRequest() && req.frame() === page.mainFrame(); } /** @@ -399,8 +386,7 @@ function createTargetCreatedHandler(page: Page, requests: Set): (target: * There will generally be a lot of other targets being created in the browser. */ export function isTargetRelevant(page: Page, target: Target): boolean { - return target.type() === 'page' - && page.target() === target.opener(); + return target.type() === 'page' && page.target() === target.opener(); } /** @@ -472,15 +458,19 @@ export async function clickElements(page: Page, selector: string, clickOptions?: } catch (err) { const e = err as Error; if (shouldLogWarning && e.stack!.includes('is detached from document')) { - log.warning(`An element with selector ${selector} that you're trying to click has been removed from the page. ` - + 'This was probably caused by an earlier click which triggered some JavaScript on the page that caused it to change. ' - + 'If you\'re trying to enqueue pagination links, we suggest using the "next" button, if available and going one by one.'); + log.warning( + `An element with selector ${selector} that you're trying to click has been removed from the page. ` + + 'This was probably caused by an earlier click which triggered some JavaScript on the page that caused it to change. ' + + 'If you\'re trying to enqueue pagination links, we suggest using the "next" button, if available and going one by one.', + ); shouldLogWarning = false; } log.debug('enqueueLinksByClickingElements: Click failed.', { stack: e.stack }); } } - log.debug(`enqueueLinksByClickingElements: Successfully clicked ${clickedElementsCount} elements out of ${elementHandles.length}`); + log.debug( + `enqueueLinksByClickingElements: Successfully clicked ${clickedElementsCount} elements out of ${elementHandles.length}`, + ); } /* istanbul ignore next */ @@ -514,7 +504,11 @@ function updateElementCssToEnableMouseClick(el: Element, zIndex: number): void { * when there's only a single element to click. * @ignore */ -async function waitForPageIdle({ page, waitForPageIdleMillis, maxWaitForPageIdleMillis }: WaitForPageIdleOptions): Promise { +async function waitForPageIdle({ + page, + waitForPageIdleMillis, + maxWaitForPageIdleMillis, +}: WaitForPageIdleOptions): Promise { return new Promise((resolve) => { let timeout: NodeJS.Timeout; let maxTimeout: NodeJS.Timeout; @@ -533,8 +527,10 @@ async function waitForPageIdle({ page, waitForPageIdleMillis, maxWaitForPageIdle } function maxTimeoutHandler() { - log.debug(`enqueueLinksByClickingElements: Page still showed activity after ${maxWaitForPageIdleMillis}ms. ` - + 'This is probably due to the website itself dispatching requests, but some links may also have been missed.'); + log.debug( + `enqueueLinksByClickingElements: Page still showed activity after ${maxWaitForPageIdleMillis}ms. ` + + 'This is probably due to the website itself dispatching requests, but some links may also have been missed.', + ); finish(); } diff --git a/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts b/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts index ec646de2f78f..41ecc02f1a8e 100644 --- a/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts +++ b/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts @@ -17,16 +17,15 @@ import { PuppeteerLauncher } from './puppeteer-launcher'; import type { DirectNavigationOptions, PuppeteerContextUtils } from './utils/puppeteer_utils'; import { gotoExtended, registerUtilsToContext } from './utils/puppeteer_utils'; -export interface PuppeteerCrawlingContext extends - BrowserCrawlingContext, PuppeteerContextUtils {} +export interface PuppeteerCrawlingContext + extends BrowserCrawlingContext, + PuppeteerContextUtils {} export interface PuppeteerHook extends BrowserHook {} export interface PuppeteerRequestHandler extends BrowserRequestHandler {} export type PuppeteerGoToOptions = Parameters[1]; -export interface PuppeteerCrawlerOptions extends BrowserCrawlerOptions< - PuppeteerCrawlingContext, - { browserPlugins: [PuppeteerPlugin] } -> { +export interface PuppeteerCrawlerOptions + extends BrowserCrawlerOptions { /** * Options used by {@apilink launchPuppeteer} to start new Puppeteer instances. */ @@ -132,7 +131,11 @@ export interface PuppeteerCrawlerOptions extends BrowserCrawlerOptions< * ``` * @category Crawlers */ -export class PuppeteerCrawler extends BrowserCrawler<{ browserPlugins: [PuppeteerPlugin] }, LaunchOptions, PuppeteerCrawlingContext> { +export class PuppeteerCrawler extends BrowserCrawler< + { browserPlugins: [PuppeteerPlugin] }, + LaunchOptions, + PuppeteerCrawlingContext +> { protected static override optionsShape = { ...BrowserCrawler.optionsShape, browserPoolOptions: ow.optional.object, @@ -141,23 +144,23 @@ export class PuppeteerCrawler extends BrowserCrawler<{ browserPlugins: [Puppetee /** * All `PuppeteerCrawler` parameters are passed via an options object. */ - constructor(private readonly options: PuppeteerCrawlerOptions = {}, override readonly config = Configuration.getGlobalConfig()) { + constructor( + private readonly options: PuppeteerCrawlerOptions = {}, + override readonly config = Configuration.getGlobalConfig(), + ) { ow(options, 'PuppeteerCrawlerOptions', ow.object.exactShape(PuppeteerCrawler.optionsShape)); - const { - launchContext = {}, - headless, - proxyConfiguration, - ...browserCrawlerOptions - } = options; + const { launchContext = {}, headless, proxyConfiguration, ...browserCrawlerOptions } = options; const browserPoolOptions = { ...options.browserPoolOptions, } as BrowserPoolOptions; if (launchContext.proxyUrl) { - throw new Error('PuppeteerCrawlerOptions.launchContext.proxyUrl is not allowed in PuppeteerCrawler.' - + 'Use PuppeteerCrawlerOptions.proxyConfiguration'); + throw new Error( + 'PuppeteerCrawlerOptions.launchContext.proxyUrl is not allowed in PuppeteerCrawler.' + + 'Use PuppeteerCrawlerOptions.proxyConfiguration', + ); } // `browserPlugins` is working when it's not overridden by `launchContext`, @@ -173,9 +176,7 @@ export class PuppeteerCrawler extends BrowserCrawler<{ browserPlugins: [Puppetee const puppeteerLauncher = new PuppeteerLauncher(launchContext, config); - browserPoolOptions.browserPlugins = [ - puppeteerLauncher.createBrowserPlugin(), - ]; + browserPoolOptions.browserPlugins = [puppeteerLauncher.createBrowserPlugin()]; super({ ...browserCrawlerOptions, launchContext, proxyConfiguration, browserPoolOptions }, config); } @@ -185,7 +186,10 @@ export class PuppeteerCrawler extends BrowserCrawler<{ browserPlugins: [Puppetee await super._runRequestHandler(context); } - protected override async _navigationHandler(crawlingContext: PuppeteerCrawlingContext, gotoOptions: DirectNavigationOptions) { + protected override async _navigationHandler( + crawlingContext: PuppeteerCrawlingContext, + gotoOptions: DirectNavigationOptions, + ) { return gotoExtended(crawlingContext.page, crawlingContext.request, gotoOptions); } } diff --git a/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts b/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts index 4f5f369a693b..fc6b13ee8769 100644 --- a/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts +++ b/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts @@ -91,17 +91,20 @@ export class PuppeteerLauncher extends BrowserLauncher ...browserLauncherOptions } = launchContext; - super({ - ...browserLauncherOptions, - launcher, - }, config); + super( + { + ...browserLauncherOptions, + launcher, + }, + config, + ); this.Plugin = PuppeteerPlugin; } protected override _getDefaultHeadlessOption(): boolean { const headless = super._getDefaultHeadlessOption(); - return headless ? 'new' as any : headless; + return headless ? ('new' as any) : headless; } } @@ -137,7 +140,10 @@ export class PuppeteerLauncher extends BrowserLauncher * @returns * Promise that resolves to Puppeteer's `Browser` instance. */ -export async function launchPuppeteer(launchContext?: PuppeteerLaunchContext, config = Configuration.getGlobalConfig()): Promise { +export async function launchPuppeteer( + launchContext?: PuppeteerLaunchContext, + config = Configuration.getGlobalConfig(), +): Promise { const puppeteerLauncher = new PuppeteerLauncher(launchContext, config); return puppeteerLauncher.launch(); diff --git a/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts b/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts index 7f5fc391a838..36c6f2db5330 100644 --- a/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts +++ b/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts @@ -43,7 +43,8 @@ function browserifyHeaders(headers: Record): Record = {}; // eslint-disable-next-line prefer-const for (let [key, value] of Object.entries(headers)) { - key = key.toLowerCase() + key = key + .toLowerCase() .split('-') .map((str) => str.charAt(0).toUpperCase() + str.slice(1)) .join('-'); @@ -202,9 +203,7 @@ export async function removeInterceptRequestHandler(page: Page, handler: Interce ow(page, ow.object.hasKeys('goto', 'evaluate')); ow(handler, ow.function); - const handlersArray = pageInterceptRequestHandlersMap - .get(page)! - .filter((item) => item !== handler); + const handlersArray = pageInterceptRequestHandlersMap.get(page)!.filter((item) => item !== handler); pageInterceptRequestHandlersMap.set(page, handlersArray); diff --git a/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts b/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts index 477e725adc42..0879f016836b 100644 --- a/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts +++ b/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts @@ -121,9 +121,12 @@ const injectedFilesCache = new LruCache({ maxLength: MAX_INJECT_FILE_CACHE_SIZE export async function injectFile(page: Page, filePath: string, options: InjectFileOptions = {}): Promise { ow(page, ow.object.validate(validators.browserPage)); ow(filePath, ow.string); - ow(options, ow.object.exactShape({ - surviveNavigations: ow.optional.boolean, - })); + ow( + options, + ow.object.exactShape({ + surviveNavigations: ow.optional.boolean, + }), + ); let contents = injectedFilesCache.get(filePath); if (!contents) { @@ -132,9 +135,11 @@ export async function injectFile(page: Page, filePath: string, options: InjectFi } const evalP = page.evaluate(contents); if (options.surviveNavigations) { - page.on('framenavigated', - async () => page.evaluate(contents) - .catch((error) => log.warning('An error occurred during the script injection!', { error }))); + page.on('framenavigated', async () => + page + .evaluate(contents) + .catch((error) => log.warning('An error occurred during the script injection!', { error })), + ); } return evalP; @@ -186,8 +191,10 @@ export async function injectJQuery(page: Page, options?: { surviveNavigations?: export async function parseWithCheerio(page: Page, ignoreShadowRoots = false): Promise { ow(page, ow.object.validate(validators.browserPage)); - const html = ignoreShadowRoots ? null : await page.evaluate(`(${expandShadowRoots.toString()})(document)`) as string; - const pageContent = html || await page.content(); + const html = ignoreShadowRoots + ? null + : ((await page.evaluate(`(${expandShadowRoots.toString()})(document)`)) as string); + const pageContent = html || (await page.content()); return cheerio.load(pageContent); } @@ -236,15 +243,15 @@ export async function parseWithCheerio(page: Page, ignoreShadowRoots = false): P */ export async function blockRequests(page: Page, options: BlockRequestsOptions = {}): Promise { ow(page, ow.object.validate(validators.browserPage)); - ow(options, ow.object.exactShape({ - urlPatterns: ow.optional.array.ofType(ow.string), - extraUrlPatterns: ow.optional.array.ofType(ow.string), - })); + ow( + options, + ow.object.exactShape({ + urlPatterns: ow.optional.array.ofType(ow.string), + extraUrlPatterns: ow.optional.array.ofType(ow.string), + }), + ); - const { - urlPatterns = DEFAULT_BLOCK_REQUEST_URL_PATTERNS, - extraUrlPatterns = [], - } = options; + const { urlPatterns = DEFAULT_BLOCK_REQUEST_URL_PATTERNS, extraUrlPatterns = [] } = options; const patternsToBlock = [...urlPatterns, ...extraUrlPatterns]; @@ -276,8 +283,9 @@ export async function sendCDPCommand( const jsonPath = require.resolve('puppeteer/package.json'); const parsed = JSON.parse(await readFile(jsonPath, 'utf-8')); - // eslint-disable-next-line max-len - throw new Error(`Cannot detect CDP client for Puppeteer ${parsed.version}. You should report this to Crawlee, mentioning the puppeteer version you are using.`); + throw new Error( + `Cannot detect CDP client for Puppeteer ${parsed.version}. You should report this to Crawlee, mentioning the puppeteer version you are using.`, + ); } /** @@ -286,8 +294,10 @@ export async function sendCDPCommand( * @deprecated */ export const blockResources = async (page: Page, resourceTypes = ['stylesheet', 'font', 'image', 'media']) => { - log.deprecated('utils.puppeteer.blockResources() has a high impact on performance in recent versions of Puppeteer. ' - + 'Until this resolves, please use utils.puppeteer.blockRequests()'); + log.deprecated( + 'utils.puppeteer.blockResources() has a high impact on performance in recent versions of Puppeteer. ' + + 'Until this resolves, please use utils.puppeteer.blockRequests()', + ); await addInterceptRequestHandler(page, async (request) => { const type = request.resourceType(); if (resourceTypes.includes(type)) await request.abort(); @@ -311,13 +321,19 @@ export const blockResources = async (page: Page, resourceTypes = ['stylesheet', * String rules are compared as page.url().includes(rule) while RegExp rules are evaluated as rule.test(page.url()). * @deprecated */ -export async function cacheResponses(page: Page, cache: Dictionary>, responseUrlRules: (string | RegExp)[]): Promise { +export async function cacheResponses( + page: Page, + cache: Dictionary>, + responseUrlRules: (string | RegExp)[], +): Promise { ow(page, ow.object.validate(validators.browserPage)); ow(cache, ow.object); ow(responseUrlRules, ow.array.ofType(ow.any(ow.string, ow.regExp))); - log.deprecated('utils.puppeteer.cacheResponses() has a high impact on performance ' - + 'in recent versions of Puppeteer so it\'s use is discouraged until this issue resolves.'); + log.deprecated( + 'utils.puppeteer.cacheResponses() has a high impact on performance ' + + "in recent versions of Puppeteer so it's use is discouraged until this issue resolves.", + ); await addInterceptRequestHandler(page, async (request) => { const url = request.url(); @@ -411,14 +427,21 @@ export function compileScript(scriptString: string, context: Dictionary = Object * @param request * @param [gotoOptions] Custom options for `page.goto()`. */ -export async function gotoExtended(page: Page, request: Request, gotoOptions: DirectNavigationOptions = {}): Promise { +export async function gotoExtended( + page: Page, + request: Request, + gotoOptions: DirectNavigationOptions = {}, +): Promise { ow(page, ow.object.validate(validators.browserPage)); - ow(request, ow.object.partialShape({ - url: ow.string.url, - method: ow.optional.string, - headers: ow.optional.object, - payload: ow.optional.any(ow.string, ow.buffer), - })); + ow( + request, + ow.object.partialShape({ + url: ow.string.url, + method: ow.optional.string, + headers: ow.optional.object, + payload: ow.optional.any(ow.string, ow.buffer), + }), + ); ow(gotoOptions, ow.object); gotoOptions = { ...gotoOptions }; @@ -432,8 +455,10 @@ export async function gotoExtended(page: Page, request: Request, gotoOptions: Di if (method !== 'GET' || payload || !isEmpty(headers)) { // This is not deprecated, we use it to log only once. - log.deprecated('Using other request methods than GET, rewriting headers and adding payloads has a high impact on performance ' - + 'in recent versions of Puppeteer. Use only when necessary.'); + log.deprecated( + 'Using other request methods than GET, rewriting headers and adding payloads has a high impact on performance ' + + 'in recent versions of Puppeteer. Use only when necessary.', + ); let wasCalled = false; const interceptRequestHandler = async (interceptedRequest: PuppeteerRequest) => { // We want to ensure that this won't get executed again in a case that there is a subsequent request @@ -502,16 +527,26 @@ export interface InfiniteScrollOptions { */ export async function infiniteScroll(page: Page, options: InfiniteScrollOptions = {}): Promise { ow(page, ow.object.validate(validators.browserPage)); - ow(options, ow.object.exactShape({ - timeoutSecs: ow.optional.number, - maxScrollHeight: ow.optional.number, - waitForSecs: ow.optional.number, - scrollDownAndUp: ow.optional.boolean, - buttonSelector: ow.optional.string, - stopScrollCallback: ow.optional.function, - })); + ow( + options, + ow.object.exactShape({ + timeoutSecs: ow.optional.number, + maxScrollHeight: ow.optional.number, + waitForSecs: ow.optional.number, + scrollDownAndUp: ow.optional.boolean, + buttonSelector: ow.optional.string, + stopScrollCallback: ow.optional.function, + }), + ); - const { timeoutSecs = 0, maxScrollHeight = 0, waitForSecs = 4, scrollDownAndUp = false, buttonSelector, stopScrollCallback } = options; + const { + timeoutSecs = 0, + maxScrollHeight = 0, + waitForSecs = 4, + scrollDownAndUp = false, + buttonSelector, + stopScrollCallback, + } = options; let finished; const startTime = Date.now(); @@ -589,7 +624,7 @@ export async function infiniteScroll(page: Page, options: InfiniteScrollOptions const maybeClickButton = async () => { const button = await page.$(buttonSelector!); // Box model returns null if the button is not visible - if (button && await button.boxModel()) { + if (button && (await button.boxModel())) { await button.click({ delay: 10 }); } }; @@ -657,14 +692,17 @@ export interface SaveSnapshotOptions { */ export async function saveSnapshot(page: Page, options: SaveSnapshotOptions = {}): Promise { ow(page, ow.object.validate(validators.browserPage)); - ow(options, ow.object.exactShape({ - key: ow.optional.string.nonEmpty, - screenshotQuality: ow.optional.number, - saveScreenshot: ow.optional.boolean, - saveHtml: ow.optional.boolean, - keyValueStoreName: ow.optional.string, - config: ow.optional.object, - })); + ow( + options, + ow.object.exactShape({ + key: ow.optional.string.nonEmpty, + screenshotQuality: ow.optional.number, + saveScreenshot: ow.optional.boolean, + saveHtml: ow.optional.boolean, + keyValueStoreName: ow.optional.string, + config: ow.optional.object, + }), + ); const { key = 'SNAPSHOT', @@ -676,11 +714,17 @@ export async function saveSnapshot(page: Page, options: SaveSnapshotOptions = {} } = options; try { - const store = await KeyValueStore.open(keyValueStoreName, { config: config ?? Configuration.getGlobalConfig() }); + const store = await KeyValueStore.open(keyValueStoreName, { + config: config ?? Configuration.getGlobalConfig(), + }); if (saveScreenshot) { const screenshotName = `${key}.jpg`; - const screenshotBuffer = await page.screenshot({ fullPage: true, quality: screenshotQuality, type: 'jpeg' }); + const screenshotBuffer = await page.screenshot({ + fullPage: true, + quality: screenshotQuality, + type: 'jpeg', + }); await store.setValue(screenshotName, screenshotBuffer, { contentType: 'image/jpeg' }); } @@ -790,7 +834,9 @@ export interface PuppeteerContextUtils { * * @returns Promise that resolves to {@apilink BatchAddRequestsResult} object. */ - enqueueLinksByClickingElements(options: Omit): Promise; + enqueueLinksByClickingElements( + options: Omit, + ): Promise; /** * Forces the Puppeteer browser tab to block loading URLs that match a provided pattern. @@ -851,7 +897,10 @@ export interface PuppeteerContextUtils { * String rules are compared as page.url().includes(rule) while RegExp rules are evaluated as rule.test(page.url()). * @deprecated */ - cacheResponses(cache: Dictionary>, responseUrlRules: (string | RegExp)[]): Promise; + cacheResponses( + cache: Dictionary>, + responseUrlRules: (string | RegExp)[], + ): Promise; /** * Compiles a Puppeteer script into an async function that may be executed at any time @@ -957,41 +1006,51 @@ export interface PuppeteerContextUtils { } /** @internal */ -export function registerUtilsToContext(context: PuppeteerCrawlingContext, crawlerOptions: PuppeteerCrawlerOptions): void { - context.injectFile = async (filePath: string, options?: InjectFileOptions) => injectFile(context.page, filePath, options); - context.injectJQuery = (async () => { +export function registerUtilsToContext( + context: PuppeteerCrawlingContext, + crawlerOptions: PuppeteerCrawlerOptions, +): void { + context.injectFile = async (filePath: string, options?: InjectFileOptions) => + injectFile(context.page, filePath, options); + context.injectJQuery = async () => { if (context.request.state === RequestState.BEFORE_NAV) { - log.warning('Using injectJQuery() in preNavigationHooks leads to unstable results. Use it in a postNavigationHook or a requestHandler instead.'); + log.warning( + 'Using injectJQuery() in preNavigationHooks leads to unstable results. Use it in a postNavigationHook or a requestHandler instead.', + ); await injectJQuery(context.page); return; } await injectJQuery(context.page, { surviveNavigations: false }); - }); + }; context.parseWithCheerio = async () => parseWithCheerio(context.page, crawlerOptions.ignoreShadowRoots); - // eslint-disable-next-line max-len - context.enqueueLinksByClickingElements = async (options: Omit) => enqueueLinksByClickingElements({ - page: context.page, - requestQueue: context.crawler.requestQueue!, - ...options, - }); + context.enqueueLinksByClickingElements = async ( + options: Omit, + ) => + enqueueLinksByClickingElements({ + page: context.page, + requestQueue: context.crawler.requestQueue!, + ...options, + }); context.blockRequests = async (options?: BlockRequestsOptions) => blockRequests(context.page, options); context.blockResources = async (resourceTypes?: string[]) => blockResources(context.page, resourceTypes); - context.cacheResponses = async (cache: Dictionary>, responseUrlRules: (string | RegExp)[]) => { + context.cacheResponses = async ( + cache: Dictionary>, + responseUrlRules: (string | RegExp)[], + ) => { return cacheResponses(context.page, cache, responseUrlRules); }; context.compileScript = (scriptString: string, ctx?: Dictionary) => compileScript(scriptString, ctx); - context.addInterceptRequestHandler = async (handler: InterceptHandler) => addInterceptRequestHandler(context.page, handler); - context.removeInterceptRequestHandler = async (handler: InterceptHandler) => removeInterceptRequestHandler(context.page, handler); + context.addInterceptRequestHandler = async (handler: InterceptHandler) => + addInterceptRequestHandler(context.page, handler); + context.removeInterceptRequestHandler = async (handler: InterceptHandler) => + removeInterceptRequestHandler(context.page, handler); context.infiniteScroll = async (options?: InfiniteScrollOptions) => infiniteScroll(context.page, options); - context.saveSnapshot = async (options?: SaveSnapshotOptions) => saveSnapshot(context.page, { ...options, config: context.crawler.config }); + context.saveSnapshot = async (options?: SaveSnapshotOptions) => + saveSnapshot(context.page, { ...options, config: context.crawler.config }); context.closeCookieModals = async () => closeCookieModals(context.page); } -export { - enqueueLinksByClickingElements, - addInterceptRequestHandler, - removeInterceptRequestHandler, -}; +export { enqueueLinksByClickingElements, addInterceptRequestHandler, removeInterceptRequestHandler }; /** @internal */ export const puppeteerUtils = { diff --git a/packages/puppeteer-crawler/tsconfig.build.json b/packages/puppeteer-crawler/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/puppeteer-crawler/tsconfig.build.json +++ b/packages/puppeteer-crawler/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/puppeteer-crawler/tsconfig.json b/packages/puppeteer-crawler/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/puppeteer-crawler/tsconfig.json +++ b/packages/puppeteer-crawler/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/templates/.eslintrc.json b/packages/templates/.eslintrc.json index a1e94417375c..b4c4cbd98a86 100644 --- a/packages/templates/.eslintrc.json +++ b/packages/templates/.eslintrc.json @@ -1,9 +1,9 @@ { - "root": true, - "extends": "../../.eslintrc.json", - "rules": { - "no-console": 0, - "@typescript-eslint/no-shadow": 0, - "@typescript-eslint/consistent-type-imports": 0 - } + "root": true, + "extends": "../../.eslintrc.json", + "rules": { + "no-console": 0, + "@typescript-eslint/no-shadow": 0, + "@typescript-eslint/consistent-type-imports": 0 + } } diff --git a/packages/templates/CHANGELOG.md b/packages/templates/CHANGELOG.md index 526f8886405d..f02e86c68549 100644 --- a/packages/templates/CHANGELOG.md +++ b/packages/templates/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/templates + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package @crawlee/templates + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/templates diff --git a/packages/templates/manifest.json b/packages/templates/manifest.json index 710a9be350b9..cfac04b32599 100644 --- a/packages/templates/manifest.json +++ b/packages/templates/manifest.json @@ -1,110 +1,110 @@ { - "templates": [ - { - "name": "getting-started-ts", - "description": "Getting started example [TypeScript]", - "files": [ - "src/main.ts", - ".dockerignore", - ".gitignore", - "Dockerfile", - "package.json", - "README.md", - "tsconfig.json" - ] - }, - { - "name": "getting-started-js", - "description": "Getting started example [JavaScript]", - "files": [ - "src/main.js", - ".dockerignore", - ".gitignore", - "Dockerfile", - "package.json", - "README.md" - ] - }, - { - "name": "cheerio-ts", - "description": "CheerioCrawler template project [TypeScript]", - "files": [ - "src/main.ts", - "src/routes.ts", - ".dockerignore", - ".gitignore", - "Dockerfile", - "package.json", - "README.md", - "tsconfig.json" - ] - }, - { - "name": "playwright-ts", - "description": "PlaywrightCrawler template project [TypeScript]", - "files": [ - "src/main.ts", - "src/routes.ts", - ".dockerignore", - ".gitignore", - "Dockerfile", - "package.json", - "README.md", - "tsconfig.json" - ] - }, - { - "name": "puppeteer-ts", - "description": "PuppeteerCrawler template project [TypeScript]", - "files": [ - "src/main.ts", - "src/routes.ts", - ".dockerignore", - ".gitignore", - "Dockerfile", - "package.json", - "README.md", - "tsconfig.json" - ] - }, - { - "name": "cheerio-js", - "description": "CheerioCrawler template project [JavaScript]", - "files": [ - "src/main.js", - "src/routes.js", - ".dockerignore", - ".gitignore", - "Dockerfile", - "package.json", - "README.md" - ] - }, - { - "name": "playwright-js", - "description": "PlaywrightCrawler template project [JavaScript]", - "files": [ - "src/main.js", - "src/routes.js", - ".dockerignore", - ".gitignore", - "Dockerfile", - "package.json", - "README.md" - ] - }, - { - "name": "puppeteer-js", - "description": "PuppeteerCrawler template project [JavaScript]", - "files": [ - "src/main.js", - "src/routes.js", - ".dockerignore", - ".gitignore", - "Dockerfile", - "package.json", - "README.md" - ] - } - ] + "templates": [ + { + "name": "getting-started-ts", + "description": "Getting started example [TypeScript]", + "files": [ + "src/main.ts", + ".dockerignore", + ".gitignore", + "Dockerfile", + "package.json", + "README.md", + "tsconfig.json" + ] + }, + { + "name": "getting-started-js", + "description": "Getting started example [JavaScript]", + "files": [ + "src/main.js", + ".dockerignore", + ".gitignore", + "Dockerfile", + "package.json", + "README.md" + ] + }, + { + "name": "cheerio-ts", + "description": "CheerioCrawler template project [TypeScript]", + "files": [ + "src/main.ts", + "src/routes.ts", + ".dockerignore", + ".gitignore", + "Dockerfile", + "package.json", + "README.md", + "tsconfig.json" + ] + }, + { + "name": "playwright-ts", + "description": "PlaywrightCrawler template project [TypeScript]", + "files": [ + "src/main.ts", + "src/routes.ts", + ".dockerignore", + ".gitignore", + "Dockerfile", + "package.json", + "README.md", + "tsconfig.json" + ] + }, + { + "name": "puppeteer-ts", + "description": "PuppeteerCrawler template project [TypeScript]", + "files": [ + "src/main.ts", + "src/routes.ts", + ".dockerignore", + ".gitignore", + "Dockerfile", + "package.json", + "README.md", + "tsconfig.json" + ] + }, + { + "name": "cheerio-js", + "description": "CheerioCrawler template project [JavaScript]", + "files": [ + "src/main.js", + "src/routes.js", + ".dockerignore", + ".gitignore", + "Dockerfile", + "package.json", + "README.md" + ] + }, + { + "name": "playwright-js", + "description": "PlaywrightCrawler template project [JavaScript]", + "files": [ + "src/main.js", + "src/routes.js", + ".dockerignore", + ".gitignore", + "Dockerfile", + "package.json", + "README.md" + ] + }, + { + "name": "puppeteer-js", + "description": "PuppeteerCrawler template project [JavaScript]", + "files": [ + "src/main.js", + "src/routes.js", + ".dockerignore", + ".gitignore", + "Dockerfile", + "package.json", + "README.md" + ] + } + ] } diff --git a/packages/templates/package.json b/packages/templates/package.json index 4ed6b308136c..4db916894cc6 100644 --- a/packages/templates/package.json +++ b/packages/templates/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/templates", - "version": "3.9.2", + "version": "3.10.1", "description": "Templates for the crawlee projects", "engines": { "node": ">=16.0.0" diff --git a/packages/templates/scripts/validate-manifest.mjs b/packages/templates/scripts/validate-manifest.mjs index 608ef9c27fa2..bccf62bb9491 100644 --- a/packages/templates/scripts/validate-manifest.mjs +++ b/packages/templates/scripts/validate-manifest.mjs @@ -35,10 +35,19 @@ for (const manifestTemplate of manifest.templates) { } catch (err) { if (err.code === 'ENOENT') { hasError = true; - console.error(`${colors.grey(`[${colors.yellow(manifestTemplate.name)}]:`)} Failed to find file ${colors.yellow(requiredFile)}`); + console.error( + `${colors.grey(`[${colors.yellow(manifestTemplate.name)}]:`)} Failed to find file ${colors.yellow( + requiredFile, + )}`, + ); console.error(err); } else { - console.warn(`${colors.grey(`[${colors.yellow(manifestTemplate.name)}]:`)} Failed to read file ${colors.yellow(requiredFile)}`, err); + console.warn( + `${colors.grey(`[${colors.yellow(manifestTemplate.name)}]:`)} Failed to read file ${colors.yellow( + requiredFile, + )}`, + err, + ); } } } diff --git a/packages/templates/src/index.ts b/packages/templates/src/index.ts index 5287f16a069b..942aac9576f8 100644 --- a/packages/templates/src/index.ts +++ b/packages/templates/src/index.ts @@ -36,26 +36,26 @@ export interface TemplateFile { export async function fetchManifest(): Promise { const rawManifest = await new Promise((resolve, reject) => { - https.get(MANIFEST_URL, (res) => { - let json = ''; - res - .on('data', (chunk) => { + https + .get(MANIFEST_URL, (res) => { + let json = ''; + res.on('data', (chunk) => { json += chunk; }) - .once('end', () => { - if (res.statusCode === 200) { - try { - const data = JSON.parse(json); - resolve(data); - } catch (e) { - reject(e); + .once('end', () => { + if (res.statusCode === 200) { + try { + const data = JSON.parse(json); + resolve(data); + } catch (e) { + reject(e); + } + } else { + reject(new Error(`Status: ${res.statusCode}\n${json}`)); } - } else { - reject(new Error(`Status: ${res.statusCode}\n${json}`)); - } - }) - .on('error', (err) => reject(err)); - }) + }) + .on('error', (err) => reject(err)); + }) .on('error', (err) => reject(err)); }); diff --git a/packages/templates/templates/cheerio-js/Dockerfile b/packages/templates/templates/cheerio-js/Dockerfile index 2c140d5bf39f..4c8d11fc3f74 100644 --- a/packages/templates/templates/cheerio-js/Dockerfile +++ b/packages/templates/templates/cheerio-js/Dockerfile @@ -1,7 +1,7 @@ # Specify the base Docker image. You can read more about # the available images at https://crawlee.dev/docs/guides/docker-images # You can also use any other image from Docker Hub. -FROM apify/actor-node:18 +FROM apify/actor-node:20 # Copy just package.json and package-lock.json # to speed up the build using Docker layer cache. diff --git a/packages/templates/templates/cheerio-ts/Dockerfile b/packages/templates/templates/cheerio-ts/Dockerfile index 8d7d45836615..995a3d8155c6 100644 --- a/packages/templates/templates/cheerio-ts/Dockerfile +++ b/packages/templates/templates/cheerio-ts/Dockerfile @@ -1,7 +1,7 @@ # Specify the base Docker image. You can read more about # the available images at https://crawlee.dev/docs/guides/docker-images # You can also use any other image from Docker Hub. -FROM apify/actor-node:18 AS builder +FROM apify/actor-node:20 AS builder # Copy just package.json and package-lock.json # to speed up the build using Docker layer cache. @@ -19,7 +19,7 @@ COPY . ./ RUN npm run build # Create final image -FROM apify/actor-node:18 +FROM apify/actor-node:20 # Copy only built JS files from builder image COPY --from=builder /usr/src/app/dist ./dist diff --git a/packages/templates/templates/cheerio-ts/tsconfig.json b/packages/templates/templates/cheerio-ts/tsconfig.json index 5b76f5cd3bab..cc141ac628cb 100644 --- a/packages/templates/templates/cheerio-ts/tsconfig.json +++ b/packages/templates/templates/cheerio-ts/tsconfig.json @@ -1,14 +1,12 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "module": "NodeNext", - "moduleResolution": "NodeNext", - "target": "ES2022", - "outDir": "dist", - "noUnusedLocals": false, - "lib": ["DOM"] - }, - "include": [ - "./src/**/*" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ES2022", + "outDir": "dist", + "noUnusedLocals": false, + "lib": ["DOM"] + }, + "include": ["./src/**/*"] } diff --git a/packages/templates/templates/getting-started-js/Dockerfile b/packages/templates/templates/getting-started-js/Dockerfile index 42c02ffb17cb..6e804b93aadc 100644 --- a/packages/templates/templates/getting-started-js/Dockerfile +++ b/packages/templates/templates/getting-started-js/Dockerfile @@ -1,7 +1,7 @@ # Specify the base Docker image. You can read more about # the available images at https://crawlee.dev/docs/guides/docker-images # You can also use any other image from Docker Hub. -FROM apify/actor-node-playwright-chrome:18 +FROM apify/actor-node-playwright-chrome:20 # Copy just package.json and package-lock.json # to speed up the build using Docker layer cache. diff --git a/packages/templates/templates/getting-started-ts/Dockerfile b/packages/templates/templates/getting-started-ts/Dockerfile index f23442a2bf1f..1fe6784a46fc 100644 --- a/packages/templates/templates/getting-started-ts/Dockerfile +++ b/packages/templates/templates/getting-started-ts/Dockerfile @@ -1,7 +1,7 @@ # Specify the base Docker image. You can read more about # the available images at https://crawlee.dev/docs/guides/docker-images # You can also use any other image from Docker Hub. -FROM apify/actor-node-playwright-chrome:18 AS builder +FROM apify/actor-node-playwright-chrome:20 AS builder # Copy just package.json and package-lock.json # to speed up the build using Docker layer cache. @@ -19,7 +19,7 @@ COPY --chown=myuser . ./ RUN npm run build # Create final image -FROM apify/actor-node-playwright-chrome:18 +FROM apify/actor-node-playwright-chrome:20 # Copy only built JS files from builder image COPY --from=builder --chown=myuser /home/myuser/dist ./dist diff --git a/packages/templates/templates/getting-started-ts/tsconfig.json b/packages/templates/templates/getting-started-ts/tsconfig.json index 5b76f5cd3bab..cc141ac628cb 100644 --- a/packages/templates/templates/getting-started-ts/tsconfig.json +++ b/packages/templates/templates/getting-started-ts/tsconfig.json @@ -1,14 +1,12 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "module": "NodeNext", - "moduleResolution": "NodeNext", - "target": "ES2022", - "outDir": "dist", - "noUnusedLocals": false, - "lib": ["DOM"] - }, - "include": [ - "./src/**/*" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ES2022", + "outDir": "dist", + "noUnusedLocals": false, + "lib": ["DOM"] + }, + "include": ["./src/**/*"] } diff --git a/packages/templates/templates/playwright-js/Dockerfile b/packages/templates/templates/playwright-js/Dockerfile index 2e6e5027fc60..edf60c820dd0 100644 --- a/packages/templates/templates/playwright-js/Dockerfile +++ b/packages/templates/templates/playwright-js/Dockerfile @@ -1,7 +1,7 @@ # Specify the base Docker image. You can read more about # the available images at https://crawlee.dev/docs/guides/docker-images # You can also use any other image from Docker Hub. -FROM apify/actor-node-playwright-chrome:18 +FROM apify/actor-node-playwright-chrome:20 # Copy just package.json and package-lock.json # to speed up the build using Docker layer cache. diff --git a/packages/templates/templates/playwright-ts/Dockerfile b/packages/templates/templates/playwright-ts/Dockerfile index f23442a2bf1f..1fe6784a46fc 100644 --- a/packages/templates/templates/playwright-ts/Dockerfile +++ b/packages/templates/templates/playwright-ts/Dockerfile @@ -1,7 +1,7 @@ # Specify the base Docker image. You can read more about # the available images at https://crawlee.dev/docs/guides/docker-images # You can also use any other image from Docker Hub. -FROM apify/actor-node-playwright-chrome:18 AS builder +FROM apify/actor-node-playwright-chrome:20 AS builder # Copy just package.json and package-lock.json # to speed up the build using Docker layer cache. @@ -19,7 +19,7 @@ COPY --chown=myuser . ./ RUN npm run build # Create final image -FROM apify/actor-node-playwright-chrome:18 +FROM apify/actor-node-playwright-chrome:20 # Copy only built JS files from builder image COPY --from=builder --chown=myuser /home/myuser/dist ./dist diff --git a/packages/templates/templates/playwright-ts/tsconfig.json b/packages/templates/templates/playwright-ts/tsconfig.json index 5b76f5cd3bab..cc141ac628cb 100644 --- a/packages/templates/templates/playwright-ts/tsconfig.json +++ b/packages/templates/templates/playwright-ts/tsconfig.json @@ -1,14 +1,12 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "module": "NodeNext", - "moduleResolution": "NodeNext", - "target": "ES2022", - "outDir": "dist", - "noUnusedLocals": false, - "lib": ["DOM"] - }, - "include": [ - "./src/**/*" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ES2022", + "outDir": "dist", + "noUnusedLocals": false, + "lib": ["DOM"] + }, + "include": ["./src/**/*"] } diff --git a/packages/templates/templates/puppeteer-js/Dockerfile b/packages/templates/templates/puppeteer-js/Dockerfile index a6dcb4b12f7c..fa86c423fa9c 100644 --- a/packages/templates/templates/puppeteer-js/Dockerfile +++ b/packages/templates/templates/puppeteer-js/Dockerfile @@ -1,7 +1,7 @@ # Specify the base Docker image. You can read more about # the available images at https://crawlee.dev/docs/guides/docker-images # You can also use any other image from Docker Hub. -FROM apify/actor-node-puppeteer-chrome:18 +FROM apify/actor-node-puppeteer-chrome:20 # Copy just package.json and package-lock.json # to speed up the build using Docker layer cache. diff --git a/packages/templates/templates/puppeteer-ts/Dockerfile b/packages/templates/templates/puppeteer-ts/Dockerfile index d0f9936ff324..292b6f4a156f 100644 --- a/packages/templates/templates/puppeteer-ts/Dockerfile +++ b/packages/templates/templates/puppeteer-ts/Dockerfile @@ -1,7 +1,7 @@ # Specify the base Docker image. You can read more about # the available images at https://crawlee.dev/docs/guides/docker-images # You can also use any other image from Docker Hub. -FROM apify/actor-node-puppeteer-chrome:18 AS builder +FROM apify/actor-node-puppeteer-chrome:20 AS builder # Copy just package.json and package-lock.json # to speed up the build using Docker layer cache. @@ -19,7 +19,7 @@ COPY --chown=myuser . ./ RUN npm run build # Create final image -FROM apify/actor-node-puppeteer-chrome:18 +FROM apify/actor-node-puppeteer-chrome:20 # Copy only built JS files from builder image COPY --from=builder --chown=myuser /home/myuser/dist ./dist diff --git a/packages/templates/templates/puppeteer-ts/tsconfig.json b/packages/templates/templates/puppeteer-ts/tsconfig.json index 5b76f5cd3bab..cc141ac628cb 100644 --- a/packages/templates/templates/puppeteer-ts/tsconfig.json +++ b/packages/templates/templates/puppeteer-ts/tsconfig.json @@ -1,14 +1,12 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "module": "NodeNext", - "moduleResolution": "NodeNext", - "target": "ES2022", - "outDir": "dist", - "noUnusedLocals": false, - "lib": ["DOM"] - }, - "include": [ - "./src/**/*" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ES2022", + "outDir": "dist", + "noUnusedLocals": false, + "lib": ["DOM"] + }, + "include": ["./src/**/*"] } diff --git a/packages/templates/tsconfig.build.json b/packages/templates/tsconfig.build.json index e47ba56a77b0..2e04e9e9f921 100644 --- a/packages/templates/tsconfig.build.json +++ b/packages/templates/tsconfig.build.json @@ -1,9 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": [ - "src/**/*" - ] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/templates/tsconfig.json b/packages/templates/tsconfig.json index 1c52306adec5..2e6a4ce4084f 100644 --- a/packages/templates/tsconfig.json +++ b/packages/templates/tsconfig.json @@ -1,6 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": [ - "src/**/*" - ] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/types/CHANGELOG.md b/packages/types/CHANGELOG.md index 75bd8ab9dea4..69f4b751f931 100644 --- a/packages/types/CHANGELOG.md +++ b/packages/types/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + +**Note:** Version bump only for package @crawlee/types + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + +**Note:** Version bump only for package @crawlee/types + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) **Note:** Version bump only for package @crawlee/types diff --git a/packages/types/package.json b/packages/types/package.json index e64dcab49c52..deebf3788ecf 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/types", - "version": "3.9.2", + "version": "3.10.1", "description": "Shared types for the crawlee projects", "engines": { "node": ">=16.0.0" diff --git a/packages/types/src/storages.ts b/packages/types/src/storages.ts index 4710d1de54aa..4d2af1739eb5 100644 --- a/packages/types/src/storages.ts +++ b/packages/types/src/storages.ts @@ -5,7 +5,6 @@ import type { AllowedHttpMethods, Dictionary } from './utility-types'; * {@apilink RequestQueue} functions as well as {@apilink enqueueLinks}. */ export interface QueueOperationInfo { - /** Indicates if request was already present in the queue. */ wasAlreadyPresent: boolean; @@ -14,7 +13,6 @@ export interface QueueOperationInfo { /** The ID of the added request */ requestId: string; - } export interface DatasetCollectionClientOptions { diff --git a/packages/types/tsconfig.build.json b/packages/types/tsconfig.build.json index 856db0f2100a..2e04e9e9f921 100644 --- a/packages/types/tsconfig.build.json +++ b/packages/types/tsconfig.build.json @@ -1,7 +1,7 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"] + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"] } diff --git a/packages/types/tsconfig.json b/packages/types/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/types/tsconfig.json +++ b/packages/types/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/packages/utils/CHANGELOG.md b/packages/utils/CHANGELOG.md index 70181f6621a7..135967b2131f 100644 --- a/packages/utils/CHANGELOG.md +++ b/packages/utils/CHANGELOG.md @@ -3,6 +3,35 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [3.10.1](https://github.com/apify/crawlee/compare/v3.10.0...v3.10.1) (2024-05-23) + + +### Bug Fixes + +* adjust `URL_NO_COMMAS_REGEX` regexp to allow single character hostnames ([#2492](https://github.com/apify/crawlee/issues/2492)) ([ec802e8](https://github.com/apify/crawlee/commit/ec802e85f54022616e5bdcc1a6fd1bd43e1b3ace)), closes [#2487](https://github.com/apify/crawlee/issues/2487) + + + + + +# [3.10.0](https://github.com/apify/crawlee/compare/v3.9.2...v3.10.0) (2024-05-16) + + +### Bug Fixes + +* malformed sitemap url when sitemap index child contains querystring ([#2430](https://github.com/apify/crawlee/issues/2430)) ([e4cd41c](https://github.com/apify/crawlee/commit/e4cd41c49999af270fbe2476a61d92c8e3502463)) +* return true when robots.isAllowed returns undefined ([#2439](https://github.com/apify/crawlee/issues/2439)) ([6f541f8](https://github.com/apify/crawlee/commit/6f541f8c4ea9b1e94eb506383019397676fd79fe)), closes [#2437](https://github.com/apify/crawlee/issues/2437) +* sitemap `content-type` check breaks on `content-type` parameters ([#2442](https://github.com/apify/crawlee/issues/2442)) ([db7d372](https://github.com/apify/crawlee/commit/db7d37256a49820e3e584165fff42377042ec258)) + + +### Features + +* implement ErrorSnapshotter for error context capture ([#2332](https://github.com/apify/crawlee/issues/2332)) ([e861dfd](https://github.com/apify/crawlee/commit/e861dfdb451ae32fb1e0c7749c6b59744654b303)), closes [#2280](https://github.com/apify/crawlee/issues/2280) + + + + + ## [3.9.2](https://github.com/apify/crawlee/compare/v3.9.1...v3.9.2) (2024-04-17) diff --git a/packages/utils/package.json b/packages/utils/package.json index 14c3d87ce532..abf687ad2677 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@crawlee/utils", - "version": "3.9.2", + "version": "3.10.1", "description": "A set of shared utilities that can be used by crawlers", "engines": { "node": ">=16.0.0" @@ -49,13 +49,18 @@ "dependencies": { "@apify/log": "^2.4.0", "@apify/ps-tree": "^1.2.0", - "@crawlee/types": "3.9.2", + "@crawlee/types": "3.10.1", "@types/sax": "^1.2.7", "cheerio": "^1.0.0-rc.12", + "file-type": "^19.0.0", "got-scraping": "^4.0.3", "ow": "^0.28.1", "robots-parser": "^3.0.1", "sax": "^1.3.0", - "tslib": "^2.4.0" + "tslib": "^2.4.0", + "whatwg-mimetype": "^4.0.0" + }, + "devDependencies": { + "@types/whatwg-mimetype": "^3.0.2" } } diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index 7ed721e9ec42..9ba820c5ab78 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -7,7 +7,6 @@ export * from './internals/memory-info'; export * from './internals/debug'; export * as social from './internals/social'; export * from './internals/typedefs'; -export * from './internals/error_tracker'; export * from './internals/open_graph_parser'; export * from './internals/gotScraping'; export * from './internals/robots'; diff --git a/packages/utils/src/internals/blocked.ts b/packages/utils/src/internals/blocked.ts index 2a4d4fc68297..07c2c922bdf9 100644 --- a/packages/utils/src/internals/blocked.ts +++ b/packages/utils/src/internals/blocked.ts @@ -1,6 +1,4 @@ -export const CLOUDFLARE_RETRY_CSS_SELECTORS = [ - '#turnstile-wrapper iframe[src^="https://challenges.cloudflare.com"]', -]; +export const CLOUDFLARE_RETRY_CSS_SELECTORS = ['#turnstile-wrapper iframe[src^="https://challenges.cloudflare.com"]']; /** * CSS selectors for elements that should trigger a retry, as the crawler is likely getting blocked. diff --git a/packages/utils/src/internals/cheerio.ts b/packages/utils/src/internals/cheerio.ts index f306db4bec80..5c49626af586 100644 --- a/packages/utils/src/internals/cheerio.ts +++ b/packages/utils/src/internals/cheerio.ts @@ -8,7 +8,8 @@ export type CheerioRoot = ReturnType; // NOTE: We are skipping 'noscript' since it's content is evaluated as text, instead of HTML elements. That damages the results. const SKIP_TAGS_REGEX = /^(script|style|canvas|svg|noscript)$/i; -const BLOCK_TAGS_REGEX = /^(p|h1|h2|h3|h4|h5|h6|ol|ul|li|pre|address|blockquote|dl|div|fieldset|form|table|tr|select|option)$/i; +const BLOCK_TAGS_REGEX = + /^(p|h1|h2|h3|h4|h5|h6|ol|ul|li|pre|address|blockquote|dl|div|fieldset|form|table|tr|select|option)$/i; /** * The function converts a HTML document to a plain text. @@ -41,7 +42,10 @@ const BLOCK_TAGS_REGEX = /^(p|h1|h2|h3|h4|h5|h6|ol|ul|li|pre|address|blockquote| export function htmlToText(htmlOrCheerioElement: string | CheerioRoot): string { if (!htmlOrCheerioElement) return ''; - const $ = typeof htmlOrCheerioElement === 'function' ? htmlOrCheerioElement : cheerio.load(htmlOrCheerioElement, { decodeEntities: true }); + const $ = + typeof htmlOrCheerioElement === 'function' + ? htmlOrCheerioElement + : cheerio.load(htmlOrCheerioElement, { decodeEntities: true }); let text = ''; const process = (elems: Dictionary) => { @@ -105,12 +109,12 @@ export function extractUrlsFromCheerio($: CheerioAPI, selector: string = 'a', ba // Throw a meaningful error when only a relative URL would be extracted instead of waiting for the Request to fail later. const isHrefAbsolute = /^[a-z][a-z0-9+.-]*:/.test(href); // Grabbed this in 'is-absolute-url' package. if (!isHrefAbsolute && !baseUrl) { - throw new Error(`An extracted URL: ${href} is relative and baseUrl is not set. ` - + 'Provide a baseUrl to automatically resolve relative URLs.'); + throw new Error( + `An extracted URL: ${href} is relative and baseUrl is not set. ` + + 'Provide a baseUrl to automatically resolve relative URLs.', + ); } - return baseUrl - ? tryAbsoluteURL(href, baseUrl) - : href; + return baseUrl ? tryAbsoluteURL(href, baseUrl) : href; }) .filter(Boolean) as string[]; } diff --git a/packages/utils/src/internals/debug.ts b/packages/utils/src/internals/debug.ts index 8d71f8fef535..efacc7e055d5 100644 --- a/packages/utils/src/internals/debug.ts +++ b/packages/utils/src/internals/debug.ts @@ -48,7 +48,10 @@ export function createRequestDebugInfo( retryCount: request.retryCount, errorMessages: request.errorMessages, // Puppeteer response has .status() function and NodeJS response, statusCode property. - statusCode: 'status' in response && response.status instanceof Function ? response.status() : (response as IncomingMessage).statusCode, + statusCode: + 'status' in response && response.status instanceof Function + ? response.status() + : (response as IncomingMessage).statusCode, ...additionalFields, }; } diff --git a/packages/utils/src/internals/extract-urls.ts b/packages/utils/src/internals/extract-urls.ts index 8d1d914333d0..379cef9d36dd 100644 --- a/packages/utils/src/internals/extract-urls.ts +++ b/packages/utils/src/internals/extract-urls.ts @@ -31,12 +31,15 @@ export interface DownloadListOfUrlsOptions { * Optionally, custom regular expression and encoding may be provided. */ export async function downloadListOfUrls(options: DownloadListOfUrlsOptions): Promise { - ow(options, ow.object.exactShape({ - url: ow.string.url, - encoding: ow.optional.string, - urlRegExp: ow.optional.regExp, - proxyUrl: ow.optional.string, - })); + ow( + options, + ow.object.exactShape({ + url: ow.string.url, + encoding: ow.optional.string, + urlRegExp: ow.optional.regExp, + proxyUrl: ow.optional.string, + }), + ); const { url, encoding = 'utf8', urlRegExp = URL_NO_COMMAS_REGEX, proxyUrl } = options; // Try to detect wrong urls and fix them. Currently, detects only sharing url instead of csv download one. @@ -69,10 +72,13 @@ export interface ExtractUrlsOptions { * Collects all URLs in an arbitrary string to an array, optionally using a custom regular expression. */ export function extractUrls(options: ExtractUrlsOptions): string[] { - ow(options, ow.object.exactShape({ - string: ow.string, - urlRegExp: ow.optional.regExp, - })); + ow( + options, + ow.object.exactShape({ + string: ow.string, + urlRegExp: ow.optional.regExp, + }), + ); const lines = options.string.split('\n'); const result: string[] = []; const urlRegExp = options.urlRegExp ?? URL_NO_COMMAS_REGEX; @@ -89,7 +95,7 @@ export function extractUrls(options: ExtractUrlsOptions): string[] { */ export function tryAbsoluteURL(href: string, baseUrl: string): string | undefined { try { - return (new URL(href, baseUrl)).href; + return new URL(href, baseUrl).href; } catch { return undefined; } diff --git a/packages/utils/src/internals/general.ts b/packages/utils/src/internals/general.ts index 12f7c0b79bef..221c84d4b9a9 100644 --- a/packages/utils/src/internals/general.ts +++ b/packages/utils/src/internals/general.ts @@ -5,22 +5,26 @@ import { setTimeout } from 'node:timers/promises'; * Default regular expression to match URLs in a string that may be plain text, JSON, CSV or other. It supports common URL characters * and does not support URLs containing commas or spaces. The URLs also may contain Unicode letters (not symbols). */ -export const URL_NO_COMMAS_REGEX = RegExp('https?://(www\\.)?[\\p{L}0-9][-\\p{L}0-9@:%._\\+~#=]{0,254}[\\p{L}0-9]\\.[a-z]{2,63}(:\\d{1,5})?(/[-\\p{L}0-9@:%_\\+.~#?&//=\\(\\)]*)?', 'giu'); // eslint-disable-line +export const URL_NO_COMMAS_REGEX = + /https?:\/\/(www\.)?([\p{L}0-9]|[\p{L}0-9][-\p{L}0-9@:%._+~#=]{0,254}[\p{L}0-9])\.[a-z]{2,63}(:\d{1,5})?(\/[-\p{L}0-9@:%_+.~#?&/=()]*)?/giu; /** * Regular expression that, in addition to the default regular expression `URL_NO_COMMAS_REGEX`, supports matching commas in URL path and query. * Note, however, that this may prevent parsing URLs from comma delimited lists, or the URLs may become malformed. */ -export const URL_WITH_COMMAS_REGEX = RegExp('https?://(www\\.)?[\\p{L}0-9][-\\p{L}0-9@:%._\\+~#=]{0,254}[\\p{L}0-9]\\.[a-z]{2,63}(:\\d{1,5})?(/[-\\p{L}0-9@:%_\\+,.~#?&//=\\(\\)]*)?', 'giu'); // eslint-disable-line +export const URL_WITH_COMMAS_REGEX = + /https?:\/\/(www\.)?([\p{L}0-9]|[\p{L}0-9][-\p{L}0-9@:%._+~#=]{0,254}[\p{L}0-9])\.[a-z]{2,63}(:\d{1,5})?(\/[-\p{L}0-9@:%_+,.~#?&/=()]*)?/giu; let isDockerPromiseCache: Promise | undefined; async function createIsDockerPromise() { - const promise1 = fs.stat('/.dockerenv') + const promise1 = fs + .stat('/.dockerenv') .then(() => true) .catch(() => false); - const promise2 = fs.readFile('/proc/self/cgroup', 'utf8') + const promise2 = fs + .readFile('/proc/self/cgroup', 'utf8') .then((content) => content.includes('docker')) .catch(() => false); @@ -44,12 +48,14 @@ export async function isDocker(forceReset?: boolean): Promise { * @ignore */ export function weightedAvg(arrValues: number[], arrWeights: number[]): number { - const result = arrValues.map((value, i) => { - const weight = arrWeights[i]; - const sum = value * weight; + const result = arrValues + .map((value, i) => { + const weight = arrWeights[i]; + const sum = value * weight; - return [sum, weight]; - }).reduce((p, c) => [p[0] + c[0], p[1] + c[1]], [0, 0]); + return [sum, weight]; + }) + .reduce((p, c) => [p[0] + c[0], p[1] + c[1]], [0, 0]); return result[0] / result[1]; } @@ -83,9 +89,7 @@ export function snakeCaseToCamelCase(snakeCaseStr: string): string { .toLowerCase() .split('_') .map((part, index) => { - return index > 0 - ? part.charAt(0).toUpperCase() + part.slice(1) - : part; + return index > 0 ? part.charAt(0).toUpperCase() + part.slice(1) : part; }) .join(''); } diff --git a/packages/utils/src/internals/memory-info.ts b/packages/utils/src/internals/memory-info.ts index f3a98d028318..c4c2f9972e54 100644 --- a/packages/utils/src/internals/memory-info.ts +++ b/packages/utils/src/internals/memory-info.ts @@ -55,10 +55,9 @@ export async function getMemoryInfo(): Promise { // lambda does *not* have `ps` and other command line tools // required to extract memory usage. - const isLambdaEnvironment = process.platform === 'linux' - && !!process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE; + const isLambdaEnvironment = process.platform === 'linux' && !!process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE; - const isDockerVar = !isLambdaEnvironment && await isDocker(); + const isDockerVar = !isLambdaEnvironment && (await isDocker()); let mainProcessBytes = -1; let childProcessesBytes = 0; @@ -140,9 +139,11 @@ export async function getMemoryInfo(): Promise { freeBytes = totalBytes - usedBytes; } catch (err) { // log.deprecated logs a warning only once - log.deprecated('Your environment is Docker, but your system does not support memory cgroups. ' - + 'If you\'re running containers with limited memory, memory auto-scaling will not work properly.\n\n' - + `Cause: ${(err as Error).message}`); + log.deprecated( + 'Your environment is Docker, but your system does not support memory cgroups. ' + + "If you're running containers with limited memory, memory auto-scaling will not work properly.\n\n" + + `Cause: ${(err as Error).message}`, + ); totalBytes = totalmem(); freeBytes = freemem(); usedBytes = totalBytes - freeBytes; diff --git a/packages/utils/src/internals/open_graph_parser.ts b/packages/utils/src/internals/open_graph_parser.ts index b3e40e813ad3..ad6d8a371cf0 100644 --- a/packages/utils/src/internals/open_graph_parser.ts +++ b/packages/utils/src/internals/open_graph_parser.ts @@ -17,7 +17,8 @@ type OpenGraphResult = string | string[] | Dictionary; * @param item The item to assign to the key. * @returns Either an empty object or an object with the content provided. */ -const optionalSpread = (key: string, item: any) => (item !== undefined && !!Object.values(item)?.length ? { [key]: item } : {}); +const optionalSpread = (key: string, item: any) => + item !== undefined && !!Object.values(item)?.length ? { [key]: item } : {}; const OPEN_GRAPH_PROPERTIES: OpenGraphProperty[] = [ { @@ -371,15 +372,18 @@ const parseOpenGraphProperty = (property: OpenGraphProperty, $: CheerioAPI): str // "Value" is appended to the end of the property name to make it more clear, and to prevent things such // as `videoInfo.actor.actor` to grab the actor's name. ...optionalSpread(`${property.outputName}Value`, content), - ...property.children.reduce((acc, curr) => { - const parsed = parseOpenGraphProperty(curr, $); - if (parsed === undefined) return acc; + ...property.children.reduce( + (acc, curr) => { + const parsed = parseOpenGraphProperty(curr, $); + if (parsed === undefined) return acc; - return { - ...acc, - ...optionalSpread(curr.outputName, parseOpenGraphProperty(curr, $)), - }; - }, {} as Dictionary), + return { + ...acc, + ...optionalSpread(curr.outputName, parseOpenGraphProperty(curr, $)), + }; + }, + {} as Dictionary, + ), }; }; @@ -396,10 +400,13 @@ export function parseOpenGraph($: CheerioAPI, additionalProperties?: OpenGraphPr export function parseOpenGraph(item: CheerioAPI | string, additionalProperties?: OpenGraphProperty[]) { const $ = typeof item === 'string' ? load(item) : item; - return [...(additionalProperties || []), ...OPEN_GRAPH_PROPERTIES].reduce((acc, curr) => { - return { - ...acc, - ...optionalSpread(curr.outputName, parseOpenGraphProperty(curr, $)), - }; - }, {} as Dictionary); + return [...(additionalProperties || []), ...OPEN_GRAPH_PROPERTIES].reduce( + (acc, curr) => { + return { + ...acc, + ...optionalSpread(curr.outputName, parseOpenGraphProperty(curr, $)), + }; + }, + {} as Dictionary, + ); } diff --git a/packages/utils/src/internals/robots.ts b/packages/utils/src/internals/robots.ts index fd390dd7a4fb..98d78e278041 100644 --- a/packages/utils/src/internals/robots.ts +++ b/packages/utils/src/internals/robots.ts @@ -71,7 +71,17 @@ export class RobotsFile { return new RobotsFile(robotsParser(url.toString(), response.body), proxyUrl); } catch (e) { if (e instanceof HTTPError && e.response.statusCode === 404) { - return new RobotsFile({ isAllowed() { return true; }, getSitemaps() { return []; } }, proxyUrl); + return new RobotsFile( + { + isAllowed() { + return true; + }, + getSitemaps() { + return []; + }, + }, + proxyUrl, + ); } throw e; } @@ -83,7 +93,7 @@ export class RobotsFile { * @param [userAgent] relevant user agent, default to `*` */ isAllowed(url: string, userAgent = '*'): boolean { - return this.robots.isAllowed(url, userAgent) ?? false; + return this.robots.isAllowed(url, userAgent) ?? true; // `undefined` means that there is no explicit rule for the requested URL - assume it's allowed } /** diff --git a/packages/utils/src/internals/sitemap.ts b/packages/utils/src/internals/sitemap.ts index b8f94f164f7c..c3b68db61bfb 100644 --- a/packages/utils/src/internals/sitemap.ts +++ b/packages/utils/src/internals/sitemap.ts @@ -1,14 +1,16 @@ -import type { Duplex } from 'node:stream'; -import { Writable } from 'node:stream'; +import { Readable, Writable } from 'node:stream'; import { StringDecoder } from 'node:string_decoder'; import { createGunzip } from 'node:zlib'; import log from '@apify/log'; import type { SAXStream } from 'sax'; import sax from 'sax'; +import MIMEType from 'whatwg-mimetype'; + +type SitemapSource = { type: 'url'; url: string } | { type: 'raw'; content: string }; class ParsingState { - sitemapUrls: string[] = []; + sources: SitemapSource[] = []; urls: string[] = []; visitedSitemapUrls: string[] = []; context?: 'sitemapindex' | 'urlset'; @@ -24,7 +26,10 @@ class SitemapTxtParser extends Writable { private decoder: StringDecoder = new StringDecoder('utf8'); private buffer: string = ''; - constructor(private parsingState: ParsingState, private onEnd: () => void) { + constructor( + private parsingState: ParsingState, + private onEnd: () => void, + ) { super(); } @@ -74,7 +79,11 @@ class SitemapTxtParser extends Writable { export class Sitemap { constructor(readonly urls: string[]) {} - protected static createXmlParser(parsingState: ParsingState, onEnd: () => void, onError: (error: Error) => void): SAXStream { + protected static createXmlParser( + parsingState: ParsingState, + onEnd: () => void, + onError: (error: Error) => void, + ): SAXStream { const parser = sax.createStream(true); parser.on('opentag', (node) => { @@ -99,7 +108,7 @@ export class Sitemap { if (parsingState.loc) { if (parsingState.context === 'sitemapindex') { if (!parsingState.visitedSitemapUrls.includes(text)) { - parsingState.sitemapUrls.push(text); + parsingState.sources.push({ type: 'url', url: text }); } } if (parsingState.context === 'urlset') { @@ -143,53 +152,112 @@ export class Sitemap { * @param proxyUrl URL of a proxy to be used for fetching sitemap contents */ static async load(urls: string | string[], proxyUrl?: string): Promise { - const { gotScraping } = await import('got-scraping'); - const parsingState = new ParsingState(); - parsingState.sitemapUrls = Array.isArray(urls) ? urls : [urls]; + parsingState.sources = (Array.isArray(urls) ? urls : [urls]).map((url) => ({ type: 'url', url })); - while (parsingState.sitemapUrls.length > 0) { - const sitemapUrl = new URL(parsingState.sitemapUrls.pop()!); - parsingState.visitedSitemapUrls.push(sitemapUrl.toString()); - parsingState.resetContext(); + return await this.parse(parsingState, proxyUrl); + } - try { - const sitemapStream = await new Promise>((resolve, reject) => { - const request = gotScraping.stream({ url: sitemapUrl, proxyUrl, method: 'GET' }); - request.on('response', () => resolve(request)); - request.on('error', reject); - }); + /** + * Parse XML sitemap content from a string and return URLs of referenced pages. If the sitemap references other sitemaps, they will be loaded via HTTP. + * @param content XML sitemap content + * @param proxyUrl URL of a proxy to be used for fetching sitemap contents + */ + static async fromXmlString(content: string, proxyUrl?: string): Promise { + const parsingState = new ParsingState(); + parsingState.sources = [{ type: 'raw', content }]; - if (sitemapStream.response!.statusCode === 200) { - await new Promise((resolve, reject) => { - let stream: Duplex = sitemapStream; - if (sitemapUrl.pathname.endsWith('.gz')) { - stream = stream.pipe(createGunzip()).on('error', reject); - sitemapUrl.pathname = sitemapUrl.pathname.substring(0, sitemapUrl.pathname.length - 3); - } + return await this.parse(parsingState, proxyUrl); + } - const parser = (() => { - const contentType = sitemapStream.response!.headers['content-type']; + protected static async parse(parsingState: ParsingState, proxyUrl?: string): Promise { + const { gotScraping } = await import('got-scraping'); + const { fileTypeStream } = await import('file-type'); - if (['text/xml', 'application/xml'].includes(contentType ?? '') || sitemapUrl.pathname.endsWith('.xml')) { - return Sitemap.createXmlParser(parsingState, () => resolve(undefined), reject); - } + while (parsingState.sources.length > 0) { + const source = parsingState.sources.pop()!; + parsingState.resetContext(); - if (contentType === 'text/plain' || sitemapUrl.pathname.endsWith('.txt')) { - return new SitemapTxtParser(parsingState, () => resolve(undefined)); - } + if (source.type === 'url') { + const sitemapUrl = new URL(source.url); + parsingState.visitedSitemapUrls.push(sitemapUrl.toString()); + + try { + const sitemapStream = await new Promise>( + (resolve, reject) => { + const request = gotScraping.stream({ url: sitemapUrl, proxyUrl, method: 'GET' }); + request.on('response', () => resolve(request)); + request.on('error', reject); + }, + ); + + if (sitemapStream.response!.statusCode === 200) { + let contentType = sitemapStream.response!.headers['content-type']; + + const streamWithType = await fileTypeStream(sitemapStream); + if (streamWithType.fileType !== undefined) { + contentType = streamWithType.fileType.mime; + } - throw new Error('Unsupported sitemap content type'); - })(); + await new Promise((resolve, reject) => { + let stream: Readable = streamWithType; + + if ( + contentType !== undefined + ? contentType === 'application/gzip' + : sitemapUrl.pathname.endsWith('.gz') + ) { + stream = stream.pipe(createGunzip()).on('error', reject); + + if (sitemapUrl.pathname.endsWith('.gz')) { + sitemapUrl.pathname = sitemapUrl.pathname.substring( + 0, + sitemapUrl.pathname.length - 3, + ); + } + } - stream.pipe(parser); - }); + stream.pipe(this.createParser(resolve, reject, parsingState, contentType, sitemapUrl)); + }); + } + } catch (e) { + log.warning(`Malformed sitemap content: ${sitemapUrl}, ${e}`); } - } catch (e) { - log.warning(`Malformed sitemap content: ${sitemapUrl}`); + } + + if (source.type === 'raw') { + await new Promise((resolve, reject) => { + Readable.from([source.content]).pipe(this.createParser(resolve, reject, parsingState, 'text/xml')); + }); } } return new Sitemap(parsingState.urls); } + + protected static createParser( + resolve: (value: unknown) => void, + reject: (value: unknown) => void, + parsingState: ParsingState, + contentType: string = '', + url?: URL, + ) { + let mimeType: MIMEType | null; + + try { + mimeType = new MIMEType(contentType); + } catch (e) { + mimeType = null; + } + + if (mimeType?.isXML() || url?.pathname.endsWith('.xml')) { + return Sitemap.createXmlParser(parsingState, () => resolve(undefined), reject); + } + + if (mimeType?.essence === 'text/plain' || url?.pathname.endsWith('.txt')) { + return new SitemapTxtParser(parsingState, () => resolve(undefined)); + } + + throw new Error(`Unsupported sitemap content type (contentType = ${contentType}, url = ${url?.toString()})`); + } } diff --git a/packages/utils/src/internals/social.ts b/packages/utils/src/internals/social.ts index d78516f4ba34..3d415527ed6f 100644 --- a/packages/utils/src/internals/social.ts +++ b/packages/utils/src/internals/social.ts @@ -3,8 +3,8 @@ import cheerio from 'cheerio'; import { htmlToText } from './cheerio'; // Regex inspired by https://zapier.com/blog/extract-links-email-phone-regex/ -// eslint-disable-next-line max-len -const EMAIL_REGEX_STRING = '(?:[a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\\])'; +const EMAIL_REGEX_STRING = + '(?:[a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\\])'; /** * Regular expression to exactly match a single email address. @@ -28,7 +28,7 @@ const EMAIL_URL_PREFIX_REGEX = /^mailto:/i; * If no emails are found, the function returns an empty array. */ export function emailsFromText(text: string): string[] { - if (typeof text as unknown !== 'string') return []; + if ((typeof text as unknown) !== 'string') return []; return text.match(EMAIL_REGEX_GLOBAL) || []; } @@ -122,9 +122,9 @@ const SKIP_PHONE_REGEX = new RegExp(`^(${SKIP_PHONE_REGEXS.join('|')})$`, 'i'); * If no phone numbers are found, the function returns an empty array. */ export function phonesFromText(text: string): string[] { - if (typeof text as unknown !== 'string') return []; + if ((typeof text as unknown) !== 'string') return []; - let phones = text.match(PHONE_REGEX_GLOBAL) as string[] || []; + let phones = (text.match(PHONE_REGEX_GLOBAL) as string[]) || []; phones = phones.filter((phone) => { if (!phone) return false; @@ -166,32 +166,33 @@ export function phonesFromUrls(urls: string[]): string[] { // - They use a negative lookbehind and lookahead assertions, which are only supported in Node 8+. // They are used to prevent matching URLs in strings like "blahttps://www.example.com" -// eslint-disable-next-line max-len -const LINKEDIN_REGEX_STRING = '(? discords: [], }; - if (typeof html as unknown !== 'string') return result; + if ((typeof html as unknown) !== 'string') return result; const $ = cheerio.load(html, { decodeEntities: true }); if (data) data.$ = $; @@ -393,22 +394,22 @@ export const INSTAGRAM_REGEX = new RegExp(`^${INSTAGRAM_REGEX_STRING}$`, 'i'); * instagr.am/old_prague * ``` * -* If the profile URL contains subdirectories or query parameters, the regular expression -* extracts just the base part of the profile URL. For example, from text such as: -* ``` -* https://www.instagram.com/cristiano/followers -* ``` -* the expression extracts just the following base URL: -* ``` -* https://www.instagram.com/cristiano -* ``` -* -* The regular expression does NOT match the following URLs: -* ``` -* https://www.instagram.com/explore/ -* https://www.instagram.com/_n/ -* https://www.instagram.com/_u/ -* ``` + * If the profile URL contains subdirectories or query parameters, the regular expression + * extracts just the base part of the profile URL. For example, from text such as: + * ``` + * https://www.instagram.com/cristiano/followers + * ``` + * the expression extracts just the following base URL: + * ``` + * https://www.instagram.com/cristiano + * ``` + * + * The regular expression does NOT match the following URLs: + * ``` + * https://www.instagram.com/explore/ + * https://www.instagram.com/_n/ + * https://www.instagram.com/_u/ + * ``` * * Example usage: * ``` diff --git a/packages/utils/test/non-error-objects-working.test.ts b/packages/utils/test/non-error-objects-working.test.ts index 167f1b44b212..c7adfbfbb511 100644 --- a/packages/utils/test/non-error-objects-working.test.ts +++ b/packages/utils/test/non-error-objects-working.test.ts @@ -1,4 +1,4 @@ -import { ErrorTracker } from '../src/internals/error_tracker'; +import { ErrorTracker } from '../../core/src/crawlers/error_tracker'; describe('ErrorTracker', () => { test('processing a non-error error should not crash', () => { diff --git a/packages/utils/test/robots.test.ts b/packages/utils/test/robots.test.ts index 3faee2e90c74..7ed14a590173 100644 --- a/packages/utils/test/robots.test.ts +++ b/packages/utils/test/robots.test.ts @@ -6,23 +6,27 @@ import { RobotsFile } from '../src/internals/robots'; describe('RobotsFile', () => { beforeEach(() => { nock.disableNetConnect(); - nock('http://not-exists.com').persist() + nock('http://not-exists.com') + .persist() .get('/robots.txt') - .reply(200, [ - 'User-agent: *', - 'Disallow: *deny_all/', - 'crawl-delay: 10', + .reply( + 200, + [ + 'User-agent: *', + 'Disallow: *deny_all/', + 'crawl-delay: 10', - 'User-agent: Googlebot', - 'Disallow: *deny_googlebot/', - 'crawl-delay: 1', + 'User-agent: Googlebot', + 'Disallow: *deny_googlebot/', + 'crawl-delay: 1', - 'user-agent: Mozilla', - 'crawl-delay: 2', + 'user-agent: Mozilla', + 'crawl-delay: 2', - 'sitemap: http://not-exists.com/sitemap_1.xml', - 'sitemap: http://not-exists.com/sitemap_2.xml', - ].join('\n')) + 'sitemap: http://not-exists.com/sitemap_1.xml', + 'sitemap: http://not-exists.com/sitemap_2.xml', + ].join('\n'), + ) .get('*') .reply(404); }); @@ -46,7 +50,10 @@ describe('RobotsFile', () => { it('extracts sitemap urls', async () => { const robots = await RobotsFile.find('http://not-exists.com/robots.txt'); - expect(robots.getSitemaps()).toEqual(['http://not-exists.com/sitemap_1.xml', 'http://not-exists.com/sitemap_2.xml']); + expect(robots.getSitemaps()).toEqual([ + 'http://not-exists.com/sitemap_1.xml', + 'http://not-exists.com/sitemap_2.xml', + ]); }); it('parses allow/deny directives from explicitly provided robots.txt contents', async () => { diff --git a/packages/utils/test/sitemap.test.ts b/packages/utils/test/sitemap.test.ts index 27901079a0fb..8075ca4af8c3 100644 --- a/packages/utils/test/sitemap.test.ts +++ b/packages/utils/test/sitemap.test.ts @@ -6,102 +6,165 @@ import { Sitemap } from '../src/internals/sitemap'; describe('Sitemap', () => { beforeEach(() => { nock.disableNetConnect(); - nock('http://not-exists.com').persist() - .get((url) => url === '/sitemap_child.xml' || url === '/sitemap_child_2.xml') - .reply(200, [ - '', - '', - '', - 'http://not-exists.com/', - '2005-01-01', - 'monthly', - '0.8', - '', - '', - 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', - 'weekly', - '', - '', - 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', - '2004-12-23', - 'weekly', - '', - '', - 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', - '2004-12-23T18:00:15+00:00', - '0.3', - '', - '', - 'http://not-exists.com/catalog?item=83&desc=vacation_usa', - '2004-11-23', - '', - '', - ].join('\n')) + nock('http://not-exists.com') + .persist() + .get(/\/sitemap_child(_[0-9]+)?.xml/) + .reply( + 200, + [ + '', + '', + '', + 'http://not-exists.com/', + '2005-01-01', + 'monthly', + '0.8', + '', + '', + 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', + 'weekly', + '', + '', + 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', + '2004-12-23', + 'weekly', + '', + '', + 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', + '2004-12-23T18:00:15+00:00', + '0.3', + '', + '', + 'http://not-exists.com/catalog?item=83&desc=vacation_usa', + '2004-11-23', + '', + '', + ].join('\n'), + ) .get('/sitemap_child.xml.gz') - .reply(200, Buffer.from([ - 'H4sIAAAAAAAAA62S306DMBTG73kK0gtvDLSFLSKWcucTzOulKR00QottGZtPbxfQEEWXqElzkvMv', - '3y/fKSlPXRsehbFSqwLgGIFQKK4rqeoCPO0eowyUNCCDaa1woR9WtgCNc30O4TiOsZVOdKy3sTY1', - 'tLzxiYVzEaL4HkzLPraa03lRaReJk7TOxlx3kMBLz08w6zpd0QShbYSwf74z1wLCG6ZqcTDihXZa', - 'uaY9E7ioBaQ3UhvpzhTFGYEfWUDgBHANgzPHWl2XF/gCJzes6x8qYXlxZL7l/dk3bGRSvuMuxEch', - 'nr/w/Eb2Ll2RVWLcvwrWMlWtWLWJcBIl6TdW/R/ZZp3soAdV/Yy2w1mOUI63tz4itCRd3Cz9882y', - 'NfMGy9bJ8CfTZkU4fXUavAGtDs17GwMAAA==', - ].join('\n'), 'base64')) + .reply( + 200, + Buffer.from( + [ + 'H4sIAAAAAAAAA62S306DMBTG73kK0gtvDLSFLSKWcucTzOulKR00QottGZtPbxfQEEWXqElzkvMv', + '3y/fKSlPXRsehbFSqwLgGIFQKK4rqeoCPO0eowyUNCCDaa1woR9WtgCNc30O4TiOsZVOdKy3sTY1', + 'tLzxiYVzEaL4HkzLPraa03lRaReJk7TOxlx3kMBLz08w6zpd0QShbYSwf74z1wLCG6ZqcTDihXZa', + 'uaY9E7ioBaQ3UhvpzhTFGYEfWUDgBHANgzPHWl2XF/gCJzes6x8qYXlxZL7l/dk3bGRSvuMuxEch', + 'nr/w/Eb2Ll2RVWLcvwrWMlWtWLWJcBIl6TdW/R/ZZp3soAdV/Yy2w1mOUI63tz4itCRd3Cz9882y', + 'NfMGy9bJ8CfTZkU4fXUavAGtDs17GwMAAA==', + ].join('\n'), + 'base64', + ), + ) .get('/invalid_sitemap_child.xml.gz') - .reply(200, Buffer.from([ - 'H4sIAAAAAAAAA62S306DMBTG73kK0gtvDLSFLSKWcucTzOulKR00QottGZtPbxfQEEWXqElzkvMv', - 'NfMGy9bJ8CfTZkU4fXUavAGtDs17GwMAAA==', - ].join('\n'), 'base64')) + .reply( + 200, + Buffer.from( + [ + 'H4sIAAAAAAAAA62S306DMBTG73kK0gtvDLSFLSKWcucTzOulKR00QottGZtPbxfQEEWXqElzkvMv', + 'NfMGy9bJ8CfTZkU4fXUavAGtDs17GwMAAA==', + ].join('\n'), + 'base64', + ), + ) + .get('/non_gzipped_sitemap.xml.gz') + .reply( + 200, + [ + '', + '', + '', + 'http://not-exists.com/catalog?item=80&desc=vacation_turkey', + '2004-11-23', + '', + '', + 'http://not-exists.com/catalog?item=81&desc=vacation_maledives', + '2004-11-23', + '', + '', + ].join('\n'), + ) + .get('/sneakily_gzipped_sitemap.xml') + .reply( + 200, + Buffer.from( + [ + 'H4sIAAAAAAAAA62S306DMBTG73kK0gtvDLSFLSKWcucTzOulKR00QottGZtPbxfQEEWXqElzkvMv', + '3y/fKSlPXRsehbFSqwLgGIFQKK4rqeoCPO0eowyUNCCDaa1woR9WtgCNc30O4TiOsZVOdKy3sTY1', + 'tLzxiYVzEaL4HkzLPraa03lRaReJk7TOxlx3kMBLz08w6zpd0QShbYSwf74z1wLCG6ZqcTDihXZa', + 'uaY9E7ioBaQ3UhvpzhTFGYEfWUDgBHANgzPHWl2XF/gCJzes6x8qYXlxZL7l/dk3bGRSvuMuxEch', + 'nr/w/Eb2Ll2RVWLcvwrWMlWtWLWJcBIl6TdW/R/ZZp3soAdV/Yy2w1mOUI63tz4itCRd3Cz9882y', + 'NfMGy9bJ8CfTZkU4fXUavAGtDs17GwMAAA==', + ].join('\n'), + 'base64', + ), + ) .get('/sitemap_parent.xml') - .reply(200, [ - '', - '', - '', - 'http://not-exists.com/sitemap_child.xml', - '2004-12-23', - '', - '', - 'http://not-exists.com/sitemap_child_2.xml?from=94937939985&to=1318570721404', - '2004-12-23', - '', - '', - ].join('\n')) + .reply( + 200, + [ + '', + '', + '', + 'http://not-exists.com/sitemap_child.xml', + '2004-12-23', + '', + '', + 'http://not-exists.com/sitemap_child_2.xml?from=94937939985&to=1318570721404', + '2004-12-23', + '', + '', + ].join('\n'), + ) .get('/not_actual_xml.xml') - .reply(200, [ - '', - '301 Moved', - '

301 Moved

', - 'The document has moved', - 'here.', - '', - ].join('\n')) + .reply( + 200, + [ + '', + '301 Moved', + '

301 Moved

', + 'The document has moved', + 'here.', + '', + ].join('\n'), + ) .get('/sitemap_cdata.xml') - .reply(200, [ - '', - '', - '', - '', - '', - '', - ].join('\n')) + .reply( + 200, + [ + '', + '', + '', + '', + '', + '', + ].join('\n'), + ) .get('/sitemap.xml') - .reply(200, [ - '', - '', - '', - 'http://not-exists.com/catalog?item=80&desc=vacation_turkey', - '2004-11-23', - '', - '', - 'http://not-exists.com/catalog?item=81&desc=vacation_maledives', - '2004-11-23', - '', - '', - ].join('\n')) + .reply( + 200, + [ + '', + '', + '', + 'http://not-exists.com/catalog?item=80&desc=vacation_turkey', + '2004-11-23', + '', + '', + 'http://not-exists.com/catalog?item=81&desc=vacation_maledives', + '2004-11-23', + '', + '', + ].join('\n'), + ) .get('/sitemap.txt') - .reply(200, [ - 'http://not-exists.com/catalog?item=78&desc=vacation_crete', - 'http://not-exists.com/catalog?item=79&desc=vacation_somalia', - ].join('\n')) + .reply( + 200, + [ + 'http://not-exists.com/catalog?item=78&desc=vacation_crete', + 'http://not-exists.com/catalog?item=79&desc=vacation_somalia', + ].join('\n'), + ) .get('*') .reply(404); }); @@ -113,42 +176,46 @@ describe('Sitemap', () => { it('extracts urls from sitemaps', async () => { const sitemap = await Sitemap.load('http://not-exists.com/sitemap_child.xml'); - expect(new Set(sitemap.urls)).toEqual(new Set([ - 'http://not-exists.com/', - 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', - 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', - 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', - 'http://not-exists.com/catalog?item=83&desc=vacation_usa', - ])); + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/', + 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', + 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', + 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', + 'http://not-exists.com/catalog?item=83&desc=vacation_usa', + ]), + ); }); it('extracts urls from gzipped sitemaps', async () => { const sitemap = await Sitemap.load('http://not-exists.com/sitemap_child.xml.gz'); - expect(new Set(sitemap.urls)).toEqual(new Set([ - 'http://not-exists.com/', - 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', - 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', - 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', - 'http://not-exists.com/catalog?item=83&desc=vacation_usa', - ])); + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/', + 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', + 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', + 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', + 'http://not-exists.com/catalog?item=83&desc=vacation_usa', + ]), + ); }); it('identifies incorrect gzipped sitemaps as malformed', async () => { - const sitemap = await Sitemap.load( - 'http://not-exists.com/invalid_sitemap_child.xml.gz', - ); + const sitemap = await Sitemap.load('http://not-exists.com/invalid_sitemap_child.xml.gz'); expect(new Set(sitemap.urls)).toEqual(new Set([])); }); it('follows links in sitemap indexes', async () => { const sitemap = await Sitemap.load('http://not-exists.com/sitemap_parent.xml'); - expect(new Set(sitemap.urls)).toEqual(new Set([ - 'http://not-exists.com/', - 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', - 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', - 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', - 'http://not-exists.com/catalog?item=83&desc=vacation_usa', - ])); + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/', + 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', + 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', + 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', + 'http://not-exists.com/catalog?item=83&desc=vacation_usa', + ]), + ); }); it('does not break on invalid xml', async () => { @@ -158,26 +225,106 @@ describe('Sitemap', () => { it('handles CDATA in loc tags', async () => { const sitemap = await Sitemap.load('http://not-exists.com/sitemap_cdata.xml'); - expect(new Set(sitemap.urls)).toEqual(new Set([ - 'http://not-exists.com/catalog', - ])); + expect(new Set(sitemap.urls)).toEqual(new Set(['http://not-exists.com/catalog'])); }); it('autodetects sitemaps', async () => { const sitemap = await Sitemap.tryCommonNames('http://not-exists.com/arbitrary_url?search=xyz'); - expect(new Set(sitemap.urls)).toEqual(new Set([ - 'http://not-exists.com/catalog?item=80&desc=vacation_turkey', - 'http://not-exists.com/catalog?item=81&desc=vacation_maledives', - 'http://not-exists.com/catalog?item=78&desc=vacation_crete', - 'http://not-exists.com/catalog?item=79&desc=vacation_somalia', - ])); + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/catalog?item=80&desc=vacation_turkey', + 'http://not-exists.com/catalog?item=81&desc=vacation_maledives', + 'http://not-exists.com/catalog?item=78&desc=vacation_crete', + 'http://not-exists.com/catalog?item=79&desc=vacation_somalia', + ]), + ); }); it('handles sitemap.txt correctly', async () => { const sitemap = await Sitemap.load('http://not-exists.com/sitemap.txt'); - expect(new Set(sitemap.urls)).toEqual(new Set([ - 'http://not-exists.com/catalog?item=78&desc=vacation_crete', - 'http://not-exists.com/catalog?item=79&desc=vacation_somalia', - ])); + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/catalog?item=78&desc=vacation_crete', + 'http://not-exists.com/catalog?item=79&desc=vacation_somalia', + ]), + ); + }); + + it('loads sitemaps from string', async () => { + const sitemap = await Sitemap.fromXmlString( + [ + '', + '', + '', + 'http://not-exists.com/catalog?item=80&desc=vacation_turkey', + '2004-11-23', + '', + '', + 'http://not-exists.com/catalog?item=81&desc=vacation_maledives', + '2004-11-23', + '', + '', + ].join('\n'), + ); + + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/catalog?item=80&desc=vacation_turkey', + 'http://not-exists.com/catalog?item=81&desc=vacation_maledives', + ]), + ); + }); + + it('loads sitemaps that reference other sitemaps from string', async () => { + const sitemap = await Sitemap.fromXmlString( + [ + '', + '', + '', + 'http://not-exists.com/sitemap_child.xml', + '2004-12-23', + '', + '', + 'http://not-exists.com/sitemap_child_2.xml?from=94937939985&to=1318570721404', + '2004-12-23', + '', + '', + ].join('\n'), + ); + + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/', + 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', + 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', + 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', + 'http://not-exists.com/catalog?item=83&desc=vacation_usa', + ]), + ); + }); + + it("loads XML sitemap even though it's gzipped according to file extension", async () => { + const sitemap = await Sitemap.load('http://not-exists.com/non_gzipped_sitemap.xml.gz'); + + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/catalog?item=80&desc=vacation_turkey', + 'http://not-exists.com/catalog?item=81&desc=vacation_maledives', + ]), + ); + }); + + it("loads gzipped sitemap even though it's not gzipped according to file extension", async () => { + const sitemap = await Sitemap.load('http://not-exists.com/sneakily_gzipped_sitemap.xml'); + + expect(new Set(sitemap.urls)).toEqual( + new Set([ + 'http://not-exists.com/', + 'http://not-exists.com/catalog?item=12&desc=vacation_hawaii', + 'http://not-exists.com/catalog?item=73&desc=vacation_new_zealand', + 'http://not-exists.com/catalog?item=74&desc=vacation_newfoundland', + 'http://not-exists.com/catalog?item=83&desc=vacation_usa', + ]), + ); }); }); diff --git a/packages/utils/test/tsconfig.json b/packages/utils/test/tsconfig.json index b603acdc1e68..bf55f9516b7d 100644 --- a/packages/utils/test/tsconfig.json +++ b/packages/utils/test/tsconfig.json @@ -1,9 +1,6 @@ { "extends": "../../../tsconfig.json", - "include": [ - "**/*", - "../../**/*" - ], + "include": ["**/*", "../../**/*"], "compilerOptions": { "types": ["vitest/globals"] } diff --git a/packages/utils/tsconfig.build.json b/packages/utils/tsconfig.build.json index 4c23c1922004..e71691608ee3 100644 --- a/packages/utils/tsconfig.build.json +++ b/packages/utils/tsconfig.build.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.build.json", - "compilerOptions": { - "outDir": "./dist" - }, - "include": ["src/**/*"], - "rootDir": "./src" + "extends": "../../tsconfig.build.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src/**/*"], + "rootDir": "./src" } diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 52d43eaaa9b9..2e6a4ce4084f 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -1,4 +1,4 @@ { - "extends": "../../tsconfig.json", - "include": ["src/**/*"] + "extends": "../../tsconfig.json", + "include": ["src/**/*"] } diff --git a/renovate.json b/renovate.json index e6c5509c4bd0..5b3924d724c7 100644 --- a/renovate.json +++ b/renovate.json @@ -1,41 +1,28 @@ { - "extends": [ - "config:base", - ":semanticCommitTypeAll(chore)" - ], - "pinVersions": false, - "separateMajorMinor": false, - "dependencyDashboard": false, - "semanticCommits": "enabled", - "lockFileMaintenance": { - "enabled": true, - "schedule": [ - "before 2am" - ], - "automerge": true, - "automergeType": "branch" - }, - "constraints": { - "npm": "^8.0.0" - }, - "packageRules": [ - { - "matchUpdateTypes": [ - "patch", - "minor" - ], - "matchCurrentVersion": "!/^0/", - "groupName": "patch/minor dependencies", - "groupSlug": "all-non-major", - "automerge": true, - "automergeType": "branch" - } - ], - "schedule": [ - "every weekday" - ], - "ignoreDeps": [ - "crawlee", - "docusaurus-plugin-typedoc-api" - ] + "extends": ["config:base", ":semanticCommitTypeAll(chore)"], + "pinVersions": false, + "separateMajorMinor": false, + "dependencyDashboard": false, + "semanticCommits": "enabled", + "lockFileMaintenance": { + "enabled": true, + "schedule": ["before 2am"], + "automerge": true, + "automergeType": "branch" + }, + "constraints": { + "npm": "^8.0.0" + }, + "packageRules": [ + { + "matchUpdateTypes": ["patch", "minor"], + "matchCurrentVersion": "!/^0/", + "groupName": "patch/minor dependencies", + "groupSlug": "all-non-major", + "automerge": true, + "automergeType": "branch" + } + ], + "schedule": ["every weekday"], + "ignoreDeps": ["crawlee", "docusaurus-plugin-typedoc-api"] } diff --git a/scripts/actions/docker-images/main.ts b/scripts/actions/docker-images/main.ts index 4410c4055ff9..28fcced4b85f 100644 --- a/scripts/actions/docker-images/main.ts +++ b/scripts/actions/docker-images/main.ts @@ -36,8 +36,9 @@ const crawleeVersion: string = JSON.parse( ).version; debug(`Crawlee version: ${crawleeVersion}`); -const apifyVersion: string = JSON.parse(await readFile(new URL('../../../package.json', import.meta.url), 'utf-8')).devDependencies?.apify - ?? 'latest'; +const apifyVersion: string = + JSON.parse(await readFile(new URL('../../../package.json', import.meta.url), 'utf-8')).devDependencies?.apify ?? + 'latest'; debug(`Apify version: ${apifyVersion}`); const lastPlaywrightVersions = await fetchModuleVersions('playwright', 5); @@ -76,9 +77,7 @@ if (process.env.CRAWLEE_BETA_VERSION) { newState.puppeteerVersions = state.puppeteerVersions; } else if (process.env.TRIGGER_LATEST === 'true') { info(`👀 Re-triggering a full Docker build`); - debug( - ` Crawlee:${crawleeVersion} Apify:${apifyVersion}`, - ); + debug(` Crawlee:${crawleeVersion} Apify:${apifyVersion}`); // Keep the old state in place newState.playwrightVersions = state.playwrightVersions; @@ -165,7 +164,9 @@ if (process.env.CRAWLEE_BETA_VERSION) { } } else { for (const [index, newPuppeteerVersion] of lastPuppeteerVersions.entries()) { - info(` 👀 Scheduling build for puppeteer: ${newPuppeteerVersion} and crawlee ${crawleeVersion} for deploy`); + info( + ` 👀 Scheduling build for puppeteer: ${newPuppeteerVersion} and crawlee ${crawleeVersion} for deploy`, + ); apiCalls.push({ eventType: EventType.Puppeteer, diff --git a/scripts/actions/docker-images/state.json b/scripts/actions/docker-images/state.json index c8b7b412878f..03384c8d2b6a 100644 --- a/scripts/actions/docker-images/state.json +++ b/scripts/actions/docker-images/state.json @@ -1,17 +1,17 @@ { "playwrightVersions": [ - "1.41.2", - "1.42.0", "1.42.1", "1.43.0", - "1.43.1" + "1.43.1", + "1.44.0", + "1.44.1" ], "puppeteerVersions": [ - "22.6.3", - "22.6.4", - "22.6.5", - "22.7.0", - "22.7.1" + "22.8.0", + "22.8.1", + "22.8.2", + "22.9.0", + "22.10.0" ], - "crawleeVersion": "3.9.2" + "crawleeVersion": "3.10.1" } \ No newline at end of file diff --git a/scripts/copy.ts b/scripts/copy.ts index f79958c4cf1d..a5fe0c35642b 100644 --- a/scripts/copy.ts +++ b/scripts/copy.ts @@ -62,7 +62,9 @@ function getNextVersion() { if (versions.some((v) => v === version)) { // eslint-disable-next-line no-console - console.error(`before-deploy: A release with version ${version} already exists. Please increment version accordingly.`); + console.error( + `before-deploy: A release with version ${version} already exists. Please increment version accordingly.`, + ); process.exit(1); } diff --git a/scripts/typescript_fixes.mjs b/scripts/typescript_fixes.mjs index c5585ac0ddc3..d8b9ca56eb34 100644 --- a/scripts/typescript_fixes.mjs +++ b/scripts/typescript_fixes.mjs @@ -13,20 +13,20 @@ for (const filepath of files) { for (const line of input) { /* eslint-disable no-cond-assign */ - if (match = line.match(/^([^']+)'node\/([^$]+)/)) { + if ((match = line.match(/^([^']+)'node\/([^$]+)/))) { output.push(`${match[1]} '${match[2]}`); changed = true; } else if ( // playwright/puppeteer/got-scraping import - line.match(/^([^']+)'(playwright|puppeteer|got-scraping)'/) + line.match(/^([^']+)'(playwright|puppeteer|got-scraping)'/) || // proxy-per-page reexport of puppeteer - || line.match(/: Puppeteer\.\w+/) + line.match(/: Puppeteer\.\w+/) || // don't ask me why, but this one is needed too ¯\_(ツ)_/¯ - || line.match(/^export interface (PlaywrightHook|PuppeteerHook)/) + line.match(/^export interface (PlaywrightHook|PuppeteerHook)/) || // /// from newer nodenext resolutions - || line.match(/^\/\/\/ /) + line.match(/^\/\/\/ /) || // import("something") from compatibility with ES2022 module -.- - || line.match(/import\("([^"]+)"(?:.*)?\)/) + line.match(/import\("([^"]+)"(?:.*)?\)/) ) { output.push('// @ts-ignore optional peer dependency or compatibility with es2022'); output.push(line); diff --git a/test/browser-pool/browser-plugins/plugins.test.ts b/test/browser-pool/browser-plugins/plugins.test.ts index e47c61319fa8..08275a3b6893 100644 --- a/test/browser-pool/browser-plugins/plugins.test.ts +++ b/test/browser-pool/browser-plugins/plugins.test.ts @@ -3,7 +3,14 @@ import http from 'http'; import type { AddressInfo } from 'net'; import { promisify } from 'util'; -import { PuppeteerPlugin, PlaywrightPlugin, PuppeteerController, PlaywrightController, PlaywrightBrowser, LaunchContext } from '@crawlee/browser-pool'; +import { + PuppeteerPlugin, + PlaywrightPlugin, + PuppeteerController, + PlaywrightController, + PlaywrightBrowser, + LaunchContext, +} from '@crawlee/browser-pool'; import type { UnwrapPromise, CommonLibrary } from '@crawlee/browser-pool'; import playwright from 'playwright'; import type { Server as ProxyChainServer } from 'proxy-chain'; @@ -32,11 +39,15 @@ const runPluginTest = < P extends typeof PlaywrightPlugin | typeof PuppeteerPlugin, C extends typeof PuppeteerController | typeof PlaywrightController, L extends CommonLibrary, ->(Plugin: P, Controller: C, library: L) => { +>( + Plugin: P, + Controller: C, + library: L, +) => { let plugin = new Plugin(library as never); describe(`${plugin.constructor.name} - ${'name' in library ? library.name!() : ''} general`, () => { - let browser: playwright.Browser | UnwrapPromise> | undefined; + let browser: playwright.Browser | UnwrapPromise> | undefined; beforeEach(() => { plugin = new Plugin(library as never); @@ -120,7 +131,9 @@ const runPluginTest = < browserController.activate(); const page = await browserController.newPage(); - await browserController.setCookies(page as never, [{ name: 'TEST', value: 'TESTER-COOKIE', url: serverAddress }]); + await browserController.setCookies(page as never, [ + { name: 'TEST', value: 'TESTER-COOKIE', url: serverAddress }, + ]); await page.goto(serverAddress, { waitUntil: 'domcontentloaded' }); const cookies = await browserController.getCookies(page as never); @@ -145,7 +158,9 @@ const runPluginTest = < expect(false).toBe(true); } catch (error: any) { - expect(error.message).toBe('A new page can be created with provided context only when using incognito pages or experimental containers.'); + expect(error.message).toBe( + 'A new page can be created with provided context only when using incognito pages or experimental containers.', + ); } }); }); @@ -279,9 +294,7 @@ describe('Plugins', () => { const userAgent = 'HelloWorld'; const launchOptions = { - args: [ - `--user-agent=${userAgent}`, - ], + args: [`--user-agent=${userAgent}`], }; const launchContext = plugin.createLaunchContext({ launchOptions }); @@ -334,14 +347,17 @@ describe('Plugins', () => { const proxyUrl = `http://127.0.0.2:${unprotectedProxy.port}`; const plugin = new PlaywrightPlugin(playwright[browserName]); - const launchOptions = browserName === 'chromium' ? { - args: [ - // Exclude loopback interface from proxy bypass list, - // so the request to localhost goes through proxy. - // This way there's no need for a 3rd party server. - '--proxy-bypass-list=<-loopback>', - ], - } : undefined; + const launchOptions = + browserName === 'chromium' + ? { + args: [ + // Exclude loopback interface from proxy bypass list, + // so the request to localhost goes through proxy. + // This way there's no need for a 3rd party server. + '--proxy-bypass-list=<-loopback>', + ], + } + : undefined; const context = plugin.createLaunchContext({ proxyUrl, @@ -364,14 +380,17 @@ describe('Plugins', () => { const proxyUrl = `http://foo:bar@127.0.0.3:${protectedProxy.port}`; const plugin = new PlaywrightPlugin(playwright[browserName]); - const launchOptions = browserName === 'chromium' ? { - args: [ - // Exclude loopback interface from proxy bypass list, - // so the request to localhost goes through proxy. - // This way there's no need for a 3rd party server. - '--proxy-bypass-list=<-loopback>', - ], - } : undefined; + const launchOptions = + browserName === 'chromium' + ? { + args: [ + // Exclude loopback interface from proxy bypass list, + // so the request to localhost goes through proxy. + // This way there's no need for a 3rd party server. + '--proxy-bypass-list=<-loopback>', + ], + } + : undefined; const context = plugin.createLaunchContext({ proxyUrl, @@ -558,14 +577,21 @@ describe('Plugins', () => { const launchContext = plugin.createLaunchContext(); browser = await plugin.launch(launchContext); - await expect(browser.newContext()) - .rejects - .toThrow('Function `newContext()` is not available in incognito mode'); + await expect(browser.newContext()).rejects.toThrow( + 'Function `newContext()` is not available in incognito mode', + ); }); test('should have same public interface as playwright browserType', async () => { const plugin = new PlaywrightPlugin(playwright[browserName]); - const originalFunctionNames = ['close', 'contexts', 'isConnected', 'newContext', 'newPage', 'version'] as const; + const originalFunctionNames = [ + 'close', + 'contexts', + 'isConnected', + 'newContext', + 'newPage', + 'version', + ] as const; const launchContext = plugin.createLaunchContext({ useIncognitoPages: true }); browser = await plugin.launch(launchContext); diff --git a/test/browser-pool/browser-pool.test.ts b/test/browser-pool/browser-pool.test.ts index 0240d0799c30..8dca9a6b455a 100644 --- a/test/browser-pool/browser-pool.test.ts +++ b/test/browser-pool/browser-pool.test.ts @@ -20,39 +20,27 @@ import { PuppeteerPlugin } from '../../packages/browser-pool/src/puppeteer/puppe const fingerprintingMatrix: [string, PlaywrightPlugin | PuppeteerPlugin][] = [ [ 'Playwright - persistent', - new PlaywrightPlugin( - playwright.chromium, - { - useIncognitoPages: false, - }, - ), + new PlaywrightPlugin(playwright.chromium, { + useIncognitoPages: false, + }), ], [ 'Playwright - Incognito', - new PlaywrightPlugin( - playwright.chromium, - { - useIncognitoPages: true, - }, - ), + new PlaywrightPlugin(playwright.chromium, { + useIncognitoPages: true, + }), ], [ 'Puppeteer - Persistent', - new PuppeteerPlugin( - puppeteer, - { - useIncognitoPages: false, - }, - ), + new PuppeteerPlugin(puppeteer, { + useIncognitoPages: false, + }), ], [ 'Puppeteer - Incognito', - new PuppeteerPlugin( - puppeteer, - { - useIncognitoPages: true, - }, - ), + new PuppeteerPlugin(puppeteer, { + useIncognitoPages: true, + }), ], ]; // Tests could be generated from this blueprint for each plugin @@ -141,11 +129,9 @@ describe.each([ expect(spy).toBeCalledTimes(4); spy.mockReset(); - await expect(addTimeoutToPromise( - async () => browserPool.newPage(), - 10, - 'opening new page timed out', - )).rejects.toThrowError('opening new page timed out'); + await expect( + addTimeoutToPromise(async () => browserPool.newPage(), 10, 'opening new page timed out'), + ).rejects.toThrowError('opening new page timed out'); // We terminated early enough so only preLaunchHooks were not executed, // thanks to `tryCancel()` calls after each await. If we did not run @@ -240,10 +226,7 @@ describe.each([ browserPlugin: plugin, }; - await Promise.all([ - browserPool.newPage(usePlugin), - browserPool.newPage(usePlugin), - ]); + await Promise.all([browserPool.newPage(usePlugin), browserPool.newPage(usePlugin)]); expect(browserPool.activeBrowserControllers.size).toBe(2); @@ -271,9 +254,11 @@ describe.each([ expect(browserPool.retiredBrowserControllers.size).toBe(1); await page.close(); - await new Promise((resolve) => setTimeout(() => { - resolve(); - }, 1000)); + await new Promise((resolve) => + setTimeout(() => { + resolve(); + }, 1000), + ); expect(browserPool['_closeRetiredBrowserWithNoPages']).toHaveBeenCalled(); expect(controller.close).toHaveBeenCalled(); @@ -309,7 +294,12 @@ describe.each([ const page = await browserPool.newPage(); const pageId = browserPool.getPageId(page)!; const { launchContext } = browserPool.getBrowserControllerByPage(page)!; - expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith(1, browserPool.preLaunchHooks, pageId, launchContext); + expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith( + 1, + browserPool.preLaunchHooks, + pageId, + launchContext, + ); }); // We had a problem where if the first newPage() call, which launches @@ -318,7 +308,9 @@ describe.each([ test('error in hook does not leave browser stuck in limbo', async () => { const errorMessage = 'pre-launch failed'; browserPool.preLaunchHooks = [ - async () => { throw new Error(errorMessage); }, + async () => { + throw new Error(errorMessage); + }, ]; const attempts = 5; @@ -347,8 +339,12 @@ describe.each([ const pageId = browserPool.getPageId(page)!; const browserController = browserPool.getBrowserControllerByPage(page)!; - expect(browserPool['_executeHooks']) - .toHaveBeenNthCalledWith(2, browserPool.postLaunchHooks, pageId, browserController); + expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith( + 2, + browserPool.postLaunchHooks, + pageId, + browserController, + ); }); // We had a problem where if the first newPage() call, which launches @@ -423,7 +419,12 @@ describe.each([ const page = await browserPool.newPage(); const browserController = browserPool.getBrowserControllerByPage(page); - expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith(4, browserPool.postPageCreateHooks, page, browserController); + expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith( + 4, + browserPool.postPageCreateHooks, + page, + browserController, + ); }); }); @@ -439,7 +440,12 @@ describe.each([ await page.close(); const browserController = browserPool.getBrowserControllerByPage(page); - expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith(5, browserPool.prePageCloseHooks, page, browserController); + expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith( + 5, + browserPool.prePageCloseHooks, + page, + browserController, + ); }); }); @@ -456,7 +462,12 @@ describe.each([ await page.close(); const browserController = browserPool.getBrowserControllerByPage(page); - expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith(6, browserPool.postPageCloseHooks, pageId, browserController); + expect(browserPool['_executeHooks']).toHaveBeenNthCalledWith( + 6, + browserPool.postPageCloseHooks, + pageId, + browserController, + ); }); }); @@ -522,7 +533,8 @@ describe.each([ }; }); // @ts-expect-error mistypings - const { fingerprint } = browserController!.launchContext!.fingerprint as BrowserFingerprintWithHeaders; + const { fingerprint } = browserController!.launchContext! + .fingerprint as BrowserFingerprintWithHeaders; expect(data.hardwareConcurrency).toBe(fingerprint?.navigator.hardwareConcurrency); expect(data.userAgent).toBe(fingerprint?.navigator.userAgent); @@ -540,12 +552,11 @@ describe.each([ describe('caching', () => { const commonOptions = { - browserPlugins: [new PlaywrightPlugin( - playwright.chromium, - { + browserPlugins: [ + new PlaywrightPlugin(playwright.chromium, { useIncognitoPages: true, - }, - )], + }), + ], }; let browserPoolCache: BrowserPool; @@ -611,12 +622,11 @@ describe.each([ }); describe('generator configuration', () => { const commonOptions = { - browserPlugins: [new PlaywrightPlugin( - playwright.firefox, - { + browserPlugins: [ + new PlaywrightPlugin(playwright.firefox, { useIncognitoPages: true, - }, - )], + }), + ], }; let browserPoolConfig: BrowserPool; afterEach(async () => { diff --git a/test/core/autoscaling/autoscaled_pool.test.ts b/test/core/autoscaling/autoscaled_pool.test.ts index e1bad5826527..7855491960e6 100644 --- a/test/core/autoscaling/autoscaled_pool.test.ts +++ b/test/core/autoscaling/autoscaled_pool.test.ts @@ -322,7 +322,9 @@ describe('AutoscaledPool', () => { let count = 0; const pool = new AutoscaledPool({ maxConcurrency: 1, - runTaskFunction: async () => { count++; }, + runTaskFunction: async () => { + count++; + }, isFinishedFunction: async () => false, isTaskReadyFunction: async () => { if (count > 1) throw new Error('some-ready-error'); @@ -341,9 +343,12 @@ describe('AutoscaledPool', () => { // Run the pool and close it after 3s. const pool = new AutoscaledPool({ minConcurrency: 3, - runTaskFunction: async () => sleep(1).then(() => { count++; }), + runTaskFunction: async () => + sleep(1).then(() => { + count++; + }), isFinishedFunction: isFinished, - isTaskReadyFunction: async () => !await isFinished(), + isTaskReadyFunction: async () => !(await isFinished()), }); // @ts-expect-error Overwriting readonly private prop @@ -366,8 +371,16 @@ describe('AutoscaledPool', () => { maxConcurrency: 1, runTaskFunction: async () => { await sleep(1); - if (counter === 10) { isTaskReady = false; setTimeout(() => { isTaskReady = true; }, 10); } - if (counter === 19) { isTaskReady = false; isFinished = true; } + if (counter === 10) { + isTaskReady = false; + setTimeout(() => { + isTaskReady = true; + }, 10); + } + if (counter === 19) { + isTaskReady = false; + isFinished = true; + } counter++; finished.push(Date.now()); }, @@ -409,7 +422,10 @@ describe('AutoscaledPool', () => { return null; } }, - isFinishedFunction: async () => { finished = true; return true; }, + isFinishedFunction: async () => { + finished = true; + return true; + }, isTaskReadyFunction: async () => !aborted, }); await pool.run(); @@ -445,7 +461,9 @@ describe('AutoscaledPool', () => { let count = 0; const results: number[] = []; let pauseResolve: (value: unknown) => void; - const pausePromise = new Promise((res) => { pauseResolve = res; }); + const pausePromise = new Promise((res) => { + pauseResolve = res; + }); const pool = new AutoscaledPool({ maybeRunIntervalSecs: 0.01, @@ -462,7 +480,9 @@ describe('AutoscaledPool', () => { let finished = false; const runPromise = pool.run(); - void runPromise.then(() => { finished = true; }); + void runPromise.then(() => { + finished = true; + }); await pausePromise; expect(count).toBe(20); expect(finished).toBe(false); diff --git a/test/core/autoscaling/snapshotter.test.ts b/test/core/autoscaling/snapshotter.test.ts index ddaf2941832a..5976b27702fe 100644 --- a/test/core/autoscaling/snapshotter.test.ts +++ b/test/core/autoscaling/snapshotter.test.ts @@ -125,12 +125,14 @@ describe('Snapshotter', () => { test('correctly marks CPU overloaded using OS metrics', async () => { const cpusMock = vitest.spyOn(os, 'cpus'); - const fakeCpu = [{ - times: { - idle: 0, - other: 0, + const fakeCpu = [ + { + times: { + idle: 0, + other: 0, + }, }, - }]; + ]; const { times } = fakeCpu[0]; cpusMock.mockReturnValue(fakeCpu as any); @@ -211,7 +213,9 @@ describe('Snapshotter', () => { } as MemoryInfo; const getMemoryInfo = async () => ({ ...memoryData }); vitest.spyOn(LocalEventManager.prototype as any, '_getMemoryInfo').mockImplementation(getMemoryInfo); - vitest.spyOn(Snapshotter.prototype as any, '_getMemoryInfo').mockResolvedValueOnce({ totalBytes: toBytes(10000) }); + vitest + .spyOn(Snapshotter.prototype as any, '_getMemoryInfo') + .mockResolvedValueOnce({ totalBytes: toBytes(10000) }); const config = new Configuration({ availableMemoryRatio: 1 }); const snapshotter = new Snapshotter({ config, maxUsedMemoryRatio: 0.5 }); @@ -243,7 +247,9 @@ describe('Snapshotter', () => { }); test('correctly logs critical memory overload', async () => { - vitest.spyOn(Snapshotter.prototype as any, '_getMemoryInfo').mockResolvedValueOnce({ totalBytes: toBytes(10000) }); + vitest + .spyOn(Snapshotter.prototype as any, '_getMemoryInfo') + .mockResolvedValueOnce({ totalBytes: toBytes(10000) }); const config = new Configuration({ availableMemoryRatio: 1 }); const snapshotter = new Snapshotter({ config, maxUsedMemoryRatio: 0.5 }); await snapshotter.start(); @@ -322,9 +328,11 @@ describe('Snapshotter', () => { const snapshot = eventLoopSnapshots[eventLoopSnapshots.length - 1 - i]; expect(sample).toEqual(snapshot); } - const diffBetween = eventLoopSample[eventLoopSample.length - 1].createdAt.getTime() - - eventLoopSnapshots[eventLoopSnapshots.length - 1].createdAt.getTime(); - const diffWithin = eventLoopSample[0].createdAt.getTime() - eventLoopSample[eventLoopSample.length - 1].createdAt.getTime(); + const diffBetween = + eventLoopSample[eventLoopSample.length - 1].createdAt.getTime() - + eventLoopSnapshots[eventLoopSnapshots.length - 1].createdAt.getTime(); + const diffWithin = + eventLoopSample[0].createdAt.getTime() - eventLoopSample[eventLoopSample.length - 1].createdAt.getTime(); expect(diffBetween).toBeLessThan(SAMPLE_SIZE_MILLIS); expect(diffWithin).toBeLessThan(SAMPLE_SIZE_MILLIS); }); diff --git a/test/core/autoscaling/system_status.test.ts b/test/core/autoscaling/system_status.test.ts index 504cca2f0a25..86787f2b1286 100644 --- a/test/core/autoscaling/system_status.test.ts +++ b/test/core/autoscaling/system_status.test.ts @@ -13,7 +13,12 @@ describe('SystemStatus', () => { }); class MockSnapshotter { - constructor(readonly memSnapshots: any[], readonly loopSnapshots: any[], readonly cpuSnapshots: any[], readonly clientSnapshots: any[]) {} + constructor( + readonly memSnapshots: any[], + readonly loopSnapshots: any[], + readonly cpuSnapshots: any[], + readonly clientSnapshots: any[], + ) {} getMemorySample(offset: number) { return this.memSnapshots.slice(-offset); diff --git a/test/core/crawlers/adaptive_playwright_crawler.test.ts b/test/core/crawlers/adaptive_playwright_crawler.test.ts index 489ad2b3307a..a563ca16761f 100644 --- a/test/core/crawlers/adaptive_playwright_crawler.test.ts +++ b/test/core/crawlers/adaptive_playwright_crawler.test.ts @@ -3,9 +3,7 @@ import type { AddressInfo } from 'net'; import { KeyValueStore } from '@crawlee/core'; import type { AdaptivePlaywrightCrawlerOptions } from '@crawlee/playwright'; -import { - AdaptivePlaywrightCrawler, RequestList, -} from '@crawlee/playwright'; +import { AdaptivePlaywrightCrawler, RequestList } from '@crawlee/playwright'; import express from 'express'; import { startExpressAppPromise } from 'test/shared/_helper'; import { MemoryStorageEmulator } from 'test/shared/MemoryStorageEmulator'; @@ -81,32 +79,45 @@ describe('AdaptivePlaywrightCrawler', () => { // Test setup helpers const makeOneshotCrawler = async ( - options: Required> & Partial, + options: Required> & + Partial, sources: string[], - ) => new AdaptivePlaywrightCrawler({ - renderingTypeDetectionRatio: 0.1, - maxConcurrency: 1, - maxRequestRetries: 0, - maxRequestsPerCrawl: 1, - requestList: await RequestList.open({ sources }), - ...options, - }); + ) => + new AdaptivePlaywrightCrawler({ + renderingTypeDetectionRatio: 0.1, + maxConcurrency: 1, + maxRequestRetries: 0, + maxRequestsPerCrawl: 1, + requestList: await RequestList.open({ sources }), + ...options, + }); - const makeRiggedRenderingTypePredictor = (prediction: {detectionProbabilityRecommendation: number; renderingType: 'clientOnly' | 'static'}) => ({ + const makeRiggedRenderingTypePredictor = (prediction: { + detectionProbabilityRecommendation: number; + renderingType: 'clientOnly' | 'static'; + }) => ({ predict: vi.fn((_url: URL) => prediction), storeResult: vi.fn((_url: URL, _label: string | unknown, _renderingType: string) => {}), }); describe('should detect page rendering type', () => { - test.each([['/static', 'static'], ['/dynamic', 'clientOnly']] as const)('for %s', async (path, expectedType) => { - const renderingTypePredictor = makeRiggedRenderingTypePredictor({ detectionProbabilityRecommendation: 1, renderingType: 'clientOnly' }); + test.each([ + ['/static', 'static'], + ['/dynamic', 'clientOnly'], + ] as const)('for %s', async (path, expectedType) => { + const renderingTypePredictor = makeRiggedRenderingTypePredictor({ + detectionProbabilityRecommendation: 1, + renderingType: 'clientOnly', + }); const url = new URL(`http://${HOSTNAME}:${port}${path}`); - const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn(async ({ pushData, querySelector }) => { - await pushData({ - heading: (await querySelector('h1')).text(), - }); - }); + const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn( + async ({ pushData, querySelector }) => { + await pushData({ + heading: (await querySelector('h1')).text(), + }); + }, + ); const crawler = await makeOneshotCrawler( { @@ -131,7 +142,10 @@ describe('AdaptivePlaywrightCrawler', () => { }); test('should not store detection results on non-detection runs', async () => { - const renderingTypePredictor = makeRiggedRenderingTypePredictor({ detectionProbabilityRecommendation: 0, renderingType: 'static' }); + const renderingTypePredictor = makeRiggedRenderingTypePredictor({ + detectionProbabilityRecommendation: 0, + renderingType: 'static', + }); const url = new URL(`http://${HOSTNAME}:${port}/static`); const crawler = await makeOneshotCrawler( @@ -149,17 +163,23 @@ describe('AdaptivePlaywrightCrawler', () => { }); test('should retry with browser if result checker returns false', async () => { - const renderingTypePredictor = makeRiggedRenderingTypePredictor({ detectionProbabilityRecommendation: 0, renderingType: 'static' }); + const renderingTypePredictor = makeRiggedRenderingTypePredictor({ + detectionProbabilityRecommendation: 0, + renderingType: 'static', + }); const url = new URL(`http://${HOSTNAME}:${port}/dynamic`); - const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn(async ({ pushData, querySelector }) => { - await pushData({ - heading: (await querySelector('h1')).text(), - }); - }); + const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn( + async ({ pushData, querySelector }) => { + await pushData({ + heading: (await querySelector('h1')).text(), + }); + }, + ); const resultChecker: AdaptivePlaywrightCrawlerOptions['resultChecker'] = vi.fn( - (result) => result.datasetItems.length > 0 && result.datasetItems.every(({ item }) => item.heading?.length > 0), + (result) => + result.datasetItems.length > 0 && result.datasetItems.every(({ item }) => item.heading?.length > 0), ); const crawler = await makeOneshotCrawler( @@ -178,13 +198,21 @@ describe('AdaptivePlaywrightCrawler', () => { }); describe('should enqueue links correctly', () => { - test.each([['/static', 'static'], ['/dynamic', 'clientOnly']] as const)('for %s', async (path, renderingType) => { - const renderingTypePredictor = makeRiggedRenderingTypePredictor({ detectionProbabilityRecommendation: 0, renderingType }); + test.each([ + ['/static', 'static'], + ['/dynamic', 'clientOnly'], + ] as const)('for %s', async (path, renderingType) => { + const renderingTypePredictor = makeRiggedRenderingTypePredictor({ + detectionProbabilityRecommendation: 0, + renderingType, + }); const url = new URL(`http://${HOSTNAME}:${port}${path}`); - const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn(async ({ enqueueLinks }) => { - await enqueueLinks(); - }); + const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn( + async ({ enqueueLinks }) => { + await enqueueLinks(); + }, + ); const crawler = await makeOneshotCrawler( { @@ -197,18 +225,23 @@ describe('AdaptivePlaywrightCrawler', () => { await crawler.run(); const enqueuedUrls = (await localStorageEmulator.getRequestQueueItems()).map((item) => item.url); - expect(new Set(enqueuedUrls)).toEqual(new Set([ - `http://${HOSTNAME}:${port}/static?q=1`, - `http://${HOSTNAME}:${port}/static?q=2`, - `http://${HOSTNAME}:${port}/static?q=3`, - `http://${HOSTNAME}:${port}/static?q=4`, - `http://${HOSTNAME}:${port}/static?q=5`, - ])); + expect(new Set(enqueuedUrls)).toEqual( + new Set([ + `http://${HOSTNAME}:${port}/static?q=1`, + `http://${HOSTNAME}:${port}/static?q=2`, + `http://${HOSTNAME}:${port}/static?q=3`, + `http://${HOSTNAME}:${port}/static?q=4`, + `http://${HOSTNAME}:${port}/static?q=5`, + ]), + ); }); }); test('should persist crawler state', async () => { - const renderingTypePredictor = makeRiggedRenderingTypePredictor({ detectionProbabilityRecommendation: 0, renderingType: 'static' }); + const renderingTypePredictor = makeRiggedRenderingTypePredictor({ + detectionProbabilityRecommendation: 0, + renderingType: 'static', + }); const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn(async ({ useState }) => { const state = await useState({ count: 0 }); @@ -234,14 +267,19 @@ describe('AdaptivePlaywrightCrawler', () => { }); test('should persist key-value store changes', async () => { - const renderingTypePredictor = makeRiggedRenderingTypePredictor({ detectionProbabilityRecommendation: 0, renderingType: 'static' }); - - const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn(async ({ request, getKeyValueStore }) => { - const store = await getKeyValueStore(); - const search = new URLSearchParams(new URL(request.url).search); - store.setValue(search.get('q'), { content: 42 }); + const renderingTypePredictor = makeRiggedRenderingTypePredictor({ + detectionProbabilityRecommendation: 0, + renderingType: 'static', }); + const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn( + async ({ request, getKeyValueStore }) => { + const store = await getKeyValueStore(); + const search = new URLSearchParams(new URL(request.url).search); + store.setValue(search.get('q'), { content: 42 }); + }, + ); + const crawler = await makeOneshotCrawler( { requestHandler, @@ -264,7 +302,10 @@ describe('AdaptivePlaywrightCrawler', () => { }); test('should not allow direct key-value store manipulation', async () => { - const renderingTypePredictor = makeRiggedRenderingTypePredictor({ detectionProbabilityRecommendation: 0, renderingType: 'static' }); + const renderingTypePredictor = makeRiggedRenderingTypePredictor({ + detectionProbabilityRecommendation: 0, + renderingType: 'static', + }); const requestHandler: AdaptivePlaywrightCrawlerOptions['requestHandler'] = vi.fn(async () => { const store = await KeyValueStore.open(); @@ -281,9 +322,7 @@ describe('AdaptivePlaywrightCrawler', () => { maxRequestRetries: 0, failedRequestHandler, }, - [ - `http://${HOSTNAME}:${port}/static`, - ], + [`http://${HOSTNAME}:${port}/static`], ); await crawler.run(); diff --git a/test/core/crawlers/basic_browser_crawler.ts b/test/core/crawlers/basic_browser_crawler.ts index 65d9c07f9eb0..acbefc04bb4a 100644 --- a/test/core/crawlers/basic_browser_crawler.ts +++ b/test/core/crawlers/basic_browser_crawler.ts @@ -3,12 +3,19 @@ import type { PuppeteerCrawlingContext, PuppeteerCrawlerOptions, PuppeteerGoToOp import { BrowserCrawler } from '@crawlee/puppeteer'; import type { HTTPResponse, LaunchOptions } from 'puppeteer'; -export class BrowserCrawlerTest extends BrowserCrawler<{ browserPlugins: [PuppeteerPlugin] }, LaunchOptions, PuppeteerCrawlingContext> { +export class BrowserCrawlerTest extends BrowserCrawler< + { browserPlugins: [PuppeteerPlugin] }, + LaunchOptions, + PuppeteerCrawlingContext +> { constructor(options: Partial = {}) { super(options as any); } - protected async _navigationHandler(ctx: PuppeteerCrawlingContext, gotoOptions: PuppeteerGoToOptions): Promise { + protected async _navigationHandler( + ctx: PuppeteerCrawlingContext, + gotoOptions: PuppeteerGoToOptions, + ): Promise { return ctx.page.goto(ctx.request.url, gotoOptions); } } diff --git a/test/core/crawlers/basic_crawler.test.ts b/test/core/crawlers/basic_crawler.test.ts index 0e5832caa325..08bf572a224c 100644 --- a/test/core/crawlers/basic_crawler.test.ts +++ b/test/core/crawlers/basic_crawler.test.ts @@ -6,10 +6,7 @@ import { readFile, rm } from 'node:fs/promises'; import { join } from 'path'; import log from '@apify/log'; -import type { - CrawlingContext, - ErrorHandler, - RequestHandler } from '@crawlee/basic'; +import type { CrawlingContext, ErrorHandler, RequestHandler } from '@crawlee/basic'; import { Request, RequestQueue, @@ -161,39 +158,35 @@ describe('BasicCrawler', () => { const requestList = await RequestList.open(null, []); const requestHandler = async () => {}; - const results = await Promise.all([ - new BasicCrawler({ - requestList, - requestHandler, - ...shorthandOptions, - }), - new BasicCrawler({ - requestList, - requestHandler, - autoscaledPoolOptions, + const results = await Promise.all( + [ + new BasicCrawler({ + requestList, + requestHandler, + ...shorthandOptions, + }), + new BasicCrawler({ + requestList, + requestHandler, + autoscaledPoolOptions, + }), + new BasicCrawler({ + requestList, + requestHandler, + ...shorthandOptions, + autoscaledPoolOptions, + }), + ].map(async (c) => { + await c.run(); + return collectResults(c); }), - new BasicCrawler({ - requestList, - requestHandler, - ...shorthandOptions, - autoscaledPoolOptions, - }), - ].map(async (c) => { - await c.run(); - return collectResults(c); - })); - - expect(results[0]).toEqual( - expect.objectContaining(shorthandOptions), ); - expect(results[1]).toEqual( - expect.objectContaining(autoscaledPoolOptions), - ); + expect(results[0]).toEqual(expect.objectContaining(shorthandOptions)); - expect(results[2]).toEqual( - expect.objectContaining(shorthandOptions), - ); + expect(results[1]).toEqual(expect.objectContaining(autoscaledPoolOptions)); + + expect(results[2]).toEqual(expect.objectContaining(shorthandOptions)); }); test('auto-saved state object', async () => { @@ -224,54 +217,61 @@ describe('BasicCrawler', () => { expect(await requestList.isEmpty()).toBe(true); }); - test.each([EventType.MIGRATING, EventType.ABORTING])('should pause on %s event and persist RequestList state', async (event) => { - const sources = [...Array(500).keys()].map((index) => ({ url: `https://example.com/${index + 1}` })); + test.each([EventType.MIGRATING, EventType.ABORTING])( + 'should pause on %s event and persist RequestList state', + async (event) => { + const sources = [...Array(500).keys()].map((index) => ({ url: `https://example.com/${index + 1}` })); - let persistResolve: (value?: unknown) => void; - const persistPromise = new Promise((res) => { persistResolve = res; }); + let persistResolve: (value?: unknown) => void; + const persistPromise = new Promise((res) => { + persistResolve = res; + }); - // Mock the calls to persist sources. - const getValueSpy = vitest.spyOn(KeyValueStore.prototype, 'getValue'); - const setValueSpy = vitest.spyOn(KeyValueStore.prototype, 'setValue'); - getValueSpy.mockResolvedValue(null); + // Mock the calls to persist sources. + const getValueSpy = vitest.spyOn(KeyValueStore.prototype, 'getValue'); + const setValueSpy = vitest.spyOn(KeyValueStore.prototype, 'setValue'); + getValueSpy.mockResolvedValue(null); - const processed: { url: string }[] = []; - const requestList = await RequestList.open('reqList', sources); - const requestHandler: RequestHandler = async ({ request }) => { - if (request.url.endsWith('200')) events.emit(event); - processed.push({ url: request.url }); - }; + const processed: { url: string }[] = []; + const requestList = await RequestList.open('reqList', sources); + const requestHandler: RequestHandler = async ({ request }) => { + if (request.url.endsWith('200')) events.emit(event); + processed.push({ url: request.url }); + }; - const basicCrawler = new BasicCrawler({ - requestList, - minConcurrency: 25, - maxConcurrency: 25, - requestHandler, - }); + const basicCrawler = new BasicCrawler({ + requestList, + minConcurrency: 25, + maxConcurrency: 25, + requestHandler, + }); - let finished = false; - // Mock the call to persist state. - setValueSpy.mockImplementationOnce(persistResolve as any); - // The crawler will pause after 200 requests - const runPromise = basicCrawler.run(); - void runPromise.then(() => { finished = true; }); + let finished = false; + // Mock the call to persist state. + setValueSpy.mockImplementationOnce(persistResolve as any); + // The crawler will pause after 200 requests + const runPromise = basicCrawler.run(); + void runPromise.then(() => { + finished = true; + }); - // need to monkeypatch the stats class, otherwise it will never finish - basicCrawler.stats.persistState = async () => Promise.resolve(); - await persistPromise; + // need to monkeypatch the stats class, otherwise it will never finish + basicCrawler.stats.persistState = async () => Promise.resolve(); + await persistPromise; - expect(finished).toBe(false); - expect(await requestList.isFinished()).toBe(false); - expect(await requestList.isEmpty()).toBe(false); - expect(processed.length).toBe(200); + expect(finished).toBe(false); + expect(await requestList.isFinished()).toBe(false); + expect(await requestList.isEmpty()).toBe(false); + expect(processed.length).toBe(200); - expect(getValueSpy).toBeCalled(); - expect(setValueSpy).toBeCalled(); + expect(getValueSpy).toBeCalled(); + expect(setValueSpy).toBeCalled(); - // clean up - // @ts-expect-error Accessing private method - await basicCrawler.autoscaledPool._destroy(); - }); + // clean up + // @ts-expect-error Accessing private method + await basicCrawler.autoscaledPool._destroy(); + }, + ); test('should retry failed requests', async () => { const sources = [ @@ -406,9 +406,7 @@ describe('BasicCrawler', () => { }); test('should correctly track request.state', async () => { - const sources = [ - { url: 'http://example.com/1' }, - ]; + const sources = [{ url: 'http://example.com/1' }]; const requestList = await RequestList.open(null, sources); const requestStates: RequestState[] = []; @@ -431,7 +429,11 @@ describe('BasicCrawler', () => { await basicCrawler.run(); - expect(requestStates).toEqual([RequestState.REQUEST_HANDLER, RequestState.ERROR_HANDLER, RequestState.REQUEST_HANDLER]); + expect(requestStates).toEqual([ + RequestState.REQUEST_HANDLER, + RequestState.ERROR_HANDLER, + RequestState.REQUEST_HANDLER, + ]); }); test('should use errorHandler', async () => { @@ -662,7 +664,8 @@ describe('BasicCrawler', () => { vitest.spyOn(requestQueue, 'handledCount').mockResolvedValueOnce(0); - vitest.spyOn(requestQueue, 'addRequest') + vitest + .spyOn(requestQueue, 'addRequest') .mockResolvedValueOnce({ requestId: 'id-0' } as any) .mockResolvedValueOnce({ requestId: 'id-1' } as any) .mockResolvedValueOnce({ requestId: 'id-2' } as any); @@ -671,7 +674,8 @@ describe('BasicCrawler', () => { const request1 = new Request({ id: 'id-1', ...sources[1] }); const request2 = new Request({ id: 'id-2', ...sources[2] }); - vitest.spyOn(requestQueue, 'fetchNextRequest') + vitest + .spyOn(requestQueue, 'fetchNextRequest') .mockResolvedValueOnce(request0) .mockResolvedValueOnce(request1) .mockResolvedValueOnce(request2) @@ -679,17 +683,19 @@ describe('BasicCrawler', () => { .mockResolvedValueOnce(request1) .mockResolvedValueOnce(request1); - const markReqHandled = vitest.spyOn(requestQueue, 'markRequestHandled').mockReturnValue(Promise.resolve() as any); + const markReqHandled = vitest + .spyOn(requestQueue, 'markRequestHandled') + .mockReturnValue(Promise.resolve() as any); const reclaimReq = vitest.spyOn(requestQueue, 'reclaimRequest').mockReturnValue(Promise.resolve() as any); - vitest.spyOn(requestQueue, 'isEmpty') + vitest + .spyOn(requestQueue, 'isEmpty') .mockResolvedValueOnce(false) .mockResolvedValueOnce(false) .mockResolvedValueOnce(false) .mockResolvedValueOnce(true); - vitest.spyOn(requestQueue, 'isFinished') - .mockResolvedValueOnce(true); + vitest.spyOn(requestQueue, 'isFinished').mockResolvedValueOnce(true); await basicCrawler.run(); @@ -757,7 +763,8 @@ describe('BasicCrawler', () => { const request1 = new Request({ url: 'http://example.com/1' }); vitest.spyOn(requestQueue, 'handledCount').mockReturnValue(Promise.resolve() as any); - const markRequestHandled = vitest.spyOn(requestQueue, 'markRequestHandled') + const markRequestHandled = vitest + .spyOn(requestQueue, 'markRequestHandled') .mockReturnValue(Promise.resolve() as any); const isFinishedOrig = vitest.spyOn(requestQueue, 'isFinished'); @@ -767,7 +774,9 @@ describe('BasicCrawler', () => { setTimeout(() => queue.push(request0), 10); setTimeout(() => queue.push(request1), 100); - setTimeout(() => { isFinished = true; }, 150); + setTimeout(() => { + isFinished = true; + }, 150); await basicCrawler.run(); @@ -803,7 +812,8 @@ describe('BasicCrawler', () => { const request1 = new Request({ url: 'http://example.com/1' }); vitest.spyOn(requestQueue, 'handledCount').mockReturnValue(Promise.resolve() as any); - const markRequestHandled = vitest.spyOn(requestQueue, 'markRequestHandled') + const markRequestHandled = vitest + .spyOn(requestQueue, 'markRequestHandled') .mockReturnValue(Promise.resolve() as any); const isFinishedOrig = vitest.spyOn(requestQueue, 'isFinished'); @@ -813,7 +823,9 @@ describe('BasicCrawler', () => { setTimeout(() => queue.push(request0), 10); setTimeout(() => queue.push(request1), 100); - setTimeout(() => { void basicCrawler.teardown(); }, 300); + setTimeout(() => { + void basicCrawler.teardown(); + }, 300); await basicCrawler.run(); @@ -883,7 +895,7 @@ describe('BasicCrawler', () => { requestQueue.isEmpty = async () => false; requestQueue.isFinished = async () => false; - requestQueue.fetchNextRequest = async () => (new Request({ id: 'id', url: 'http://example.com' })); + requestQueue.fetchNextRequest = async () => new Request({ id: 'id', url: 'http://example.com' }); // @ts-expect-error Overriding the method for testing purposes requestQueue.markRequestHandled = async () => {}; @@ -1400,8 +1412,7 @@ describe('BasicCrawler', () => { await crawler.pushData(payload); - expect((await crawler.getData()).items) - .toEqual(payload); + expect((await crawler.getData()).items).toEqual(payload); }); test('export data', async () => { @@ -1418,20 +1429,22 @@ describe('BasicCrawler', () => { const csv = await readFile(`${tmpDir}/result.csv`); expect(csv.toString()).toBe('foo,baz\nbar,123\nbar,123\nbar,123\n'); const json = await readFile(`${tmpDir}/result.json`); - expect(json.toString()).toBe('[\n' - + ' {\n' - + ' "foo": "bar",\n' - + ' "baz": 123\n' - + ' },\n' - + ' {\n' - + ' "foo": "bar",\n' - + ' "baz": 123\n' - + ' },\n' - + ' {\n' - + ' "foo": "bar",\n' - + ' "baz": 123\n' - + ' }\n' - + ']\n'); + expect(json.toString()).toBe( + '[\n' + + ' {\n' + + ' "foo": "bar",\n' + + ' "baz": 123\n' + + ' },\n' + + ' {\n' + + ' "foo": "bar",\n' + + ' "baz": 123\n' + + ' },\n' + + ' {\n' + + ' "foo": "bar",\n' + + ' "baz": 123\n' + + ' }\n' + + ']\n', + ); await rm(`${tmpDir}/result.csv`); await rm(`${tmpDir}/result.json`); @@ -1442,12 +1455,13 @@ describe('BasicCrawler', () => { requestHandler: async ({ pushData }) => pushData(payload), }); - await crawler.run([{ - url: `http://${HOSTNAME}:${port}`, - }]); + await crawler.run([ + { + url: `http://${HOSTNAME}:${port}`, + }, + ]); - expect((await crawler.getData()).items) - .toEqual(payload); + expect((await crawler.getData()).items).toEqual(payload); }); test("Crawlers with different Configurations don't share Datasets", async () => { @@ -1457,16 +1471,20 @@ describe('BasicCrawler', () => { await crawlerA.pushData(getPayload('A')); await crawlerB.pushData(getPayload('B')); - expect((await crawlerA.getData()).items) - .toEqual(getPayload('A')); + expect((await crawlerA.getData()).items).toEqual(getPayload('A')); - expect((await crawlerB.getData()).items) - .toEqual(getPayload('B')); + expect((await crawlerB.getData()).items).toEqual(getPayload('B')); }); test('Crawlers with different Configurations run separately', async () => { - const crawlerA = new BasicCrawler({ requestHandler: () => {} }, new Configuration({ persistStorage: false })); - const crawlerB = new BasicCrawler({ requestHandler: () => {} }, new Configuration({ persistStorage: false })); + const crawlerA = new BasicCrawler( + { requestHandler: () => {} }, + new Configuration({ persistStorage: false }), + ); + const crawlerB = new BasicCrawler( + { requestHandler: () => {} }, + new Configuration({ persistStorage: false }), + ); await crawlerA.run([{ url: `http://${HOSTNAME}:${port}` }]); await crawlerB.run([{ url: `http://${HOSTNAME}:${port}` }]); diff --git a/test/core/crawlers/browser_crawler.test.ts b/test/core/crawlers/browser_crawler.test.ts index c72c0d7bee2a..e70f590c59ff 100644 --- a/test/core/crawlers/browser_crawler.test.ts +++ b/test/core/crawlers/browser_crawler.test.ts @@ -4,11 +4,7 @@ import { ENV_VARS } from '@apify/consts'; import log from '@apify/log'; import { BROWSER_POOL_EVENTS, BrowserPool, OperatingSystemsName, PuppeteerPlugin } from '@crawlee/browser-pool'; import { BLOCKED_STATUS_CODES } from '@crawlee/core'; -import type { - PuppeteerCrawlingContext, - PuppeteerGoToOptions, - PuppeteerRequestHandler, -} from '@crawlee/puppeteer'; +import type { PuppeteerCrawlingContext, PuppeteerGoToOptions, PuppeteerRequestHandler } from '@crawlee/puppeteer'; import { AutoscaledPool, EnqueueStrategy, @@ -110,9 +106,7 @@ describe('BrowserCrawler', () => { test('should teardown browser pool', async () => { const requestList = await RequestList.open({ - sources: [ - { url: 'http://example.com/?q=1' }, - ], + sources: [{ url: 'http://example.com/?q=1' }], }); const browserCrawler = new BrowserCrawlerTest({ browserPoolOptions: { @@ -131,19 +125,19 @@ describe('BrowserCrawler', () => { test('should retire session after TimeoutError', async () => { const requestList = await RequestList.open({ - sources: [ - { url: 'http://example.com/?q=1' }, - ], + sources: [{ url: 'http://example.com/?q=1' }], }); class TimeoutError extends Error {} let sessionGoto: Session; - const browserCrawler = new class extends BrowserCrawlerTest { - protected override async _navigationHandler(ctx: PuppeteerCrawlingContext): Promise { + const browserCrawler = new (class extends BrowserCrawlerTest { + protected override async _navigationHandler( + ctx: PuppeteerCrawlingContext, + ): Promise { vitest.spyOn(ctx.session, 'markBad'); sessionGoto = ctx.session; throw new TimeoutError(); } - }({ + })({ browserPoolOptions: { browserPlugins: [puppeteerPlugin], }, @@ -159,19 +153,19 @@ describe('BrowserCrawler', () => { test('should evaluate preNavigationHooks', async () => { const requestList = await RequestList.open({ - sources: [ - { url: 'http://example.com/?q=1' }, - ], + sources: [{ url: 'http://example.com/?q=1' }], }); let isEvaluated = false; - const browserCrawler = new class extends BrowserCrawlerTest { - // eslint-disable-next-line max-len - protected override async _navigationHandler(ctx: PuppeteerCrawlingContext, gotoOptions: PuppeteerGoToOptions): Promise { + const browserCrawler = new (class extends BrowserCrawlerTest { + protected override async _navigationHandler( + ctx: PuppeteerCrawlingContext, + gotoOptions: PuppeteerGoToOptions, + ): Promise { isEvaluated = ctx.hookFinished as boolean; return ctx.page.goto(ctx.request.url, gotoOptions); } - }({ + })({ browserPoolOptions: { browserPlugins: [puppeteerPlugin], }, @@ -194,9 +188,7 @@ describe('BrowserCrawler', () => { test('should evaluate postNavigationHooks', async () => { const requestList = await RequestList.open({ - sources: [ - { url: `${serverAddress}/?q=1` }, - ], + sources: [{ url: `${serverAddress}/?q=1` }], }); let isEvaluated = false; @@ -225,9 +217,7 @@ describe('BrowserCrawler', () => { test('errorHandler has open page', async () => { const requestList = await RequestList.open({ - sources: [ - { url: `${serverAddress}/?q=1` }, - ], + sources: [{ url: `${serverAddress}/?q=1` }], }); const result: string[] = []; @@ -253,9 +243,7 @@ describe('BrowserCrawler', () => { }); test('should correctly track request.state', async () => { - const sources = [ - { url: `${serverAddress}/?q=1` }, - ]; + const sources = [{ url: `${serverAddress}/?q=1` }]; const requestList = await RequestList.open(null, sources); const requestStates: RequestState[] = []; @@ -299,18 +287,18 @@ describe('BrowserCrawler', () => { test('should allow modifying gotoOptions by pre navigation hooks', async () => { const requestList = await RequestList.open({ - sources: [ - { url: `${serverAddress}/?q=1` }, - ], + sources: [{ url: `${serverAddress}/?q=1` }], }); let optionsGoto: PuppeteerGoToOptions; - const browserCrawler = new class extends BrowserCrawlerTest { - // eslint-disable-next-line max-len - protected override async _navigationHandler(ctx: PuppeteerCrawlingContext, gotoOptions: PuppeteerGoToOptions): Promise { + const browserCrawler = new (class extends BrowserCrawlerTest { + protected override async _navigationHandler( + ctx: PuppeteerCrawlingContext, + gotoOptions: PuppeteerGoToOptions, + ): Promise { optionsGoto = gotoOptions; return ctx.page.goto(ctx.request.url, gotoOptions); } - }({ + })({ browserPoolOptions: { browserPlugins: [puppeteerPlugin], }, @@ -333,9 +321,7 @@ describe('BrowserCrawler', () => { test('should ignore errors in Page.close()', async () => { for (let i = 0; i < 2; i++) { const requestList = await RequestList.open({ - sources: [ - { url: `${serverAddress}/?q=1` }, - ], + sources: [{ url: `${serverAddress}/?q=1` }], }); let failedCalled = false; @@ -365,9 +351,7 @@ describe('BrowserCrawler', () => { test('should respect the requestHandlerTimeoutSecs option', async () => { const requestList = await RequestList.open({ - sources: [ - { url: `${serverAddress}/?q=1` }, - ], + sources: [{ url: `${serverAddress}/?q=1` }], }); const callSpy = vitest.fn(); @@ -393,9 +377,7 @@ describe('BrowserCrawler', () => { test('should not throw without SessionPool', async () => { const requestList = await RequestList.open({ - sources: [ - { url: 'http://example.com/?q=1' }, - ], + sources: [{ url: 'http://example.com/?q=1' }], }); const browserCrawler = new BrowserCrawlerTest({ browserPoolOptions: { @@ -404,7 +386,6 @@ describe('BrowserCrawler', () => { requestList, useSessionPool: false, requestHandler: async () => {}, - }); expect(browserCrawler).toBeDefined(); @@ -412,9 +393,7 @@ describe('BrowserCrawler', () => { test('should correctly set session pool options', async () => { const requestList = await RequestList.open({ - sources: [ - { url: 'http://example.com/?q=1' }, - ], + sources: [{ url: 'http://example.com/?q=1' }], }); const crawler = new BrowserCrawlerTest({ @@ -466,7 +445,12 @@ describe('BrowserCrawler', () => { }, preNavigationHooks: [ async ({ session, page }) => { - await page.setCookie({ name: 'TEST', value: '12321312312', domain: 'example.com', expires: Date.now() + 100000 }); + await page.setCookie({ + name: 'TEST', + value: '12321312312', + domain: 'example.com', + expires: Date.now() + 100000, + }); goToPageSessions.push(session); }, ], @@ -645,9 +629,7 @@ describe('BrowserCrawler', () => { test('should retire browser with session', async () => { const requestList = await RequestList.open({ - sources: [ - { url: 'http://example.com/?q=1' }, - ], + sources: [{ url: 'http://example.com/?q=1' }], }); let resolve: (value?: unknown) => void; @@ -655,8 +637,10 @@ describe('BrowserCrawler', () => { resolve = r; }); let called = false; - const browserCrawler = new class extends BrowserCrawlerTest { - protected override async _navigationHandler(ctx: PuppeteerCrawlingContext): Promise { + const browserCrawler = new (class extends BrowserCrawlerTest { + protected override async _navigationHandler( + ctx: PuppeteerCrawlingContext, + ): Promise { ctx.crawler.browserPool.on(BROWSER_POOL_EVENTS.BROWSER_RETIRED, () => { resolve(); called = true; @@ -664,7 +648,7 @@ describe('BrowserCrawler', () => { ctx.session.retire(); return ctx.page.goto(ctx.request.url); } - }({ + })({ browserPoolOptions: { browserPlugins: [puppeteerPlugin], }, @@ -683,9 +667,7 @@ describe('BrowserCrawler', () => { test('should allow using fingerprints from browser pool', async () => { const requestList = await RequestList.open({ - sources: [ - { url: `${serverAddress}/?q=1` }, - ], + sources: [{ url: `${serverAddress}/?q=1` }], }); const browserCrawler = new BrowserCrawlerTest({ browserPoolOptions: { @@ -823,8 +805,7 @@ describe('BrowserCrawler', () => { retireBrowserAfterPageCount: 1, }, requestList, - requestHandler: async () => { - }, + requestHandler: async () => {}, proxyConfiguration, maxRequestRetries: 0, maxConcurrency: 1, @@ -847,11 +828,15 @@ describe('BrowserCrawler', () => { test('proxy rotation on error works as expected', async () => { const goodProxyUrl = 'http://good.proxy'; - const proxyConfiguration = new ProxyConfiguration({ proxyUrls: ['http://localhost', 'http://localhost:1234', goodProxyUrl] }); + const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: ['http://localhost', 'http://localhost:1234', goodProxyUrl], + }); const requestHandler = vitest.fn(); - const browserCrawler = new class extends BrowserCrawlerTest { - protected override async _navigationHandler(ctx: PuppeteerCrawlingContext): Promise { + const browserCrawler = new (class extends BrowserCrawlerTest { + protected override async _navigationHandler( + ctx: PuppeteerCrawlingContext, + ): Promise { const { session } = ctx; const proxyInfo = await this.proxyConfiguration.newProxyInfo(session?.id); @@ -861,7 +846,7 @@ describe('BrowserCrawler', () => { return null; } - }({ + })({ browserPoolOptions: { browserPlugins: [puppeteerPlugin], }, @@ -878,15 +863,19 @@ describe('BrowserCrawler', () => { }); test('proxy rotation on error respects maxSessionRotations, calls failedRequestHandler', async () => { - const proxyConfiguration = new ProxyConfiguration({ proxyUrls: ['http://localhost', 'http://localhost:1234'] }); + const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: ['http://localhost', 'http://localhost:1234'], + }); const failedRequestHandler = vitest.fn(); /** * The first increment is the base case when the proxy is retrieved for the first time. */ let numberOfRotations = -requestList.length(); - const browserCrawler = new class extends BrowserCrawlerTest { - protected override async _navigationHandler(ctx: PuppeteerCrawlingContext): Promise { + const browserCrawler = new (class extends BrowserCrawlerTest { + protected override async _navigationHandler( + ctx: PuppeteerCrawlingContext, + ): Promise { const { session } = ctx; const proxyInfo = await this.proxyConfiguration.newProxyInfo(session?.id); @@ -898,7 +887,7 @@ describe('BrowserCrawler', () => { return null; } - }({ + })({ browserPoolOptions: { browserPlugins: [puppeteerPlugin], }, @@ -918,10 +907,13 @@ describe('BrowserCrawler', () => { test('proxy rotation logs the original proxy error', async () => { const proxyConfiguration = new ProxyConfiguration({ proxyUrls: ['http://localhost:1234'] }); - const proxyError = 'Proxy responded with 400 - Bad request. Also, this error message contains some useful payload.'; + const proxyError = + 'Proxy responded with 400 - Bad request. Also, this error message contains some useful payload.'; - const crawler = new class extends BrowserCrawlerTest { - protected override async _navigationHandler(ctx: PuppeteerCrawlingContext): Promise { + const crawler = new (class extends BrowserCrawlerTest { + protected override async _navigationHandler( + ctx: PuppeteerCrawlingContext, + ): Promise { const { session } = ctx; const proxyInfo = await this.proxyConfiguration.newProxyInfo(session?.id); @@ -931,7 +923,7 @@ describe('BrowserCrawler', () => { return null; } - }({ + })({ browserPoolOptions: { browserPlugins: [puppeteerPlugin], }, @@ -947,8 +939,9 @@ describe('BrowserCrawler', () => { await crawler.run([serverAddress]); expect(spy).toBeCalled(); - // eslint-disable-next-line max-len - expect(spy.mock.calls[0][0]).toEqual('When using RequestList and RequestQueue at the same time, you should instantiate both explicitly and provide them in the crawler options, to ensure correctly handled restarts of the crawler.'); + expect(spy.mock.calls[0][0]).toEqual( + 'When using RequestList and RequestQueue at the same time, you should instantiate both explicitly and provide them in the crawler options, to ensure correctly handled restarts of the crawler.', + ); expect(spy.mock.calls[1][0]).toEqual(expect.stringContaining(proxyError)); }); }); @@ -997,7 +990,7 @@ describe('BrowserCrawler', () => { expect(crawlingContext.session).toBeInstanceOf(Session); expect(typeof crawlingContext.page).toBe('object'); expect(crawlingContext.crawler).toBeInstanceOf(BrowserCrawlerTest); - expect((crawlingContext.crawler).browserPool).toBeInstanceOf(BrowserPool); + expect(crawlingContext.crawler.browserPool).toBeInstanceOf(BrowserPool); expect(crawlingContext.hasOwnProperty('response')).toBe(true); expect(crawlingContext.error).toBeInstanceOf(Error); diff --git a/test/core/crawlers/cheerio_crawler.test.ts b/test/core/crawlers/cheerio_crawler.test.ts index 0b9a7c29bcde..961e1f12e8c7 100644 --- a/test/core/crawlers/cheerio_crawler.test.ts +++ b/test/core/crawlers/cheerio_crawler.test.ts @@ -2,12 +2,7 @@ import type { IncomingHttpHeaders, Server } from 'http'; import { Readable } from 'stream'; import log, { Log, LogLevel } from '@apify/log'; -import type { - CheerioRequestHandler, - CheerioCrawlingContext, - ProxyInfo, - Source, -} from '@crawlee/cheerio'; +import type { CheerioRequestHandler, CheerioCrawlingContext, ProxyInfo, Source } from '@crawlee/cheerio'; import { AutoscaledPool, CheerioCrawler, @@ -196,14 +191,13 @@ describe('CheerioCrawler', () => { maxConcurrency: 2, }); - // eslint-disable-next-line max-len - await expect(cheerioCrawler.run()).rejects.toThrow("Route not found for label 'undefined'. You must set up a route for this label or a default route. Use `requestHandler`, `router.addHandler` or `router.addDefaultHandler`."); + await expect(cheerioCrawler.run()).rejects.toThrow( + "Route not found for label 'undefined'. You must set up a route for this label or a default route. Use `requestHandler`, `router.addHandler` or `router.addDefaultHandler`.", + ); }); test('should ignore ssl by default', async () => { - const sources = [ - { url: 'http://example.com/?q=1' }, - ]; + const sources = [{ url: 'http://example.com/?q=1' }]; const requestList = await RequestList.open(null, sources); const requestHandler = () => {}; @@ -366,10 +360,7 @@ describe('CheerioCrawler', () => { describe('should not timeout by the default httpRequest timeoutSecs', () => { it('when navigationTimeoutSecs is greater than 30', async () => { - const sources = [ - { url: `${serverAddress}/timeout?a=12` }, - { url: `${serverAddress}/timeout?a=23` }, - ]; + const sources = [{ url: `${serverAddress}/timeout?a=12` }, { url: `${serverAddress}/timeout?a=23` }]; const processed: Request[] = []; const failed: Request[] = []; const requestList = await RequestList.open(null, sources); @@ -454,10 +445,12 @@ describe('CheerioCrawler', () => { expect(handlePageInvocationCount).toBe(0); expect(errorMessages).toHaveLength(4); - errorMessages.forEach((msg) => expect(msg).toMatch( - ' Content-Type text/plain, but only text/html, text/xml, application/xhtml+xml, application/xml, application/json are allowed.' - + ' Skipping resource.', - )); + errorMessages.forEach((msg) => + expect(msg).toMatch( + ' Content-Type text/plain, but only text/html, text/xml, application/xhtml+xml, application/xml, application/json are allowed.' + + ' Skipping resource.', + ), + ); }); test('when statusCode >= 500 and text/html is received', async () => { @@ -525,7 +518,9 @@ describe('CheerioCrawler', () => { expect(handlePageInvocationCount).toBe(0); expect(errorMessages).toHaveLength(4); errorMessages.forEach((msg) => { - expect(msg).toMatch('is not available in the format requested by the Accept header. Skipping resource.'); + expect(msg).toMatch( + 'is not available in the format requested by the Accept header. Skipping resource.', + ); }); }); }); @@ -769,10 +764,12 @@ describe('CheerioCrawler', () => { test('proxy rotation on error works as expected', async () => { const goodProxyUrl = 'http://good.proxy'; - const proxyConfiguration = new ProxyConfiguration({ proxyUrls: ['http://localhost', 'http://localhost:1234', goodProxyUrl] }); + const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: ['http://localhost', 'http://localhost:1234', goodProxyUrl], + }); const check = vitest.fn(); - const crawler = new class extends CheerioCrawler { + const crawler = new (class extends CheerioCrawler { protected override async _requestFunction(...args: any[]): Promise { check(...args); @@ -782,7 +779,7 @@ describe('CheerioCrawler', () => { throw new Error('Proxy responded with 400 - Bad request'); } - }({ + })({ maxSessionRotations: 2, maxConcurrency: 1, useSessionPool: true, @@ -795,7 +792,9 @@ describe('CheerioCrawler', () => { }); test('proxy rotation on error respects maxSessionRotations, calls failedRequestHandler', async () => { - const proxyConfiguration = new ProxyConfiguration({ proxyUrls: ['http://localhost', 'http://localhost:1234'] }); + const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: ['http://localhost', 'http://localhost:1234'], + }); /** * The first increment is the base case when the proxy is retrieved for the first time. @@ -826,7 +825,8 @@ describe('CheerioCrawler', () => { test('proxy rotation logs the original proxy error', async () => { const proxyConfiguration = new ProxyConfiguration({ proxyUrls: ['http://localhost:1234'] }); - const proxyError = 'Proxy responded with 400 - Bad request. Also, this error message contains some useful payload.'; + const proxyError = + 'Proxy responded with 400 - Bad request. Also, this error message contains some useful payload.'; const crawler = new CheerioCrawler({ proxyConfiguration, @@ -962,7 +962,9 @@ describe('CheerioCrawler', () => { expect(failed.length).toBe(4); failed.forEach((request) => { - expect(request.errorMessages[0].includes(`Request blocked - received ${code} status code`)).toBeTruthy(); + expect( + request.errorMessages[0].includes(`Request blocked - received ${code} status code`), + ).toBeTruthy(); }); } }); @@ -975,11 +977,12 @@ describe('CheerioCrawler', () => { useSessionPool: false, persistCookiesPerSession: true, maxRequestRetries: 0, - requestHandler: () => { - }, + requestHandler: () => {}, }); } catch (e) { - expect((e as Error).message).toEqual('You cannot use "persistCookiesPerSession" without "useSessionPool" set to true.'); + expect((e as Error).message).toEqual( + 'You cannot use "persistCookiesPerSession" without "useSessionPool" set to true.', + ); } }); @@ -987,10 +990,13 @@ describe('CheerioCrawler', () => { const cookie = 'SESSID=abcd123'; const requests: Request[] = []; const crawler = new CheerioCrawler({ - requestList: await getRequestListForMock({ - headers: { 'set-cookie': cookie, 'content-type': 'text/html' }, - statusCode: 200, - }, '/getRawHeaders'), + requestList: await getRequestListForMock( + { + headers: { 'set-cookie': cookie, 'content-type': 'text/html' }, + statusCode: 200, + }, + '/getRawHeaders', + ), useSessionPool: true, persistCookiesPerSession: true, sessionPoolOptions: { @@ -1001,7 +1007,6 @@ describe('CheerioCrawler', () => { requestHandler: ({ request }) => { requests.push(request); }, - }); await crawler.run(); @@ -1018,10 +1023,12 @@ describe('CheerioCrawler', () => { const responses: unknown[] = []; const gotOptions: OptionsInit[] = []; const crawler = new CheerioCrawler({ - requestList: await RequestList.open(null, [{ - url: `${serverAddress}/special/headers`, - headers: { cookie: 'foo=bar2; baz=123' }, - }]), + requestList: await RequestList.open(null, [ + { + url: `${serverAddress}/special/headers`, + headers: { cookie: 'foo=bar2; baz=123' }, + }, + ]), useSessionPool: true, persistCookiesPerSession: false, sessionPoolOptions: { @@ -1030,9 +1037,11 @@ describe('CheerioCrawler', () => { requestHandler: ({ json }) => { responses.push(json); }, - preNavigationHooks: [(_context, options) => { - gotOptions.push(options); - }], + preNavigationHooks: [ + (_context, options) => { + gotOptions.push(options); + }, + ], }); const sessSpy = vitest.spyOn(Session.prototype, 'getCookieString'); @@ -1055,10 +1064,12 @@ describe('CheerioCrawler', () => { test('should work with cookies adjusted on `context.request` in pre-nav hook', async () => { const responses: unknown[] = []; const crawler = new CheerioCrawler({ - requestList: await RequestList.open(null, [{ - url: `${serverAddress}/special/headers`, - headers: { cookie: 'foo=bar2; baz=123' }, - }]), + requestList: await RequestList.open(null, [ + { + url: `${serverAddress}/special/headers`, + headers: { cookie: 'foo=bar2; baz=123' }, + }, + ]), useSessionPool: true, persistCookiesPerSession: false, sessionPoolOptions: { @@ -1067,9 +1078,11 @@ describe('CheerioCrawler', () => { requestHandler: ({ json }) => { responses.push(json); }, - preNavigationHooks: [({ request }) => { - request.headers.Cookie = 'foo=override; coo=kie'; - }], + preNavigationHooks: [ + ({ request }) => { + request.headers.Cookie = 'foo=override; coo=kie'; + }, + ], }); await crawler.run(); @@ -1085,17 +1098,21 @@ describe('CheerioCrawler', () => { const requests: Request[] = []; const responses: unknown[] = []; const crawler = new CheerioCrawler({ - requestList: await RequestList.open(null, [{ - url: `${serverAddress}/special/headers`, - }]), + requestList: await RequestList.open(null, [ + { + url: `${serverAddress}/special/headers`, + }, + ]), useSessionPool: true, requestHandler: async ({ json, request }) => { responses.push(json); requests.push(request); }, - preNavigationHooks: [({ request }) => { - request.headers.Cookie = 'foo=override; coo=kie'; - }], + preNavigationHooks: [ + ({ request }) => { + request.headers.Cookie = 'foo=override; coo=kie'; + }, + ], }); await crawler.run(); @@ -1126,8 +1143,12 @@ describe('CheerioCrawler', () => { ]); expect(cookie2).toBe('Foo=bar1; other=cookie1; coo=kie; foo=bar3; baz=123; Other=cookie2'); expect(deprecatedSpy).toBeCalledTimes(3); - expect(deprecatedSpy).toBeCalledWith(`Found cookies with similar name during cookie merging: 'foo' and 'Foo'`); - expect(deprecatedSpy).toBeCalledWith(`Found cookies with similar name during cookie merging: 'Other' and 'other'`); + expect(deprecatedSpy).toBeCalledWith( + `Found cookies with similar name during cookie merging: 'foo' and 'Foo'`, + ); + expect(deprecatedSpy).toBeCalledWith( + `Found cookies with similar name during cookie merging: 'Other' and 'other'`, + ); deprecatedSpy.mockClear(); const cookie3 = mergeCookies('https://example.com', [ @@ -1137,14 +1158,16 @@ describe('CheerioCrawler', () => { ]); expect(cookie3).toBe('foo=bar2; Other=cookie2; Coo=kie; baz=123; Foo=bar3; coo=kee'); expect(deprecatedSpy).toBeCalledTimes(2); - expect(deprecatedSpy).toBeCalledWith(`Found cookies with similar name during cookie merging: 'Foo' and 'foo'`); - expect(deprecatedSpy).toBeCalledWith(`Found cookies with similar name during cookie merging: 'coo' and 'Coo'`); + expect(deprecatedSpy).toBeCalledWith( + `Found cookies with similar name during cookie merging: 'Foo' and 'foo'`, + ); + expect(deprecatedSpy).toBeCalledWith( + `Found cookies with similar name during cookie merging: 'coo' and 'Coo'`, + ); }); test('should use sessionId in proxyUrl when the session pool is enabled', async () => { - const sourcesNew = [ - { url: 'http://example.com/?q=1' }, - ]; + const sourcesNew = [{ url: 'http://example.com/?q=1' }]; const requestListNew = await RequestList.open({ sources: sourcesNew }); let usedSession: Session; @@ -1262,10 +1285,8 @@ describe('CheerioCrawler', () => { const cheerioCrawler = new CheerioCrawler({ requestList, maxRequestRetries: 0, - requestHandler: () => { - }, - failedRequestHandler: () => { - }, + requestHandler: () => {}, + failedRequestHandler: () => {}, }); expect( // @ts-expect-error Validating JS side checks @@ -1283,10 +1304,9 @@ describe('CheerioCrawler', () => { requestHandler: () => {}, failedRequestHandler: () => {}, }); - expect( - () => cheerioCrawler.use(extension), - ) - .toThrow('DummyExtension tries to set property "doesNotExist" that is not configurable on CheerioCrawler instance.'); + expect(() => cheerioCrawler.use(extension)).toThrow( + 'DummyExtension tries to set property "doesNotExist" that is not configurable on CheerioCrawler instance.', + ); }); test('should override crawler properties', () => { @@ -1298,10 +1318,8 @@ describe('CheerioCrawler', () => { requestList, useSessionPool: false, maxRequestRetries: 0, - requestHandler: () => { - }, - failedRequestHandler: () => { - }, + requestHandler: () => {}, + failedRequestHandler: () => {}, }); // @ts-expect-error Accessing private prop expect(cheerioCrawler.useSessionPool).toEqual(false); diff --git a/test/core/crawlers/crawler_extension.test.ts b/test/core/crawlers/crawler_extension.test.ts index ab7e082d9595..6949953d13b5 100644 --- a/test/core/crawlers/crawler_extension.test.ts +++ b/test/core/crawlers/crawler_extension.test.ts @@ -2,10 +2,12 @@ import { CrawlerExtension } from '@crawlee/core'; describe('CrawlerExtension', () => { test('should work', () => { - class MyExtension extends CrawlerExtension { } + class MyExtension extends CrawlerExtension {} const myExtension = new MyExtension(); expect(myExtension.name).toEqual('MyExtension'); - expect(() => myExtension.getCrawlerOptions()).toThrow(`${myExtension.name} has not implemented "getCrawlerOptions" method.`); + expect(() => myExtension.getCrawlerOptions()).toThrow( + `${myExtension.name} has not implemented "getCrawlerOptions" method.`, + ); expect(myExtension.log.info).toBeDefined(); // @ts-expect-error Accessing private prop expect(myExtension.log.options.prefix).toEqual('MyExtension'); diff --git a/test/core/crawlers/dom_crawler.test.ts b/test/core/crawlers/dom_crawler.test.ts index 2b7e665c1859..1549ce9c5ffb 100644 --- a/test/core/crawlers/dom_crawler.test.ts +++ b/test/core/crawlers/dom_crawler.test.ts @@ -23,10 +23,12 @@ beforeAll(async () => { } }); - await new Promise((resolve) => server.listen(() => { - url = `http://127.0.0.1:${(server.address() as AddressInfo).port}`; - resolve(); - })); + await new Promise((resolve) => + server.listen(() => { + url = `http://127.0.0.1:${(server.address() as AddressInfo).port}`; + resolve(); + }), + ); }); afterAll(async (cb) => { @@ -55,8 +57,5 @@ test('works', async () => { await crawler.run([url]); - expect(results).toStrictEqual([ - 'Example Domain', - 'Hello, world!', - ]); + expect(results).toStrictEqual(['Example Domain', 'Hello, world!']); }); diff --git a/test/core/crawlers/file_download.test.ts b/test/core/crawlers/file_download.test.ts new file mode 100644 index 000000000000..9293efe6fc8a --- /dev/null +++ b/test/core/crawlers/file_download.test.ts @@ -0,0 +1,160 @@ +import type { Server } from 'http'; +import type { AddressInfo } from 'node:net'; +import { Duplex } from 'node:stream'; +import { pipeline } from 'node:stream/promises'; +import { ReadableStream } from 'node:stream/web'; +import { setTimeout } from 'node:timers/promises'; + +import { Configuration, FileDownload } from '@crawlee/http'; +import express from 'express'; +import { startExpressAppPromise } from 'test/shared/_helper'; + +class ReadableStreamGenerator { + private static async generateRandomData(size: number, seed: number) { + const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; + const buffer = Buffer.alloc(size); + for (let i = 0; i < size; i++) { + // eslint-disable-next-line no-bitwise + seed = Math.imul(48271, seed) | (0 % 2147483647); + buffer[i] = chars.charCodeAt(seed % chars.length); + } + return buffer; + } + + static getReadableStream(size: number, seed: number, throttle: number = 0): ReadableStream { + let bytesRead = 0; + const stream = new ReadableStream({ + start: async (controller) => { + while (bytesRead < size) { + const chunkSize = Math.min(size - bytesRead, 1024); + const chunk = await this.generateRandomData(chunkSize, seed); + bytesRead += chunk.length; + controller.enqueue(chunk); + + if (throttle > 0) { + await setTimeout(throttle); + } + } + controller.close(); + }, + }); + + return stream; + } + + static async getBuffer(size: number, seed: number) { + const stream = this.getReadableStream(size, seed); + const chunks: string[] = []; + for await (const chunk of stream) { + chunks.push(chunk); + } + return Buffer.from(chunks.join('')); + } +} + +let url = 'http://localhost'; +let server: Server; +beforeAll(async () => { + const app = express(); + + app.get('/file', async (req, res) => { + const reqUrl = new URL(req.url, 'http://localhost'); + + const size = Number(reqUrl.searchParams.get('size') ?? 1024); + const seed = Number(reqUrl.searchParams.get('seed') ?? 123); + const throttle = Number(reqUrl.searchParams.get('throttle') ?? 0); + + const stream = ReadableStreamGenerator.getReadableStream(size, seed, throttle); + + res.setHeader('content-type', 'application/octet-stream'); + await pipeline(stream, res); + + res.end(); + }); + + server = await startExpressAppPromise(app, 0); + url = `http://localhost:${(server.address() as AddressInfo).port}`; +}); + +afterAll(async () => { + server.close(); +}); + +test('requestHandler works', async () => { + const results: Buffer[] = []; + + const crawler = new FileDownload({ + maxRequestRetries: 0, + requestHandler: ({ body }) => { + results.push(body as Buffer); + }, + }); + + const fileUrl = new URL('/file?size=1024&seed=123', url).toString(); + + await crawler.run([fileUrl]); + + expect(results).toHaveLength(1); + expect(results[0].length).toBe(1024); + expect(results[0]).toEqual(await ReadableStreamGenerator.getBuffer(1024, 123)); +}); + +test('streamHandler works', async () => { + let result: Buffer = Buffer.alloc(0); + + const crawler = new FileDownload({ + maxRequestRetries: 0, + streamHandler: async ({ stream }) => { + for await (const chunk of stream as ReadableStream) { + result = Buffer.concat([result, chunk]); + } + }, + }); + + const fileUrl = new URL('/file?size=1024&seed=456', url).toString(); + + await crawler.run([fileUrl]); + + expect(result.length).toBe(1024); + expect(result).toEqual(await ReadableStreamGenerator.getBuffer(1024, 456)); +}); + +test('crawler with streamHandler waits for the stream to finish', async () => { + const bufferingStream = new Duplex({ + read() {}, + write(chunk, encoding, callback) { + this.push(chunk); + callback(); + }, + }); + + const crawler = new FileDownload({ + maxRequestRetries: 0, + streamHandler: ({ stream }) => { + pipeline(stream as any, bufferingStream) + .then(() => { + bufferingStream.push(null); + bufferingStream.end(); + }) + .catch((e) => { + bufferingStream.destroy(e); + }); + }, + }); + + // waits for a second after every kilobyte sent. + const fileUrl = new URL(`/file?size=${5 * 1024}&seed=789&throttle=1000`, url).toString(); + await crawler.run([fileUrl]); + + // the stream should be finished once the crawler finishes. + expect(bufferingStream.writableFinished).toBe(true); + + const bufferedData: Buffer[] = []; + for await (const chunk of bufferingStream) { + bufferedData.push(chunk); + } + const result = Buffer.concat(bufferedData); + + expect(result.length).toBe(5 * 1024); + expect(result).toEqual(await ReadableStreamGenerator.getBuffer(5 * 1024, 789)); +}); diff --git a/test/core/crawlers/http_crawler.test.ts b/test/core/crawlers/http_crawler.test.ts index b8678713e0d7..513c8bbf3281 100644 --- a/test/core/crawlers/http_crawler.test.ts +++ b/test/core/crawlers/http_crawler.test.ts @@ -71,10 +71,12 @@ beforeAll(async () => { } }); - await new Promise((resolve) => server.listen(() => { - url = `http://127.0.0.1:${(server.address() as AddressInfo).port}`; - resolve(); - })); + await new Promise((resolve) => + server.listen(() => { + url = `http://127.0.0.1:${(server.address() as AddressInfo).port}`; + resolve(); + }), + ); }); afterAll(async () => { @@ -218,9 +220,7 @@ test('handles cookies from redirects', async () => { await crawler.run([`${url}/redirectAndCookies`]); - expect(results).toStrictEqual([ - 'foo=bar', - ]); + expect(results).toStrictEqual(['foo=bar']); }); test('handles cookies from redirects - no empty cookie header', async () => { @@ -337,10 +337,12 @@ test('should work with delete requests', async () => { }, }); - await cheerioCrawler.run([{ - url: `${url}`, - method: 'DELETE', - }]); + await cheerioCrawler.run([ + { + url: `${url}`, + method: 'DELETE', + }, + ]); expect(failed).toHaveLength(0); }); @@ -351,15 +353,17 @@ test('should retry on 403 even with disallowed content-type', async () => { const crawler = new HttpCrawler({ maxConcurrency: 1, maxRequestRetries: 1, - preNavigationHooks: [async ({ request }) => { - // mock 403 response with octet stream on first request attempt, but not on - // subsequent retries, so the request should eventually succeed - if (request.retryCount === 0) { - request.url = `${url}/403-with-octet-stream`; - } else { - request.url = url; - } - }], + preNavigationHooks: [ + async ({ request }) => { + // mock 403 response with octet stream on first request attempt, but not on + // subsequent retries, so the request should eventually succeed + if (request.retryCount === 0) { + request.url = `${url}/403-with-octet-stream`; + } else { + request.url = url; + } + }, + ], requestHandler: async ({ request }) => { succeeded.push(request); }, diff --git a/test/core/crawlers/playwright_crawler.test.ts b/test/core/crawlers/playwright_crawler.test.ts index 5d2c5282b3f9..5ba46d62a2c9 100644 --- a/test/core/crawlers/playwright_crawler.test.ts +++ b/test/core/crawlers/playwright_crawler.test.ts @@ -3,15 +3,8 @@ import type { AddressInfo } from 'net'; import os from 'os'; import log from '@apify/log'; -import type { - PlaywrightGotoOptions, - PlaywrightRequestHandler, - Request, -} from '@crawlee/playwright'; -import { - PlaywrightCrawler, - RequestList, -} from '@crawlee/playwright'; +import type { PlaywrightGotoOptions, PlaywrightRequestHandler, Request } from '@crawlee/playwright'; +import { PlaywrightCrawler, RequestList } from '@crawlee/playwright'; import express from 'express'; import playwright from 'playwright'; import { MemoryStorageEmulator } from 'test/shared/MemoryStorageEmulator'; @@ -124,11 +117,12 @@ describe('PlaywrightCrawler', () => { requestList, maxRequestRetries: 0, maxConcurrency: 1, - requestHandler: () => { - }, - preNavigationHooks: [(_context, gotoOptions) => { - options = gotoOptions; - }], + requestHandler: () => {}, + preNavigationHooks: [ + (_context, gotoOptions) => { + options = gotoOptions; + }, + ], navigationTimeoutSecs: timeoutSecs, }); diff --git a/test/core/crawlers/puppeteer_crawler.test.ts b/test/core/crawlers/puppeteer_crawler.test.ts index a8f762147f07..140215ff6c80 100644 --- a/test/core/crawlers/puppeteer_crawler.test.ts +++ b/test/core/crawlers/puppeteer_crawler.test.ts @@ -6,18 +6,8 @@ import os from 'os'; import { promisify } from 'util'; import log from '@apify/log'; -import type { - PuppeteerCrawlingContext, - PuppeteerGoToOptions, - Request, -} from '@crawlee/puppeteer'; -import { - ProxyConfiguration, - PuppeteerCrawler, - RequestList, - RequestQueue, - Session, -} from '@crawlee/puppeteer'; +import type { PuppeteerCrawlingContext, PuppeteerGoToOptions, Request } from '@crawlee/puppeteer'; +import { ProxyConfiguration, PuppeteerCrawler, RequestList, RequestQueue, Session } from '@crawlee/puppeteer'; import type { Cookie } from '@crawlee/types'; import { sleep } from '@crawlee/utils'; import type { Server as ProxyChainServer } from 'proxy-chain'; @@ -106,7 +96,12 @@ describe('PuppeteerCrawler', () => { asserts.push(response.status() === 200); request.userData.title = await page.title(); processed.push(request); - asserts.push(!response.request().headers()['user-agent'].match(/headless/i)); + asserts.push( + !response + .request() + .headers() + ['user-agent'].match(/headless/i), + ); asserts.push(!(await page.evaluate(() => window.navigator.webdriver))); }; @@ -145,9 +140,11 @@ describe('PuppeteerCrawler', () => { maxRequestRetries: 0, maxConcurrency: 1, requestHandler: () => {}, - preNavigationHooks: [(_context, gotoOptions) => { - options = gotoOptions; - }], + preNavigationHooks: [ + (_context, gotoOptions) => { + options = gotoOptions; + }, + ], navigationTimeoutSecs: timeoutSecs, }); @@ -157,7 +154,8 @@ describe('PuppeteerCrawler', () => { test('should throw if launchOptions.proxyUrl is supplied', async () => { try { - new PuppeteerCrawler({ //eslint-disable-line + // eslint-disable-next-line + new PuppeteerCrawler({ requestList, maxRequestRetries: 0, maxConcurrency: 1, @@ -167,7 +165,9 @@ describe('PuppeteerCrawler', () => { requestHandler: () => {}, }); } catch (e) { - expect((e as Error).message).toMatch('PuppeteerCrawlerOptions.launchContext.proxyUrl is not allowed in PuppeteerCrawler.'); + expect((e as Error).message).toMatch( + 'PuppeteerCrawlerOptions.launchContext.proxyUrl is not allowed in PuppeteerCrawler.', + ); } expect.hasAssertions(); @@ -250,26 +250,14 @@ describe('PuppeteerCrawler', () => { expect(requestHandler).not.toBeCalled(); const warnings = logWarningSpy.mock.calls.map((call) => [call[0].split('\n')[0], call[1].retryCount]); expect(warnings).toEqual([ - [ - 'Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', - 1, - ], - [ - 'Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', - 2, - ], - [ - 'Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', - 3, - ], + ['Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', 1], + ['Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', 2], + ['Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', 3], ]); const errors = logErrorSpy.mock.calls.map((call) => [call[0], call[1].retryCount]); expect(errors).toEqual([ - [ - 'Request failed and reached maximum retries. Navigation timed out after 0.005 seconds.', - undefined, - ], + ['Request failed and reached maximum retries. Navigation timed out after 0.005 seconds.', undefined], ]); }); @@ -307,26 +295,14 @@ describe('PuppeteerCrawler', () => { expect(requestHandler).not.toBeCalled(); const warnings = logWarningSpy.mock.calls.map((call) => [call[0].split('\n')[0], call[1].retryCount]); expect(warnings).toEqual([ - [ - 'Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', - 1, - ], - [ - 'Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', - 2, - ], - [ - 'Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', - 3, - ], + ['Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', 1], + ['Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', 2], + ['Reclaiming failed request back to the list or queue. Navigation timed out after 0.005 seconds.', 3], ]); const errors = logErrorSpy.mock.calls.map((call) => [call[0], call[1].retryCount]); expect(errors).toEqual([ - [ - 'Request failed and reached maximum retries. Navigation timed out after 0.005 seconds.', - undefined, - ], + ['Request failed and reached maximum retries. Navigation timed out after 0.005 seconds.', undefined], ]); }); diff --git a/test/core/enqueue_links/click_elements.test.ts b/test/core/enqueue_links/click_elements.test.ts index c55798a27fd6..07f407d46b15 100644 --- a/test/core/enqueue_links/click_elements.test.ts +++ b/test/core/enqueue_links/click_elements.test.ts @@ -53,12 +53,7 @@ const testCases = [ }, ]; -testCases.forEach(({ - caseName, - launchBrowser, - clickElements, - utils, -}) => { +testCases.forEach(({ caseName, launchBrowser, clickElements, utils }) => { describe(`${caseName}: enqueueLinksByClickingElements()`, () => { let browser: PPBrowser | PWBrowser; let server: Server; @@ -106,7 +101,7 @@ testCases.forEach(({ return request; }, waitForPageIdleSecs: 0.025, - maxWaitForPageIdleSecs: 0.250, + maxWaitForPageIdleSecs: 0.25, }); expect(enqueued).toHaveLength(1); expect(enqueued[0].url).toMatch(`${serverAddress}/`); @@ -115,7 +110,7 @@ testCases.forEach(({ }); test('accepts forefront option', async () => { - const addedRequests: {request: Source; options: RequestQueueOperationOptions}[] = []; + const addedRequests: { request: Source; options: RequestQueueOperationOptions }[] = []; const requestQueue = new RequestQueue({ id: 'xxx', client: Configuration.getStorageClient() }); requestQueue.addRequests = async (requests, options) => { addedRequests.push(...requests.map((request) => ({ request, options }))); @@ -137,7 +132,7 @@ testCases.forEach(({ requestQueue, selector: 'a', waitForPageIdleSecs: 0.025, - maxWaitForPageIdleSecs: 0.250, + maxWaitForPageIdleSecs: 0.25, forefront: true, }); expect(addedRequests).toHaveLength(2); @@ -337,10 +332,7 @@ testCases.forEach(({ expect( await page.evaluate(() => { const textarea = document.querySelector('textarea'); - return textarea.value.substring( - textarea.selectionStart, - textarea.selectionEnd, - ); + return textarea.value.substring(textarea.selectionStart, textarea.selectionEnd); }), ).toBe(text); }); @@ -366,9 +358,11 @@ testCases.forEach(({ `; await page.setContent(html); - const interceptedRequests = await clickElements.clickElementsAndInterceptNavigationRequests(getOpts({ - selector: 'a', - })); + const interceptedRequests = await clickElements.clickElementsAndInterceptNavigationRequests( + getOpts({ + selector: 'a', + }), + ); expect(interceptedRequests).toHaveLength(1); expect(interceptedRequests[0].url).toMatch(`${serverAddress}/`); expect(page.url()).toBe('about:blank'); @@ -503,7 +497,8 @@ testCases.forEach(({ }; (browser as PPBrowser).on('targetcreated', (target) => { counts.create++; - if ((clickElements as typeof puppeteerClickElements).isTargetRelevant(page, target)) spawnedTarget = target; + if ((clickElements as typeof puppeteerClickElements).isTargetRelevant(page, target)) + spawnedTarget = target; }); browser.on('targetdestroyed', (target) => { counts.destroy++; @@ -525,10 +520,16 @@ testCases.forEach(({ }); } - clickElements.clickElementsAndInterceptNavigationRequests(getOpts({ - waitForPageIdleMillis: 1000, - maxWaitForPageIdleMillis: 5000, - })).catch(() => { /* will throw because afterEach will close the page */ }); + clickElements + .clickElementsAndInterceptNavigationRequests( + getOpts({ + waitForPageIdleMillis: 1000, + maxWaitForPageIdleMillis: 5000, + }), + ) + .catch(() => { + /* will throw because afterEach will close the page */ + }); }); expect(callCounts.create).toBe(1); @@ -546,10 +547,12 @@ testCases.forEach(({ `; await page.setContent(html); - const interceptedRequests = await clickElements.clickElementsAndInterceptNavigationRequests(getOpts({ - waitForPageIdleMillis: 1000, - maxWaitForPageIdleMillis: 5000, - })); + const interceptedRequests = await clickElements.clickElementsAndInterceptNavigationRequests( + getOpts({ + waitForPageIdleMillis: 1000, + maxWaitForPageIdleMillis: 5000, + }), + ); await new Promise((r) => setTimeout(r, 1000)); expect(interceptedRequests).toHaveLength(1); expect(interceptedRequests[0].url).toBe(`${serverAddress}/`); diff --git a/test/core/enqueue_links/enqueue_links.test.ts b/test/core/enqueue_links/enqueue_links.test.ts index bbbecc95e8a5..420889a6d955 100644 --- a/test/core/enqueue_links/enqueue_links.test.ts +++ b/test/core/enqueue_links/enqueue_links.test.ts @@ -67,15 +67,12 @@ describe('enqueueLinks()', () => { log.setLevel(ll); }); - describe.each([ - [launchPuppeteer], - [launchPlaywright], - ] as const)('using %s', (method) => { + describe.each([[launchPuppeteer], [launchPlaywright]] as const)('using %s', (method) => { let browser: PuppeteerBrowser | PlaywrightBrowser; let page: PuppeteerPage | PlaywrightPage; beforeEach(async () => { - browser = await method({ launchOptions: { headless: true } }) as PlaywrightBrowser | PuppeteerBrowser; + browser = (await method({ launchOptions: { headless: true } })) as PlaywrightBrowser | PuppeteerBrowser; page = await browser.newPage(); await page.setContent(HTML); }); @@ -114,10 +111,7 @@ describe('enqueueLinks()', () => { test('works with globs', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const globs = [ - 'https://example.com/**/*', - { glob: '?(http|https)://cool.com/', method: 'POST' as const }, - ]; + const globs = ['https://example.com/**/*', { glob: '?(http|https)://cool.com/', method: 'POST' as const }]; await browserCrawlerEnqueueLinks({ options: { @@ -162,12 +156,14 @@ describe('enqueueLinks()', () => { { glob: '?(http|https)://cool.com/', method: 'POST' as const }, ]; - await expect(browserCrawlerEnqueueLinks({ - options: { selector: '.click', globs }, - page, - requestQueue, - originalRequestUrl: 'https://example.com', - })).resolves.not.toThrow(); + await expect( + browserCrawlerEnqueueLinks({ + options: { selector: '.click', globs }, + page, + requestQueue, + originalRequestUrl: 'https://example.com', + }), + ).resolves.not.toThrow(); expect(enqueued).toHaveLength(3); }); @@ -232,10 +228,7 @@ describe('enqueueLinks()', () => { test('works with exclude glob', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const globs = [ - 'https://example.com/**/*', - { glob: '?(http|https)://cool.com/', method: 'POST' as const }, - ]; + const globs = ['https://example.com/**/*', { glob: '?(http|https)://cool.com/', method: 'POST' as const }]; const exclude = ['**/first']; @@ -273,10 +266,7 @@ describe('enqueueLinks()', () => { test('works with exclude regexp', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const globs = [ - 'https://example.com/**/*', - { glob: '?(http|https)://cool.com/', method: 'POST' as const }, - ]; + const globs = ['https://example.com/**/*', { glob: '?(http|https)://cool.com/', method: 'POST' as const }]; const exclude = [/first/]; @@ -353,18 +343,17 @@ describe('enqueueLinks()', () => { test('throws with RegExp pseudoUrls', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const pseudoUrls = [ - /https:\/\/example\.com\/(\w|-|\/)*/, - /(http|https):\/\/cool\.com\//, - ]; + const pseudoUrls = [/https:\/\/example\.com\/(\w|-|\/)*/, /(http|https):\/\/cool\.com\//]; - await expect(browserCrawlerEnqueueLinks({ - // @ts-expect-error Type 'RegExp[]' is not assignable to type 'PseudoUrlInput[]' - options: { selector: '.click', pseudoUrls }, - page, - requestQueue, - originalRequestUrl: 'https://example.com', - })).rejects.toThrow(/to be of type `string` but received type `RegExp`/); + await expect( + browserCrawlerEnqueueLinks({ + // @ts-expect-error Type 'RegExp[]' is not assignable to type 'PseudoUrlInput[]' + options: { selector: '.click', pseudoUrls }, + page, + requestQueue, + originalRequestUrl: 'https://example.com', + }), + ).rejects.toThrow(/to be of type `string` but received type `RegExp`/); }); test('works with undefined pseudoUrls[]', async () => { @@ -398,12 +387,14 @@ describe('enqueueLinks()', () => { test('throws with null pseudoUrls[]', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - await expect(browserCrawlerEnqueueLinks({ - options: { selector: '.click', pseudoUrls: null }, - page, - requestQueue, - originalRequestUrl: 'https://example.com', - })).rejects.toThrow(/Expected property `pseudoUrls` to be of type `array` but received type `null`/); + await expect( + browserCrawlerEnqueueLinks({ + options: { selector: '.click', pseudoUrls: null }, + page, + requestQueue, + originalRequestUrl: 'https://example.com', + }), + ).rejects.toThrow(/Expected property `pseudoUrls` to be of type `array` but received type `null`/); }); test('works with empty pseudoUrls[]', async () => { @@ -436,18 +427,16 @@ describe('enqueueLinks()', () => { test('throws with sparse pseudoUrls[]', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const pseudoUrls = [ - 'https://example.com/[(\\w|-|/)*]', - null, - '[http|https]://cool.com/', - ]; - - await expect(browserCrawlerEnqueueLinks({ - options: { selector: '.click', pseudoUrls }, - page, - requestQueue, - originalRequestUrl: 'https://example.com', - })).rejects.toThrow(/\(array `pseudoUrls`\) Any predicate failed with the following errors/); + const pseudoUrls = ['https://example.com/[(\\w|-|/)*]', null, '[http|https]://cool.com/']; + + await expect( + browserCrawlerEnqueueLinks({ + options: { selector: '.click', pseudoUrls }, + page, + requestQueue, + originalRequestUrl: 'https://example.com', + }), + ).rejects.toThrow(/\(array `pseudoUrls`\) Any predicate failed with the following errors/); expect(enqueued).toHaveLength(0); }); @@ -542,10 +531,7 @@ describe('enqueueLinks()', () => { test('correctly works with transformRequestFunction', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const pseudoUrls = [ - 'https://example.com/[(\\w|-|/)*]', - '[http|https]://cool.com/', - ]; + const pseudoUrls = ['https://example.com/[(\\w|-|/)*]', '[http|https]://cool.com/']; await browserCrawlerEnqueueLinks({ options: { @@ -639,12 +625,14 @@ describe('enqueueLinks()', () => { { glob: ' ' }, ]; - await expect(cheerioCrawlerEnqueueLinks({ - options: { selector: '.click', globs }, - $, - requestQueue, - originalRequestUrl: 'https://example.com', - })).resolves.not.toThrow(); + await expect( + cheerioCrawlerEnqueueLinks({ + options: { selector: '.click', globs }, + $, + requestQueue, + originalRequestUrl: 'https://example.com', + }), + ).resolves.not.toThrow(); expect(enqueued).toHaveLength(3); }); @@ -728,18 +716,17 @@ describe('enqueueLinks()', () => { test('throws with RegExp pseudoUrls', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const pseudoUrls = [ - /https:\/\/example\.com\/(\w|-|\/)*/, - /(http|https):\/\/cool\.com\//, - ]; + const pseudoUrls = [/https:\/\/example\.com\/(\w|-|\/)*/, /(http|https):\/\/cool\.com\//]; - await expect(cheerioCrawlerEnqueueLinks({ - // @ts-expect-error Type 'RegExp[]' is not assignable to type 'PseudoUrlInput[]' - options: { selector: '.click', pseudoUrls }, - $, - requestQueue, - originalRequestUrl: 'https://example.com', - })).rejects.toThrow(/to be of type `string` but received type `RegExp`/); + await expect( + cheerioCrawlerEnqueueLinks({ + // @ts-expect-error Type 'RegExp[]' is not assignable to type 'PseudoUrlInput[]' + options: { selector: '.click', pseudoUrls }, + $, + requestQueue, + originalRequestUrl: 'https://example.com', + }), + ).rejects.toThrow(/to be of type `string` but received type `RegExp`/); }); test('works with undefined pseudoUrls[]', async () => { @@ -772,12 +759,14 @@ describe('enqueueLinks()', () => { test('throws with null pseudoUrls[]', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - await expect(cheerioCrawlerEnqueueLinks({ - options: { selector: '.click', pseudoUrls: null }, - $, - requestQueue, - originalRequestUrl: 'https://example.com', - })).rejects.toThrow(/Expected property `pseudoUrls` to be of type `array` but received type `null`/); + await expect( + cheerioCrawlerEnqueueLinks({ + options: { selector: '.click', pseudoUrls: null }, + $, + requestQueue, + originalRequestUrl: 'https://example.com', + }), + ).rejects.toThrow(/Expected property `pseudoUrls` to be of type `array` but received type `null`/); }); test('works with empty pseudoUrls[]', async () => { @@ -810,18 +799,16 @@ describe('enqueueLinks()', () => { test('throws with sparse pseudoUrls[]', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const pseudoUrls = [ - 'https://example.com/[(\\w|-|/)*]', - null, - '[http|https]://cool.com/', - ]; - - await expect(cheerioCrawlerEnqueueLinks({ - options: { selector: '.click', pseudoUrls }, - $, - requestQueue, - originalRequestUrl: 'https://example.com', - })).rejects.toThrow(/\(array `pseudoUrls`\) Any predicate failed with the following errors/); + const pseudoUrls = ['https://example.com/[(\\w|-|/)*]', null, '[http|https]://cool.com/']; + + await expect( + cheerioCrawlerEnqueueLinks({ + options: { selector: '.click', pseudoUrls }, + $, + requestQueue, + originalRequestUrl: 'https://example.com', + }), + ).rejects.toThrow(/\(array `pseudoUrls`\) Any predicate failed with the following errors/); expect(enqueued).toHaveLength(0); }); @@ -938,10 +925,7 @@ describe('enqueueLinks()', () => { test('correctly works with transformRequestFunction', async () => { const { enqueued, requestQueue } = createRequestQueueMock(); - const pseudoUrls = [ - 'https://example.com/[(\\w|-|/)*]', - '[http|https]://cool.com/', - ]; + const pseudoUrls = ['https://example.com/[(\\w|-|/)*]', '[http|https]://cool.com/']; await cheerioCrawlerEnqueueLinks({ options: { diff --git a/test/core/enqueue_links/shared.test.ts b/test/core/enqueue_links/shared.test.ts index a0f13905d55f..3f0fd3239652 100644 --- a/test/core/enqueue_links/shared.test.ts +++ b/test/core/enqueue_links/shared.test.ts @@ -88,7 +88,9 @@ describe('Enqueue links shared functions', () => { }; const requestOptions = createRequestOptions(sources); - const requests = createRequests(requestOptions, urlPatternObjects).map(transformRequestFunction).filter((r) => !!r); + const requests = createRequests(requestOptions, urlPatternObjects) + .map(transformRequestFunction) + .filter((r) => !!r); expect(requests).toHaveLength(2); requests.forEach((r) => { @@ -106,7 +108,9 @@ describe('Enqueue links shared functions', () => { const globPattern = 'https://example.com/**/*'; expect(() => validateGlobPattern(globPattern)).not.toThrow(); const emptyGlobPattern = ''; - expect(() => validateGlobPattern(emptyGlobPattern)).toThrow(/Cannot parse Glob pattern '': it must be an non-empty string/); + expect(() => validateGlobPattern(emptyGlobPattern)).toThrow( + /Cannot parse Glob pattern '': it must be an non-empty string/, + ); }); }); }); diff --git a/test/core/error_tracker.test.ts b/test/core/error_tracker.test.ts index d51dec7e8a00..4d5bba5b950e 100644 --- a/test/core/error_tracker.test.ts +++ b/test/core/error_tracker.test.ts @@ -1,7 +1,4 @@ -/* eslint-disable no-multi-spaces */ -import exp from 'node:constants'; - -import { ErrorTracker } from '../../packages/utils/src/internals/error_tracker'; +import { ErrorTracker } from '../../packages/core/src/crawlers/error_tracker'; const random = () => Math.random().toString(36).slice(2); @@ -20,7 +17,11 @@ const s = (stack: string) => { const atIndex = stack.indexOf('at '); const index = evalIndex === -1 ? atIndex : evalIndex; - return stack.slice(index).split('\n').map((line) => line.trim()).join('\n'); + return stack + .slice(index) + .split('\n') + .map((line) => line.trim()) + .join('\n'); }; // A case for @@ -100,10 +101,14 @@ test('works', () => { tracker.add(g(e)); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - [e.code]: { // code - [e.name]: { // name - [e.message]: { // message + 'myscript.js:10:3': { + // source + [e.code]: { + // code + [e.name]: { + // name + [e.message]: { + // message count: 1, }, }, @@ -115,10 +120,14 @@ test('works', () => { tracker.add(g(e)); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - [e.code]: { // code - [e.name]: { // name - [e.message]: { // message + 'myscript.js:10:3': { + // source + [e.code]: { + // code + [e.name]: { + // name + [e.message]: { + // message count: 2, }, }, @@ -144,10 +153,14 @@ test('no code is null code', () => { tracker.add(g(e)); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - 'missing error code': { // code - [e.name]: { // name - [e.message]: { // message + 'myscript.js:10:3': { + // source + 'missing error code': { + // code + [e.name]: { + // name + [e.message]: { + // message count: 2, }, }, @@ -173,9 +186,12 @@ test('can hide error code', () => { tracker.add(g(errorRandomCode)); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - [e.name]: { // name - [e.message]: { // message + 'myscript.js:10:3': { + // source + [e.name]: { + // name + [e.message]: { + // message count: 2, }, }, @@ -200,9 +216,12 @@ test('can hide error name', () => { tracker.add(g(e)); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - [e.code]: { // code - [e.message]: { // message + 'myscript.js:10:3': { + // source + [e.code]: { + // code + [e.message]: { + // message count: 2, }, }, @@ -227,9 +246,12 @@ test('can hide error message', () => { tracker.add(g(errorRandomMessage)); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - [e.code]: { // code - [e.name]: { // name + 'myscript.js:10:3': { + // source + [e.code]: { + // code + [e.name]: { + // name count: 2, }, }, @@ -252,9 +274,12 @@ test('can hide error stack', () => { tracker.add(g(errorRandomStack)); expect(tracker.result).toMatchObject({ - 'ERR_INVALID_URL': { // code - 'TypeError': { // name - 'Invalid URL': { // message + 'ERR_INVALID_URL': { + // code + 'TypeError': { + // name + 'Invalid URL': { + // message count: 2, }, }, @@ -279,10 +304,14 @@ test('can display full stack', () => { tracker.add(g(e)); expect(tracker.result).toMatchObject({ - [s(e.stack)]: { // source - [e.code]: { // code - [e.name]: { // name - [e.message]: { // message + [s(e.stack)]: { + // source + [e.code]: { + // code + [e.name]: { + // name + [e.message]: { + // message count: 2, }, }, @@ -308,10 +337,14 @@ test('stack looks for user files first', () => { tracker.add(g(e)); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - [e.code]: { // code - [e.name]: { // name - [e.message]: { // message + 'myscript.js:10:3': { + // source + [e.code]: { + // code + [e.name]: { + // name + [e.message]: { + // message count: 2, }, }, @@ -336,10 +369,14 @@ test('can shorten the message to the first line', () => { tracker.add(e); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - [e.code]: { // code - [e.name]: { // name - [e.message.split('\n')[0]]: { // message + 'myscript.js:10:3': { + // source + [e.code]: { + // code + [e.name]: { + // name + [e.message.split('\n')[0]]: { + // message count: 1, }, }, @@ -365,10 +402,14 @@ test('supports error.cause', () => { tracker.add(e); expect(tracker.result).toMatchObject({ - 'myscript.js:10:3': { // source - [e.code]: { // code - [e.name]: { // name - [e.message.split('\n')[0]]: { // message + 'myscript.js:10:3': { + // source + [e.code]: { + // code + [e.name]: { + // name + [e.message.split('\n')[0]]: { + // message count: 1, }, [e.cause.message]: { @@ -407,10 +448,14 @@ test('placeholder #1', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - 'Expected boolean, got _': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + 'Expected boolean, got _': { + // message count: 3, }, }, @@ -446,10 +491,14 @@ test('placeholder #2', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - 'Expected `boolean`, got _': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + 'Expected `boolean`, got _': { + // message count: 3, }, }, @@ -485,10 +534,14 @@ test('placeholder #3', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - '1 _ 3': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + '1 _ 3': { + // message count: 3, }, }, @@ -524,10 +577,14 @@ test('placeholder #4', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - '1 2 _': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + '1 2 _': { + // message count: 3, }, }, @@ -563,10 +620,14 @@ test('placeholder #5', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - '_ 2 3': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + '_ 2 3': { + // message count: 3, }, }, @@ -602,10 +663,14 @@ test('placeholder #6', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - 'The weather is _ today, _ the grass is _': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + 'The weather is _ today, _ the grass is _': { + // message count: 3, }, }, @@ -636,10 +701,14 @@ test('placeholder #7', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - 'Expected `boolean`, got `number`': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + 'Expected `boolean`, got `number`': { + // message count: 2, }, }, @@ -654,10 +723,14 @@ test('placeholder #7', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - 'Expected `boolean`, got _': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + 'Expected `boolean`, got _': { + // message count: 3, }, }, @@ -688,10 +761,14 @@ test('placeholder #8', () => { }); expect(tracker.result).toMatchObject({ - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - 'Expected `boolean`, got `number`': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + 'Expected `boolean`, got `number`': { + // message count: 1, }, 'Expected `string`, got `null`': { @@ -725,10 +802,14 @@ test('placeholder #9', () => { }); const expected = { - 'missing stack trace': { // source - 'missing error code': { // code - Error: { // name - 'Unexpected `show` property in `options` object': { // message + 'missing stack trace': { + // source + 'missing error code': { + // code + Error: { + // name + 'Unexpected `show` property in `options` object': { + // message count: 1, }, 'Missing `display` in style': { diff --git a/test/core/playwright_utils.test.ts b/test/core/playwright_utils.test.ts index cd0bdb49e28a..cdaf1e35ab90 100644 --- a/test/core/playwright_utils.test.ts +++ b/test/core/playwright_utils.test.ts @@ -49,7 +49,9 @@ describe('playwrightUtils', () => { // @ts-expect-error let result = await page.evaluate(() => window.injectedVariable === 42); expect(result).toBe(false); - await playwrightUtils.injectFile(page, path.join(__dirname, '..', 'shared', 'data', 'inject_file.txt'), { surviveNavigations: true }); + await playwrightUtils.injectFile(page, path.join(__dirname, '..', 'shared', 'data', 'inject_file.txt'), { + surviveNavigations: true, + }); // @ts-expect-error result = await page.evaluate(() => window.injectedVariable); expect(result).toBe(42); @@ -189,11 +191,13 @@ describe('playwrightUtils', () => { }); page.on('response', (response) => loadedUrls.push(response.url())); await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'networkidle' }); - expect(loadedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/image.png`, - `${serverAddress}/script.js`, - `${serverAddress}/image.gif`, - ])); + expect(loadedUrls).toEqual( + expect.arrayContaining([ + `${serverAddress}/image.png`, + `${serverAddress}/script.js`, + `${serverAddress}/image.gif`, + ]), + ); }); }); @@ -224,7 +228,7 @@ describe('playwrightUtils', () => { describe('infiniteScroll()', () => { function isAtBottom() { - return (window.innerHeight + window.pageYOffset) >= document.body.offsetHeight; + return window.innerHeight + window.pageYOffset >= document.body.offsetHeight; } let browser: Browser; @@ -239,9 +243,11 @@ describe('playwrightUtils', () => { beforeEach(async () => { page = await browser.newPage(); let count = 0; - const content = Array(1000).fill(null).map(() => { - return `
Div number: ${count++}
`; - }); + const content = Array(1000) + .fill(null) + .map(() => { + return `
Div number: ${count++}
`; + }); const contentHTML = `${content}`; await page.setContent(contentHTML); }); @@ -296,7 +302,8 @@ describe('playwrightUtils', () => { try { const page = await browser.newPage(); - const contentHTML = '
Div number: 1
'; + const contentHTML = + '
Div number: 1
'; await page.setContent(contentHTML); const screenshot = await page.screenshot({ fullPage: true, type: 'jpeg', quality: 60 }); @@ -304,7 +311,11 @@ describe('playwrightUtils', () => { // Test saving both image and html const object = { setValue: vitest.fn() }; openKVSSpy.mockResolvedValue(object as any); - await playwrightUtils.saveSnapshot(page, { key: 'TEST', keyValueStoreName: 'TEST-STORE', screenshotQuality: 60 }); + await playwrightUtils.saveSnapshot(page, { + key: 'TEST', + keyValueStoreName: 'TEST-STORE', + screenshotQuality: 60, + }); expect(object.setValue).toBeCalledWith('TEST.jpg', screenshot, { contentType: 'image/jpeg' }); expect(object.setValue).toBeCalledWith('TEST.html', contentHTML, { contentType: 'text/html' }); diff --git a/test/core/proxy_configuration.test.ts b/test/core/proxy_configuration.test.ts index e4ead04d30f6..205ca386a967 100644 --- a/test/core/proxy_configuration.test.ts +++ b/test/core/proxy_configuration.test.ts @@ -40,8 +40,14 @@ describe('ProxyConfiguration', () => { }); test('newUrlFunction should correctly generate URLs', async () => { - const customUrls = ['http://proxy.com:1111', 'http://proxy.com:2222', 'http://proxy.com:3333', - 'http://proxy.com:4444', 'http://proxy.com:5555', 'http://proxy.com:6666']; + const customUrls = [ + 'http://proxy.com:1111', + 'http://proxy.com:2222', + 'http://proxy.com:3333', + 'http://proxy.com:4444', + 'http://proxy.com:5555', + 'http://proxy.com:6666', + ]; const newUrlFunction = () => { return customUrls.pop(); }; @@ -61,8 +67,14 @@ describe('ProxyConfiguration', () => { }); test('async newUrlFunction should work correctly', async () => { - const customUrls = ['http://proxy.com:1111', 'http://proxy.com:2222', 'http://proxy.com:3333', - 'http://proxy.com:4444', 'http://proxy.com:5555', 'http://proxy.com:6666']; + const customUrls = [ + 'http://proxy.com:1111', + 'http://proxy.com:2222', + 'http://proxy.com:3333', + 'http://proxy.com:4444', + 'http://proxy.com:5555', + 'http://proxy.com:6666', + ]; const newUrlFunction = async () => { await new Promise((r) => setTimeout(r, 5)); return customUrls.pop(); @@ -197,11 +209,7 @@ describe('ProxyConfiguration', () => { test('rotating a request results in higher-level proxies', async () => { const proxyConfiguration = new ProxyConfiguration({ - tieredProxyUrls: [ - ['http://proxy.com:1111'], - ['http://proxy.com:2222'], - ['http://proxy.com:3333'], - ], + tieredProxyUrls: [['http://proxy.com:1111'], ['http://proxy.com:2222'], ['http://proxy.com:3333']], }); const request = new Request({ @@ -223,11 +231,7 @@ describe('ProxyConfiguration', () => { }); test('upshifts and downshifts properly', async () => { - const tieredProxyUrls = [ - ['http://proxy.com:1111'], - ['http://proxy.com:2222'], - ['http://proxy.com:3333'], - ]; + const tieredProxyUrls = [['http://proxy.com:1111'], ['http://proxy.com:2222'], ['http://proxy.com:3333']]; const proxyConfiguration = new ProxyConfiguration({ tieredProxyUrls, @@ -244,12 +248,11 @@ describe('ProxyConfiguration', () => { gotToTheHighestProxy = true; break; } - request.sessionRotationCount++; } expect(gotToTheHighestProxy).toBe(true); - // now let's go back down + // Even the highest-tier proxies didn't help - we should try going down let gotToTheLowestProxy = false; for (let i = 0; i < 20; i++) { @@ -258,7 +261,45 @@ describe('ProxyConfiguration', () => { gotToTheLowestProxy = true; break; } - // We don't increment the sessionRotationCount here - this causes the proxy tier to go down (current proxy is ok, so it tries to downshift in some time) + } + + expect(gotToTheLowestProxy).toBe(true); + }); + + test('successful requests make the proxy tier drop eventually', async () => { + const tieredProxyUrls = [['http://proxy.com:1111'], ['http://proxy.com:2222'], ['http://proxy.com:3333']]; + + const proxyConfiguration = new ProxyConfiguration({ + tieredProxyUrls, + }); + + const failingRequest = new Request({ + url: 'http://example.com', + }); + let gotToTheHighestProxy = false; + + for (let i = 0; i < 10; i++) { + const lastProxyUrl = await proxyConfiguration.newUrl('session-id', { request: failingRequest }); + + if (lastProxyUrl === tieredProxyUrls[2][0]) { + gotToTheHighestProxy = true; + break; + } + } + + expect(gotToTheHighestProxy).toBe(true); + + let gotToTheLowestProxy = false; + + for (let i = 0; i < 100; i++) { + const lastProxyUrl = await proxyConfiguration.newUrl('session-id', { + request: new Request({ url: `http://example.com/${i}` }), + }); + + if (lastProxyUrl === tieredProxyUrls[0][0]) { + gotToTheLowestProxy = true; + break; + } } expect(gotToTheLowestProxy).toBe(true); diff --git a/test/core/puppeteer_request_interception.test.ts b/test/core/puppeteer_request_interception.test.ts index dde96259b856..d9ffd258fc3d 100644 --- a/test/core/puppeteer_request_interception.test.ts +++ b/test/core/puppeteer_request_interception.test.ts @@ -56,15 +56,15 @@ describe('utils.puppeteer.addInterceptRequestHandler|removeInterceptRequestHandl await browser.close(); } - expect(allUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/script.js`, - `${serverAddress}/style.css`, - `${serverAddress}/image.png`, - ])); - - expect(loadedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/style.css`, - ])); + expect(allUrls).toEqual( + expect.arrayContaining([ + `${serverAddress}/script.js`, + `${serverAddress}/style.css`, + `${serverAddress}/image.png`, + ]), + ); + + expect(loadedUrls).toEqual(expect.arrayContaining([`${serverAddress}/style.css`])); }); test('should not propagate aborted/responded requests to following handlers', async () => { @@ -95,14 +95,12 @@ describe('utils.puppeteer.addInterceptRequestHandler|removeInterceptRequestHandl propagatedUrls.push(request.url()); return request.continue(); }); - await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'networkidle0' }); + await page.goto(`${serverAddress}/special/resources`); } finally { await browser.close(); } - expect(propagatedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/style.css`, - ])); + expect(propagatedUrls).toEqual(expect.arrayContaining([`${serverAddress}/style.css`])); }); test('should allow to modify request', async () => { @@ -193,7 +191,9 @@ describe('utils.puppeteer.addInterceptRequestHandler|removeInterceptRequestHandl expect(typeof acceptLanguageIndex).toBe('number'); expect(rawHeadersArr[acceptLanguageIndex + 1]).toEqual('en-GB'); - const upgradeInsReqIndex = rawHeadersArr.findIndex((headerItem) => headerItem === 'Upgrade-Insecure-Requests'); + const upgradeInsReqIndex = rawHeadersArr.findIndex( + (headerItem) => headerItem === 'Upgrade-Insecure-Requests', + ); expect(typeof upgradeInsReqIndex).toBe('number'); expect(rawHeadersArr[upgradeInsReqIndex + 1]).toEqual('2'); @@ -233,28 +233,27 @@ describe('utils.puppeteer.removeInterceptRequestHandler()', () => { // Load with scripts and images disabled. await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'networkidle0' }); - expect(loadedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/style.css`, - ])); + expect(loadedUrls).toEqual(expect.arrayContaining([`${serverAddress}/style.css`])); // Try it once again. await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'networkidle0' }); - expect(loadedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/style.css`, - `${serverAddress}/style.css`, - ])); + expect(loadedUrls).toEqual( + expect.arrayContaining([`${serverAddress}/style.css`, `${serverAddress}/style.css`]), + ); // Enable images. await removeInterceptRequestHandler(page, abortImagesHandler); // Try to load once again if images appear there. await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'networkidle0' }); - expect(loadedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/style.css`, - `${serverAddress}/style.css`, - `${serverAddress}/style.css`, - `${serverAddress}/image.png`, - ])); + expect(loadedUrls).toEqual( + expect.arrayContaining([ + `${serverAddress}/style.css`, + `${serverAddress}/style.css`, + `${serverAddress}/style.css`, + `${serverAddress}/image.png`, + ]), + ); } finally { await browser.close(); } diff --git a/test/core/puppeteer_utils.test.ts b/test/core/puppeteer_utils.test.ts index 6458760281e9..674a5e7b6a32 100644 --- a/test/core/puppeteer_utils.test.ts +++ b/test/core/puppeteer_utils.test.ts @@ -50,7 +50,9 @@ describe('puppeteerUtils', () => { // @ts-expect-error let result = await page.evaluate(() => window.injectedVariable === 42); expect(result).toBe(false); - await puppeteerUtils.injectFile(page, path.join(__dirname, '..', 'shared', 'data', 'inject_file.txt'), { surviveNavigations: true }); + await puppeteerUtils.injectFile(page, path.join(__dirname, '..', 'shared', 'data', 'inject_file.txt'), { + surviveNavigations: true, + }); // @ts-expect-error result = await page.evaluate(() => window.injectedVariable); expect(result).toBe(42); @@ -110,7 +112,7 @@ describe('puppeteerUtils', () => { await puppeteerUtils.injectJQuery(page); const result2 = await page.evaluate(() => { - /* global $ */ + /* global $ */ return { // @ts-expect-error isDefined: window.jQuery === window.$, @@ -174,10 +176,7 @@ describe('puppeteerUtils', () => { await puppeteerUtils.blockRequests(page); page.on('response', (response) => loadedUrls.push(response.url())); await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'load' }); - expect(loadedUrls).toEqual([ - `${serverAddress}/special/resources`, - `${serverAddress}/script.js`, - ]); + expect(loadedUrls).toEqual([`${serverAddress}/special/resources`, `${serverAddress}/script.js`]); }); test('works with overridden values', async () => { @@ -190,11 +189,13 @@ describe('puppeteerUtils', () => { page.on('response', (response) => loadedUrls.push(response.url())); await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'load' }); - expect(loadedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/image.png`, - `${serverAddress}/script.js`, - `${serverAddress}/image.gif`, - ])); + expect(loadedUrls).toEqual( + expect.arrayContaining([ + `${serverAddress}/image.png`, + `${serverAddress}/script.js`, + `${serverAddress}/image.gif`, + ]), + ); }); test('blockResources() supports default values', async () => { @@ -205,9 +206,7 @@ describe('puppeteerUtils', () => { page.on('response', (response) => loadedUrls.push(response.url())); await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'load' }); - expect(loadedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/script.js`, - ])); + expect(loadedUrls).toEqual(expect.arrayContaining([`${serverAddress}/script.js`])); }); test('blockResources() supports nondefault values', async () => { @@ -218,10 +217,9 @@ describe('puppeteerUtils', () => { page.on('response', (response) => loadedUrls.push(response.url())); await page.goto(`${serverAddress}/special/resources`, { waitUntil: 'load' }); - expect(loadedUrls).toEqual(expect.arrayContaining([ - `${serverAddress}/style.css`, - `${serverAddress}/image.png`, - ])); + expect(loadedUrls).toEqual( + expect.arrayContaining([`${serverAddress}/style.css`, `${serverAddress}/image.png`]), + ); }); }); @@ -241,7 +239,7 @@ describe('puppeteerUtils', () => { const buffer = await response.buffer(); downloadedBytes += buffer.byteLength; } catch (e) { - // do nothing + // do nothing } }); await page.goto(`${serverAddress}/cacheable`, { waitUntil: 'networkidle0', timeout: 60e3 }); @@ -342,7 +340,7 @@ describe('puppeteerUtils', () => { describe('infiniteScroll()', () => { function isAtBottom() { - return (window.innerHeight + window.pageYOffset) >= document.body.offsetHeight; + return window.innerHeight + window.pageYOffset >= document.body.offsetHeight; } let browser: Browser; @@ -357,9 +355,11 @@ describe('puppeteerUtils', () => { beforeEach(async () => { page = await browser.newPage(); let count = 0; - const content = Array(1000).fill(null).map(() => { - return `
Div number: ${count++}
`; - }); + const content = Array(1000) + .fill(null) + .map(() => { + return `
Div number: ${count++}
`; + }); const contentHTML = `${content}`; await page.setContent(contentHTML); }); @@ -414,7 +414,8 @@ describe('puppeteerUtils', () => { try { const page = await browser.newPage(); - const contentHTML = '
Div number: 1
'; + const contentHTML = + '
Div number: 1
'; await page.setContent(contentHTML); const screenshot = await page.screenshot({ fullPage: true, type: 'jpeg', quality: 60 }); @@ -422,7 +423,11 @@ describe('puppeteerUtils', () => { // Test saving both image and html const object = { setValue: vitest.fn() }; openKVSSpy.mockResolvedValue(object as any); - await puppeteerUtils.saveSnapshot(page, { key: 'TEST', keyValueStoreName: 'TEST-STORE', screenshotQuality: 60 }); + await puppeteerUtils.saveSnapshot(page, { + key: 'TEST', + keyValueStoreName: 'TEST-STORE', + screenshotQuality: 60, + }); expect(object.setValue).toBeCalledWith('TEST.jpg', screenshot, { contentType: 'image/jpeg' }); expect(object.setValue).toBeCalledWith('TEST.html', contentHTML, { contentType: 'text/html' }); diff --git a/test/core/request_list.test.ts b/test/core/request_list.test.ts index 539695b885fa..925de603dd02 100644 --- a/test/core/request_list.test.ts +++ b/test/core/request_list.test.ts @@ -1,12 +1,20 @@ import log from '@apify/log'; -import { Configuration, deserializeArray, EventType, KeyValueStore, ProxyConfiguration, Request, RequestList } from '@crawlee/core'; +import { + Configuration, + deserializeArray, + EventType, + KeyValueStore, + ProxyConfiguration, + Request, + RequestList, +} from '@crawlee/core'; import { sleep } from '@crawlee/utils'; import { MemoryStorageEmulator } from 'test/shared/MemoryStorageEmulator'; /** * Stand-in for underscore.js shuffle (weird, but how else?) */ -function shuffle(array: unknown[]) : unknown[] { +function shuffle(array: unknown[]): unknown[] { const out = [...array]; for (let i = out.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); @@ -132,15 +140,8 @@ describe('RequestList', () => { test('should correctly load list from hosted files in correct order', async () => { const spy = vitest.spyOn(RequestList.prototype as any, '_downloadListOfUrls'); - const list1 = [ - 'https://example.com', - 'https://google.com', - 'https://wired.com', - ]; - const list2 = [ - 'https://another.com', - 'https://page.com', - ]; + const list1 = ['https://example.com', 'https://google.com', 'https://wired.com']; + const list2 = ['https://another.com', 'https://page.com']; spy.mockImplementationOnce(() => new Promise((resolve) => setTimeout(resolve(list1) as any, 100)) as any); spy.mockResolvedValueOnce(list2); @@ -185,11 +186,7 @@ describe('RequestList', () => { }); test('should fix gdoc sharing url in `requestsFromUrl` automatically (GH issue #639)', async () => { - const list = [ - 'https://example.com', - 'https://google.com', - 'https://wired.com', - ]; + const list = ['https://example.com', 'https://google.com', 'https://wired.com']; const wrongUrls = [ 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU', 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/', @@ -198,7 +195,8 @@ describe('RequestList', () => { 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/?q=blablabla', 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/edit#gid=0', ]; - const correctUrl = 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/gviz/tq?tqx=out:csv'; + const correctUrl = + 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/gviz/tq?tqx=out:csv'; gotScrapingSpy.mockResolvedValue({ body: JSON.stringify(list) } as any); @@ -233,10 +231,7 @@ describe('RequestList', () => { }); test('should use the defined proxy server when using `requestsFromUrl`', async () => { - const proxyUrls = [ - 'http://proxyurl.usedforthe.download', - 'http://another.proxy.url', - ]; + const proxyUrls = ['http://proxyurl.usedforthe.download', 'http://another.proxy.url']; const spy = vitest.spyOn(RequestList.prototype as any, '_downloadListOfUrls'); spy.mockResolvedValue([]); @@ -311,11 +306,7 @@ describe('RequestList', () => { await requestList.reclaimRequest(request4); expect(requestList.getState()).toEqual({ - inProgress: [ - 'https://example.com/3', - 'https://example.com/4', - 'https://example.com/5', - ], + inProgress: ['https://example.com/3', 'https://example.com/4', 'https://example.com/5'], nextIndex: 5, nextUniqueKey: 'https://example.com/6', }); @@ -330,10 +321,7 @@ describe('RequestList', () => { await requestList.markRequestHandled(request5); expect(requestList.getState()).toEqual({ - inProgress: [ - 'https://example.com/3', - 'https://example.com/4', - ], + inProgress: ['https://example.com/3', 'https://example.com/4'], nextIndex: 5, nextUniqueKey: 'https://example.com/6', }); @@ -353,9 +341,7 @@ describe('RequestList', () => { await requestList.markRequestHandled(request4); expect(requestList.getState()).toEqual({ - inProgress: [ - 'https://example.com/3', - ], + inProgress: ['https://example.com/3'], nextIndex: 5, nextUniqueKey: 'https://example.com/6', }); @@ -387,9 +373,7 @@ describe('RequestList', () => { expect(request6.url).toBe('https://example.com/6'); expect(await requestList.fetchNextRequest()).toBe(null); expect(requestList.getState()).toEqual({ - inProgress: [ - 'https://example.com/6', - ], + inProgress: ['https://example.com/6'], nextIndex: 6, nextUniqueKey: null, }); @@ -404,9 +388,7 @@ describe('RequestList', () => { await requestList.reclaimRequest(request6); expect(requestList.getState()).toEqual({ - inProgress: [ - 'https://example.com/6', - ], + inProgress: ['https://example.com/6'], nextIndex: 6, nextUniqueKey: null, }); @@ -422,9 +404,7 @@ describe('RequestList', () => { expect(reclaimed6.url).toBe('https://example.com/6'); expect(requestList.getState()).toEqual({ - inProgress: [ - 'https://example.com/6', - ], + inProgress: ['https://example.com/6'], nextIndex: 6, nextUniqueKey: null, }); @@ -527,11 +507,7 @@ describe('RequestList', () => { expect(requestList.areRequestsPersisted).toBe(true); const opts2 = { - sources: [ - { url: 'https://test.com/1' }, - { url: 'https://test.com/2' }, - { url: 'https://test.com/3' }, - ], + sources: [{ url: 'https://test.com/1' }, { url: 'https://test.com/2' }, { url: 'https://test.com/3' }], persistRequestsKey: PERSIST_REQUESTS_KEY, }; @@ -590,11 +566,7 @@ describe('RequestList', () => { const state = { nextIndex: 2, nextUniqueKey: 'https://www.anychart.com', - inProgress: [ - 'https://www.ams360.com', - 'https://www.anybus.com', - 'https://www.anychart.com', - ], + inProgress: ['https://www.ams360.com', 'https://www.anybus.com', 'https://www.anychart.com'], }; const requestList = await RequestList.open({ @@ -728,7 +700,7 @@ describe('RequestList', () => { const name = 'xxx'; const SDK_KEY = `SDK_${name}`; const sources = ['https://example.com']; - const requests = sources.map((url) => new Request({ url })); + const requests = sources.map((url) => ({ url, uniqueKey: url })); const rl = await RequestList.open(name, sources); expect(rl).toBeInstanceOf(RequestList); @@ -752,7 +724,7 @@ describe('RequestList', () => { const SDK_KEY = `SDK_${name}`; let counter = 0; const sources = [{ url: 'https://example.com' }]; - const requests = sources.map(({ url }) => new Request({ url, uniqueKey: `${url}-${counter++}` })); + const requests = sources.map(({ url }) => ({ url, uniqueKey: `${url}-${counter++}` })); const options = { keepDuplicateUrls: true, persistStateKey: 'yyy', @@ -780,7 +752,7 @@ describe('RequestList', () => { const name: string = null; const sources = [{ url: 'https://example.com' }]; - const requests = sources.map(({ url }) => new Request({ url })); + const requests = sources.map(({ url }) => ({ url, uniqueKey: url })); const rl = await RequestList.open(name, sources); expect(rl).toBeInstanceOf(RequestList); @@ -797,12 +769,7 @@ describe('RequestList', () => { }); test('should throw on invalid parameters', async () => { - const args = [ - [], - ['x', {}], - ['x', 6, {}], - ['x', [], []], - ] as const; + const args = [[], ['x', {}], ['x', 6, {}], ['x', [], []]] as const; for (const arg of args) { try { // @ts-ignore @@ -814,9 +781,10 @@ describe('RequestList', () => { if (e.message.match('argument to be of type `string`')) { expect(e.message).toMatch('received type `undefined`'); } else if (e.message.match('argument to be of type `array`')) { - const isMatched = e.message.match('received type `Object`') - || e.message.match('received type `number`') - || e.message.match('received type `undefined`'); + const isMatched = + e.message.match('received type `Object`') || + e.message.match('received type `number`') || + e.message.match('received type `undefined`'); expect(isMatched).toBeTruthy(); } else if (e.message.match('argument to be of type `null`')) { expect(e.message).toMatch('received type `undefined`'); diff --git a/test/core/router.test.ts b/test/core/router.test.ts index 3dc9f3270d41..49aa0036a505 100644 --- a/test/core/router.test.ts +++ b/test/core/router.test.ts @@ -127,7 +127,9 @@ describe('Router', () => { router.addHandler('A', async (ctx) => {}); expect(() => router.addHandler('A', async (ctx) => {})).toThrow(); const log = { info: vitest.fn(), warn: vitest.fn(), debug: vitest.fn() }; - await expect(router({ request: { loadedUrl: 'https://example.com/C', label: 'C' }, log } as any)).rejects.toThrow(MissingRouteError); + await expect( + router({ request: { loadedUrl: 'https://example.com/C', label: 'C' }, log } as any), + ).rejects.toThrow(MissingRouteError); router.addDefaultHandler(async (ctx) => {}); expect(() => router.addDefaultHandler(async (ctx) => {})).toThrow(); }); @@ -150,7 +152,7 @@ describe('Router', () => { test('addHandler accepts userdata generic', async () => { const testType = (t: T): void => {}; - const router: Router> = { + const router: Router> = { addHandler: () => {}, addDefaultHandler: () => {}, } as any; @@ -159,7 +161,7 @@ describe('Router', () => { testType<'foo'>(ctx.request.userData.foo); }); - router.addHandler<{foo: 'bar'}>('2', (ctx) => { + router.addHandler<{ foo: 'bar' }>('2', (ctx) => { testType<'bar'>(ctx.request.userData.foo); }); @@ -167,7 +169,7 @@ describe('Router', () => { testType<'foo'>(ctx.request.userData.foo); }); - router.addDefaultHandler<{foo: 'bar'}>((ctx) => { + router.addDefaultHandler<{ foo: 'bar' }>((ctx) => { testType<'bar'>(ctx.request.userData.foo); }); }); diff --git a/test/core/session_pool/session.test.ts b/test/core/session_pool/session.test.ts index f36a0bf578a2..656b76748328 100644 --- a/test/core/session_pool/session.test.ts +++ b/test/core/session_pool/session.test.ts @@ -1,6 +1,7 @@ import { EVENT_SESSION_RETIRED, ProxyConfiguration, Session, SessionPool } from '@crawlee/core'; import type { Dictionary } from '@crawlee/utils'; import { entries, sleep } from '@crawlee/utils'; +import { CookieJar } from 'tough-cookie'; describe('Session - testing session behaviour ', () => { let sessionPool: SessionPool; @@ -67,7 +68,10 @@ describe('Session - testing session behaviour ', () => { let error; try { - session.setCookiesFromResponse({ headers: { Cookie: 'invaldi*{*{*{*-----***@s' }, url: 'http://localhost:1337' }); + session.setCookiesFromResponse({ + headers: { Cookie: 'invaldi*{*{*{*-----***@s' }, + url: 'http://localhost:1337', + }); } catch (e) { error = e; } @@ -182,7 +186,9 @@ describe('Session - testing session behaviour ', () => { sessionPool.blockedStatusCodes.forEach((status) => { const sess = new Session({ sessionPool }); let isCalled; - const call = () => { isCalled = true; }; + const call = () => { + isCalled = true; + }; sess.retire = call; expect(sess.retireOnBlockedStatusCodes(status)).toBeTruthy(); expect(isCalled).toBeTruthy(); @@ -214,9 +220,7 @@ describe('Session - testing session behaviour ', () => { test('setCookies should work for session (with expiration date: -1) cookies', () => { const url = 'https://example.com'; - const cookies = [ - { name: 'session_cookie', value: 'session-cookie-value', expires: -1 }, - ]; + const cookies = [{ name: 'session_cookie', value: 'session-cookie-value', expires: -1 }]; session = new Session({ sessionPool }); session.setCookies(cookies, url); @@ -235,6 +239,79 @@ describe('Session - testing session behaviour ', () => { expect(session.getCookieString(url)).toBe('cookie2=your-cookie'); }); + test('setCookies works with hostOnly cookies', () => { + const url = 'https://www.example.com'; + const cookies = [ + { name: 'cookie1', value: 'my-cookie', domain: 'abc.example.com' }, + { name: 'cookie2', value: 'your-cookie', domain: 'example.com' }, + ]; + + session = new Session({ sessionPool }); + session.setCookies(cookies, url); + expect(session.getCookieString(url)).toBe(''); + expect(session.getCookieString('https://example.com')).toBe('cookie2=your-cookie'); + }); + + test('getCookies should work', () => { + const url = 'https://www.example.com'; + + session = new Session({ + sessionPool, + cookieJar: CookieJar.fromJSON( + JSON.stringify({ + cookies: [ + { + 'key': 'foo', + 'value': 'bar', + 'domain': 'example.com', + 'path': '/', + 'hostOnly': false, + }, + ], + }), + ), + }); + + expect(session.getCookies(url)).to.containSubset([ + { + name: 'foo', + value: 'bar', + domain: '.example.com', + }, + ]); + expect(session.getCookies(url)).to.deep.equal(session.getCookies('https://example.com')); + }); + + test('getCookies should work with hostOnly cookies', () => { + const url = 'https://www.example.com'; + + session = new Session({ + sessionPool, + cookieJar: CookieJar.fromJSON( + JSON.stringify({ + cookies: [ + { + 'key': 'foo', + 'value': 'bar', + 'domain': 'example.com', + 'path': '/', + 'hostOnly': true, + }, + ], + }), + ), + }); + + expect(session.getCookies(url)).toHaveLength(0); + expect(session.getCookies('https://example.com')).to.containSubset([ + { + name: 'foo', + value: 'bar', + domain: 'example.com', + }, + ]); + }); + describe('.putResponse & .getCookieString', () => { test('should set and update cookies from "set-cookie" header', () => { const headers: Dictionary = {}; diff --git a/test/core/session_pool/session_pool.test.ts b/test/core/session_pool/session_pool.test.ts index 7283dcc09d90..0f2430e0535b 100644 --- a/test/core/session_pool/session_pool.test.ts +++ b/test/core/session_pool/session_pool.test.ts @@ -45,16 +45,17 @@ describe('SessionPool - testing session pool', () => { persistStateKeyValueStoreId: 'TEST', persistStateKey: 'SESSION_POOL_STATE2', - createSessionFunction: () => ({} as never), - + createSessionFunction: () => ({}) as never, }; sessionPool = new SessionPool(opts); await sessionPool.initialize(); await sessionPool.teardown(); - entries(opts).filter(([key]) => key !== 'sessionOptions').forEach(([key, value]) => { - expect(sessionPool[key]).toEqual(value); - }); + entries(opts) + .filter(([key]) => key !== 'sessionOptions') + .forEach(([key, value]) => { + expect(sessionPool[key]).toEqual(value); + }); // log is appended to sessionOptions after sessionPool instantiation // @ts-expect-error private symbol expect(sessionPool.sessionOptions).toEqual({ ...opts.sessionOptions, log: expect.any(Log) }); @@ -72,15 +73,16 @@ describe('SessionPool - testing session pool', () => { persistStateKeyValueStoreId: 'TEST', persistStateKey: 'SESSION_POOL_STATE2', - createSessionFunction: () => ({} as never), - + createSessionFunction: () => ({}) as never, }; sessionPool = await SessionPool.open(opts); await sessionPool.teardown(); - entries(opts).filter(([key]) => key !== 'sessionOptions').forEach(([key, value]) => { - expect(sessionPool[key]).toEqual(value); - }); + entries(opts) + .filter(([key]) => key !== 'sessionOptions') + .forEach(([key, value]) => { + expect(sessionPool[key]).toEqual(value); + }); // log is appended to sessionOptions after sessionPool instantiation // @ts-expect-error private symbol expect(sessionPool.sessionOptions).toEqual({ ...opts.sessionOptions, log: expect.any(Log) }); @@ -111,7 +113,8 @@ describe('SessionPool - testing session pool', () => { const oldPick = sessionPool._pickSession; //eslint-disable-line // @ts-expect-error Overriding private property - sessionPool._pickSession = () => { //eslint-disable-line + sessionPool._pickSession = () => { + //eslint-disable-line isCalled = true; return oldPick.bind(sessionPool)(); }; @@ -164,7 +167,9 @@ describe('SessionPool - testing session pool', () => { const kvStore = await KeyValueStore.open(); // @ts-expect-error private symbol - const sessionPoolSaved = await kvStore.getValue>(sessionPool.persistStateKey); + const sessionPoolSaved = await kvStore.getValue>( + sessionPool.persistStateKey, + ); entries(sessionPoolSaved).forEach(([key, value]) => { if (key !== 'sessions') { @@ -382,7 +387,9 @@ describe('SessionPool - testing session pool', () => { await sessionPool.addSession({ id: 'test-session' }); await sessionPool.addSession({ id: 'test-session' }); } catch (e) { - expect((e as Error).message).toBe("Cannot add session with id 'test-session' as it already exists in the pool"); + expect((e as Error).message).toBe( + "Cannot add session with id 'test-session' as it already exists in the pool", + ); } expect.assertions(1); }); diff --git a/test/core/session_pool/session_utils.test.ts b/test/core/session_pool/session_utils.test.ts index 4a9d432355ed..aab3f1a98a44 100644 --- a/test/core/session_pool/session_utils.test.ts +++ b/test/core/session_pool/session_utils.test.ts @@ -5,7 +5,10 @@ import { Cookie } from 'tough-cookie'; describe('getCookiesFromResponse', () => { test('should parse cookies if set-cookie is array', () => { const headers: Dictionary = {}; - const dummyCookies = ['CSRF=e8b667; Domain=example.com; Secure', 'id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT']; + const dummyCookies = [ + 'CSRF=e8b667; Domain=example.com; Secure', + 'id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT', + ]; headers['set-cookie'] = dummyCookies; const cookies = getCookiesFromResponse({ headers }); diff --git a/test/core/storages/dataset.test.ts b/test/core/storages/dataset.test.ts index f6770d4f8570..cdc709d47d08 100644 --- a/test/core/storages/dataset.test.ts +++ b/test/core/storages/dataset.test.ts @@ -29,33 +29,23 @@ describe('dataset', () => { client: storageClient, }); - const pushItemSpy = vitest - .spyOn(dataset.client, 'pushItems'); + const pushItemSpy = vitest.spyOn(dataset.client, 'pushItems'); const mockPushItems = pushItemSpy.mockResolvedValueOnce(null); await dataset.pushData({ foo: 'bar' }); expect(mockPushItems).toBeCalledTimes(1); - expect(mockPushItems).toBeCalledWith( - JSON.stringify({ foo: 'bar' }), - ); + expect(mockPushItems).toBeCalledWith(JSON.stringify({ foo: 'bar' })); const mockPushItems2 = pushItemSpy.mockResolvedValueOnce(null); - await dataset.pushData([ - { foo: 'hotel;' }, - { foo: 'restaurant' }, - ]); + await dataset.pushData([{ foo: 'hotel;' }, { foo: 'restaurant' }]); expect(mockPushItems2).toBeCalledTimes(2); - expect(mockPushItems2).toBeCalledWith( - JSON.stringify([{ foo: 'hotel;' }, { foo: 'restaurant' }]), - ); + expect(mockPushItems2).toBeCalledWith(JSON.stringify([{ foo: 'hotel;' }, { foo: 'restaurant' }])); - const mockDelete = vitest - .spyOn(dataset.client, 'delete') - .mockResolvedValueOnce(undefined); + const mockDelete = vitest.spyOn(dataset.client, 'delete').mockResolvedValueOnce(undefined); await dataset.drop(); @@ -75,10 +65,7 @@ describe('dataset', () => { mockPushItems.mockResolvedValueOnce(null); mockPushItems.mockResolvedValueOnce(null); - await dataset.pushData([ - { foo: half }, - { bar: half }, - ]); + await dataset.pushData([{ foo: half }, { bar: half }]); expect(mockPushItems).toBeCalledTimes(2); expect(mockPushItems).toHaveBeenNthCalledWith(1, JSON.stringify([{ foo: half }])); @@ -124,13 +111,7 @@ describe('dataset', () => { const full = mockData(MAX_PAYLOAD_SIZE_BYTES); const dataset = new Dataset({ id: 'some-id', client: storageClient }); try { - await dataset.pushData([ - { foo: 0 }, - { foo: 1 }, - { foo: 2 }, - { foo: full }, - { foo: 4 }, - ]); + await dataset.pushData([{ foo: 0 }, { foo: 1 }, { foo: 2 }, { foo: full }, { foo: 4 }]); throw new Error('Should fail!'); } catch (err) { expect(err).toBeInstanceOf(Error); @@ -145,10 +126,7 @@ describe('dataset', () => { }); const expected = { - items: [ - { foo: 'bar' }, - { foo: 'hotel' }, - ], + items: [{ foo: 'bar' }, { foo: 'hotel' }], limit: 2, total: 1000, offset: 3, @@ -168,14 +146,17 @@ describe('dataset', () => { expect(result).toEqual(expected); let e; - const spy = vitest.spyOn(dataset.client, 'listItems') - .mockImplementation(() => { throw new Error('Cannot create a string longer than 0x3fffffe7 characters'); }); + const spy = vitest.spyOn(dataset.client, 'listItems').mockImplementation(() => { + throw new Error('Cannot create a string longer than 0x3fffffe7 characters'); + }); try { await dataset.getData(); } catch (err) { e = err; } - expect((e as Error).message).toEqual('dataset.getData(): The response is too large for parsing. You can fix this by lowering the "limit" option.'); + expect((e as Error).message).toEqual( + 'dataset.getData(): The response is too large for parsing. You can fix this by lowering the "limit" option.', + ); }); test('getInfo() should work', async () => { @@ -205,10 +186,7 @@ describe('dataset', () => { }); const firstResolve = { - items: [ - { foo: 'a' }, - { foo: 'b' }, - ], + items: [{ foo: 'a' }, { foo: 'b' }], limit: 2, total: 4, offset: 0, @@ -217,10 +195,7 @@ describe('dataset', () => { }; const secondResolve = { - items: [ - { foo: 'c' }, - { foo: 'd' }, - ], + items: [{ foo: 'c' }, { foo: 'd' }], limit: 2, total: 4, offset: 2, @@ -252,19 +227,17 @@ describe('dataset', () => { const items: Dictionary[] = []; const indexes: number[] = []; - const result = await dataset.forEach((item, index) => { - items.push(item); - indexes.push(index); - }, { - limit: 2, - }); + const result = await dataset.forEach( + (item, index) => { + items.push(item); + indexes.push(index); + }, + { + limit: 2, + }, + ); expect(result).toEqual(undefined); - expect(items).toEqual([ - { foo: 'a' }, - { foo: 'b' }, - { foo: 'c' }, - { foo: 'd' }, - ]); + expect(items).toEqual([{ foo: 'a' }, { foo: 'b' }, { foo: 'c' }, { foo: 'd' }]); expect(indexes).toEqual([0, 1, 2, 3]); restoreAndVerify(); @@ -273,11 +246,14 @@ describe('dataset', () => { test('map() should work', async () => { const { dataset, restoreAndVerify } = getRemoteDataset(); - const result = await dataset.map((item, index) => { - return { index, bar: 'xxx', ...item }; - }, { - limit: 2, - }); + const result = await dataset.map( + (item, index) => { + return { index, bar: 'xxx', ...item }; + }, + { + limit: 2, + }, + ); expect(result).toEqual([ { foo: 'a', index: 0, bar: 'xxx' }, @@ -292,12 +268,15 @@ describe('dataset', () => { test('map() should support promises', async () => { const { dataset, restoreAndVerify } = getRemoteDataset(); - const result = await dataset.map(async (item, index) => { - const res = { index, bar: 'xxx', ...item }; - return Promise.resolve(res); - }, { - limit: 2, - }); + const result = await dataset.map( + async (item, index) => { + const res = { index, bar: 'xxx', ...item }; + return Promise.resolve(res); + }, + { + limit: 2, + }, + ); expect(result).toEqual([ { foo: 'a', index: 0, bar: 'xxx' }, @@ -312,14 +291,18 @@ describe('dataset', () => { test('reduce() should work', async () => { const { dataset, restoreAndVerify } = getRemoteDataset(); - const result = await dataset.reduce((memo, item, index) => { - item.index = index; - item.bar = 'xxx'; + const result = await dataset.reduce( + (memo, item, index) => { + item.index = index; + item.bar = 'xxx'; - return memo.concat(item); - }, [], { - limit: 2, - }); + return memo.concat(item); + }, + [], + { + limit: 2, + }, + ); expect(result).toEqual([ { foo: 'a', index: 0, bar: 'xxx' }, @@ -334,14 +317,18 @@ describe('dataset', () => { test('reduce() should support promises', async () => { const { dataset, restoreAndVerify } = getRemoteDataset(); - const result = await dataset.reduce(async (memo, item, index) => { - item.index = index; - item.bar = 'xxx'; + const result = await dataset.reduce( + async (memo, item, index) => { + item.index = index; + item.bar = 'xxx'; - return Promise.resolve(memo.concat(item)); - }, [], { - limit: 2, - }); + return Promise.resolve(memo.concat(item)); + }, + [], + { + limit: 2, + }, + ); expect(result).toEqual([ { foo: 'a', index: 0, bar: 'xxx' }, @@ -361,10 +348,7 @@ describe('dataset', () => { }); const mockListItems = vitest.spyOn(dataset.client, 'listItems'); mockListItems.mockResolvedValueOnce({ - items: [ - { foo: 4 }, - { foo: 5 }, - ], + items: [{ foo: 4 }, { foo: 5 }], limit: 2, total: 4, offset: 0, @@ -372,10 +356,7 @@ describe('dataset', () => { desc: false, }); mockListItems.mockResolvedValueOnce({ - items: [ - { foo: 4 }, - { foo: 1 }, - ], + items: [{ foo: 4 }, { foo: 1 }], limit: 2, total: 4, offset: 2, @@ -385,12 +366,16 @@ describe('dataset', () => { const calledForIndexes: number[] = []; - const result = await dataset.reduce(async (memo, item, index) => { - calledForIndexes.push(index); - return Promise.resolve(memo.foo > item.foo ? memo : item); - }, undefined, { - limit: 2, - }); + const result = await dataset.reduce( + async (memo, item, index) => { + calledForIndexes.push(index); + return Promise.resolve(memo.foo > item.foo ? memo : item); + }, + undefined, + { + limit: 2, + }, + ); expect(mockListItems).toBeCalledTimes(2); expect(mockListItems).toHaveBeenNthCalledWith(1, { @@ -414,16 +399,28 @@ describe('dataset', () => { client: storageClient, }); // @ts-expect-error JS-side validation - await expect(dataset.pushData()).rejects.toThrow('Expected `data` to be of type `object` but received type `undefined`'); + await expect(dataset.pushData()).rejects.toThrow( + 'Expected `data` to be of type `object` but received type `undefined`', + ); // @ts-expect-error JS-side validation - await expect(dataset.pushData('')).rejects.toThrow('Expected `data` to be of type `object` but received type `string`'); + await expect(dataset.pushData('')).rejects.toThrow( + 'Expected `data` to be of type `object` but received type `string`', + ); // @ts-expect-error JS-side validation - await expect(dataset.pushData(123)).rejects.toThrow('Expected `data` to be of type `object` but received type `number`'); + await expect(dataset.pushData(123)).rejects.toThrow( + 'Expected `data` to be of type `object` but received type `number`', + ); // @ts-expect-error JS-side validation - await expect(dataset.pushData(true)).rejects.toThrow('Expected `data` to be of type `object` but received type `boolean`'); + await expect(dataset.pushData(true)).rejects.toThrow( + 'Expected `data` to be of type `object` but received type `boolean`', + ); // @ts-expect-error JS-side validation - await expect(dataset.pushData(false)).rejects.toThrow('Expected `data` to be of type `object` but received type `boolean`'); - await expect(dataset.pushData(() => {})).rejects.toThrow('Data item is not an object. You can push only objects into a dataset.'); + await expect(dataset.pushData(false)).rejects.toThrow( + 'Expected `data` to be of type `object` but received type `boolean`', + ); + await expect(dataset.pushData(() => {})).rejects.toThrow( + 'Data item is not an object. You can push only objects into a dataset.', + ); const circularObj = {} as Dictionary; circularObj.xxx = circularObj; @@ -478,8 +475,12 @@ describe('dataset', () => { expect(chunkBySize(triple, size + 1)).toEqual(triple); expect(chunkBySize(triple, size + 2)).toEqual([chunk, chunk, chunk]); // Chunks smaller items together - expect(chunkBySize(triple, (2 * size) + 3)).toEqual([`[${json},${json}]`, chunk]); - expect(chunkBySize([...triple, ...triple], (2 * size) + 3)).toEqual([`[${json},${json}]`, `[${json},${json}]`, `[${json},${json}]`]); + expect(chunkBySize(triple, 2 * size + 3)).toEqual([`[${json},${json}]`, chunk]); + expect(chunkBySize([...triple, ...triple], 2 * size + 3)).toEqual([ + `[${json},${json}]`, + `[${json},${json}]`, + `[${json},${json}]`, + ]); }); describe('exportToJSON', () => { diff --git a/test/core/storages/key_value_store.test.ts b/test/core/storages/key_value_store.test.ts index 95a2eaf845ba..65f3d977b277 100644 --- a/test/core/storages/key_value_store.test.ts +++ b/test/core/storages/key_value_store.test.ts @@ -105,10 +105,16 @@ describe('KeyValueStore', () => { }); // @ts-expect-error JS-side validation - await expect(store.getValue()).rejects.toThrow('Expected argument to be of type `string` but received type `undefined`'); + await expect(store.getValue()).rejects.toThrow( + 'Expected argument to be of type `string` but received type `undefined`', + ); // @ts-expect-error JS-side validation - await expect(store.getValue({})).rejects.toThrow('Expected argument to be of type `string` but received type `Object`'); - await expect(store.getValue(null)).rejects.toThrow('Expected argument to be of type `string` but received type `null`'); + await expect(store.getValue({})).rejects.toThrow( + 'Expected argument to be of type `string` but received type `Object`', + ); + await expect(store.getValue(null)).rejects.toThrow( + 'Expected argument to be of type `string` but received type `null`', + ); await expect(store.getValue('')).rejects.toThrow('Expected string to not be empty'); }); @@ -136,10 +142,16 @@ describe('KeyValueStore', () => { }); // @ts-expect-error JS-side validation - await expect(store.recordExists()).rejects.toThrow('Expected argument to be of type `string` but received type `undefined`'); + await expect(store.recordExists()).rejects.toThrow( + 'Expected argument to be of type `string` but received type `undefined`', + ); // @ts-expect-error JS-side validation - await expect(store.recordExists({})).rejects.toThrow('Expected argument to be of type `string` but received type `Object`'); - await expect(store.recordExists(null)).rejects.toThrow('Expected argument to be of type `string` but received type `null`'); + await expect(store.recordExists({})).rejects.toThrow( + 'Expected argument to be of type `string` but received type `Object`', + ); + await expect(store.recordExists(null)).rejects.toThrow( + 'Expected argument to be of type `string` but received type `null`', + ); await expect(store.recordExists('')).rejects.toThrow('Expected string to not be empty'); }); @@ -162,60 +174,76 @@ describe('KeyValueStore', () => { }); // @ts-expect-error JS-side validation - await expect(store.setValue()).rejects.toThrow('Expected `key` to be of type `string` but received type `undefined`'); + await expect(store.setValue()).rejects.toThrow( + 'Expected `key` to be of type `string` but received type `undefined`', + ); await expect(store.setValue('', null)).rejects.toThrow('Expected string `key` to not be empty'); await expect(store.setValue('', 'some value')).rejects.toThrow('Expected string `key` to not be empty'); // @ts-expect-error JS-side validation - await expect(store.setValue({}, 'some value')) - .rejects.toThrow('Expected `key` to be of type `string` but received type `Object`'); + await expect(store.setValue({}, 'some value')).rejects.toThrow( + 'Expected `key` to be of type `string` but received type `Object`', + ); // @ts-expect-error JS-side validation - await expect(store.setValue(123, 'some value')) - .rejects.toThrow('Expected `key` to be of type `string` but received type `number`'); + await expect(store.setValue(123, 'some value')).rejects.toThrow( + 'Expected `key` to be of type `string` but received type `number`', + ); - const valueErrMsg = 'The "value" parameter must be a String, Buffer or Stream when "options.contentType" is specified'; + const valueErrMsg = + 'The "value" parameter must be a String, Buffer or Stream when "options.contentType" is specified'; await expect(store.setValue('key', {}, { contentType: 'image/png' })).rejects.toThrow(valueErrMsg); await expect(store.setValue('key', 12345, { contentType: 'image/png' })).rejects.toThrow(valueErrMsg); await expect(store.setValue('key', () => {}, { contentType: 'image/png' })).rejects.toThrow(valueErrMsg); // @ts-expect-error JS-side validation - await expect(store.setValue('key', {}, 123)) - .rejects.toThrow('Expected argument to be of type `object` but received type `number`'); + await expect(store.setValue('key', {}, 123)).rejects.toThrow( + 'Expected argument to be of type `object` but received type `number`', + ); // @ts-expect-error JS-side validation - await expect(store.setValue('key', {}, 'bla/bla')) - .rejects.toThrow('Expected argument to be of type `object` but received type `string`'); + await expect(store.setValue('key', {}, 'bla/bla')).rejects.toThrow( + 'Expected argument to be of type `object` but received type `string`', + ); // @ts-expect-error JS-side validation - await expect(store.setValue('key', {}, true)) - .rejects.toThrow('Expected argument to be of type `object` but received type `boolean`'); + await expect(store.setValue('key', {}, true)).rejects.toThrow( + 'Expected argument to be of type `object` but received type `boolean`', + ); const circularObj = {} as Dictionary; circularObj.xxx = circularObj; - const circularErrMsg = 'The "value" parameter cannot be stringified to JSON: Converting circular structure to JSON'; - const undefinedErrMsg = 'The "value" parameter was stringified to JSON and returned undefined. ' - + 'Make sure you\'re not trying to stringify an undefined value.'; + const circularErrMsg = + 'The "value" parameter cannot be stringified to JSON: Converting circular structure to JSON'; + const undefinedErrMsg = + 'The "value" parameter was stringified to JSON and returned undefined. ' + + "Make sure you're not trying to stringify an undefined value."; await expect(store.setValue('key', circularObj)).rejects.toThrow(circularErrMsg); await expect(store.setValue('key', undefined)).rejects.toThrow(undefinedErrMsg); // @ts-expect-error JS-side validation await expect(store.setValue('key')).rejects.toThrow(undefinedErrMsg); const contTypeRedundantErrMsg = 'Expected property string `contentType` to not be empty in object'; - await expect(store.setValue('key', null, { contentType: 'image/png' })) - .rejects.toThrow('The "value" parameter must be a String, Buffer or Stream when "options.contentType" is specified.'); + await expect(store.setValue('key', null, { contentType: 'image/png' })).rejects.toThrow( + 'The "value" parameter must be a String, Buffer or Stream when "options.contentType" is specified.', + ); await expect(store.setValue('key', null, { contentType: '' })).rejects.toThrow(contTypeRedundantErrMsg); // @ts-expect-error Type '{}' is not assignable to type 'string'. - await expect(store.setValue('key', null, { contentType: {} })) - .rejects.toThrow('The "value" parameter must be a String, Buffer or Stream when "options.contentType" is specified.'); + await expect(store.setValue('key', null, { contentType: {} })).rejects.toThrow( + 'The "value" parameter must be a String, Buffer or Stream when "options.contentType" is specified.', + ); // @ts-expect-error Type 'number' is not assignable to type 'string'. - await expect(store.setValue('key', 'value', { contentType: 123 })) - .rejects.toThrow('Expected property `contentType` to be of type `string` but received type `number` in object'); + await expect(store.setValue('key', 'value', { contentType: 123 })).rejects.toThrow( + 'Expected property `contentType` to be of type `string` but received type `number` in object', + ); // @ts-expect-error Type '{}' is not assignable to type 'string'. - await expect(store.setValue('key', 'value', { contentType: {} })) - .rejects.toThrow('Expected property `contentType` to be of type `string` but received type `Object` in object'); + await expect(store.setValue('key', 'value', { contentType: {} })).rejects.toThrow( + 'Expected property `contentType` to be of type `string` but received type `Object` in object', + ); // @ts-expect-error Type 'Date' is not assignable to type 'string'. - await expect(store.setValue('key', 'value', { contentType: new Date() })) - .rejects.toThrow('Expected property `contentType` to be of type `string` but received type `Date` in object'); - await expect(store.setValue('key', 'value', { contentType: '' })) - .rejects.toThrow('Expected property string `contentType` to not be empty in object'); + await expect(store.setValue('key', 'value', { contentType: new Date() })).rejects.toThrow( + 'Expected property `contentType` to be of type `string` but received type `Date` in object', + ); + await expect(store.setValue('key', 'value', { contentType: '' })).rejects.toThrow( + 'Expected property string `contentType` to not be empty in object', + ); }); test('throws on invalid key', async () => { @@ -332,7 +360,7 @@ describe('KeyValueStore', () => { }); const mockSetRecord = vitest - // @ts-expect-error Accessing private property + // @ts-expect-error Accessing private property .spyOn(store.client, 'setRecord') .mockResolvedValueOnce(null); @@ -452,9 +480,12 @@ describe('KeyValueStore', () => { }); const results: [string, number, { size: number }][] = []; - await store.forEachKey(async (key, index, info) => { - results.push([key, index, info]); - }, { exclusiveStartKey: 'key0' }); + await store.forEachKey( + async (key, index, info) => { + results.push([key, index, info]); + }, + { exclusiveStartKey: 'key0' }, + ); expect(mockListKeys).toBeCalledTimes(3); expect(mockListKeys).toHaveBeenNthCalledWith(1, { exclusiveStartKey: 'key0' }); diff --git a/test/core/storages/request_queue.test.ts b/test/core/storages/request_queue.test.ts index 8ad854d9e114..aab8dc100835 100644 --- a/test/core/storages/request_queue.test.ts +++ b/test/core/storages/request_queue.test.ts @@ -4,7 +4,7 @@ import { QUERY_HEAD_MIN_LENGTH, API_PROCESSED_REQUESTS_DELAY_MILLIS, STORAGE_CONSISTENCY_DELAY_MILLIS, - RequestQueue, + RequestQueueV1 as RequestQueue, Request, Configuration, ProxyConfiguration, @@ -37,9 +37,7 @@ describe('RequestQueue remote', () => { wasAlreadyHandled: false, wasAlreadyPresent: false, }; - const mockAddRequest = vitest - .spyOn(queue.client, 'addRequest') - .mockResolvedValueOnce(firstResolveValue); + const mockAddRequest = vitest.spyOn(queue.client, 'addRequest').mockResolvedValueOnce(firstResolveValue); const requestOptions = { url: 'http://example.com/a' }; const queueOperationInfo1 = await queue.addRequest(requestOptions); @@ -90,14 +88,21 @@ describe('RequestQueue remote', () => { expect(queue.inProgressCount()).toBe(1); // Test validations - await queue.markRequestHandled(new Request({ id: 'XXX', url: 'https://example.com' })) - .catch((err) => expect(err.message).toMatch(/Cannot mark request XXX as handled, because it is not in progress/)); - await queue.reclaimRequest(new Request({ id: 'XXX', url: 'https://example.com' })) + await queue + .markRequestHandled(new Request({ id: 'XXX', url: 'https://example.com' })) + .catch((err) => + expect(err.message).toMatch(/Cannot mark request XXX as handled, because it is not in progress/), + ); + await queue + .reclaimRequest(new Request({ id: 'XXX', url: 'https://example.com' })) .catch((err) => expect(err.message).toMatch(/Cannot reclaim request XXX, because it is not in progress/)); - await queue.addRequest(new Request({ id: 'id-already-set', url: 'https://example.com' })) - .catch((err) => expect(err.message).toMatch( - 'Expected property `id` to be of type `undefined` but received type `string` in object', - )); + await queue + .addRequest(new Request({ id: 'id-already-set', url: 'https://example.com' })) + .catch((err) => + expect(err.message).toMatch( + 'Expected property `id` to be of type `undefined` but received type `string` in object', + ), + ); // getRequest() returns null if object was not found. mockGetRequest.mockResolvedValueOnce(null); @@ -340,9 +345,7 @@ describe('RequestQueue remote', () => { // Query queue head with request A const listHeadMock = vitest.spyOn(queue.client, 'listHead'); listHeadMock.mockResolvedValueOnce({ - items: [ - { id: 'a', uniqueKey: 'aaa' }, - ], + items: [{ id: 'a', uniqueKey: 'aaa' }], } as never); expect(await queue.isEmpty()).toBe(false); @@ -403,9 +406,7 @@ describe('RequestQueue remote', () => { }); listHeadMock.mockResolvedValueOnce({ - items: [ - { id: 'a', uniqueKey: 'aaa' }, - ], + items: [{ id: 'a', uniqueKey: 'aaa' }], } as never); const fetchedRequest2 = await queue.fetchNextRequest(); @@ -646,9 +647,7 @@ describe('RequestQueue remote', () => { hadMultipleClients: false, }; - const getMock = vitest - .spyOn(queue.client, 'get') - .mockResolvedValueOnce(expected); + const getMock = vitest.spyOn(queue.client, 'get').mockResolvedValueOnce(expected); const result = await queue.getInfo(); expect(result).toEqual(expected); @@ -658,9 +657,7 @@ describe('RequestQueue remote', () => { test('drop() works', async () => { const queue = new RequestQueue({ id: 'some-id', name: 'some-name', client: storageClient }); - const deleteMock = vitest - .spyOn(queue.client, 'delete') - .mockResolvedValueOnce(undefined); + const deleteMock = vitest.spyOn(queue.client, 'delete').mockResolvedValueOnce(undefined); await queue.drop(); expect(deleteMock).toBeCalledTimes(1); @@ -717,15 +714,8 @@ describe('RequestQueue with requestsFromUrl', () => { test('should correctly load list from hosted files in correct order', async () => { const spy = vitest.spyOn(RequestQueue.prototype as any, '_downloadListOfUrls'); - const list1 = [ - 'https://example.com', - 'https://google.com', - 'https://wired.com', - ]; - const list2 = [ - 'https://another.com', - 'https://page.com', - ]; + const list1 = ['https://example.com', 'https://google.com', 'https://wired.com']; + const list2 = ['https://another.com', 'https://page.com']; spy.mockImplementationOnce(() => new Promise((resolve) => setTimeout(resolve(list1) as any, 100)) as any); spy.mockResolvedValueOnce(list2); @@ -767,11 +757,7 @@ describe('RequestQueue with requestsFromUrl', () => { }); test('should fix gdoc sharing url in `requestsFromUrl` automatically (GH issue #639)', async () => { - const list = [ - 'https://example.com', - 'https://google.com', - 'https://wired.com', - ]; + const list = ['https://example.com', 'https://google.com', 'https://wired.com']; const wrongUrls = [ 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU', 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/', @@ -780,7 +766,8 @@ describe('RequestQueue with requestsFromUrl', () => { 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/?q=blablabla', 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/edit#gid=0', ]; - const correctUrl = 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/gviz/tq?tqx=out:csv'; + const correctUrl = + 'https://docs.google.com/spreadsheets/d/11UGSBOSXy5Ov2WEP9nr4kSIxQJmH18zh-5onKtBsovU/gviz/tq?tqx=out:csv'; gotScrapingSpy.mockResolvedValue({ body: JSON.stringify(list) } as any); @@ -812,10 +799,7 @@ describe('RequestQueue with requestsFromUrl', () => { }); test('should use the defined proxy server when using `requestsFromUrl`', async () => { - const proxyUrls = [ - 'http://proxyurl.usedforthe.download', - 'http://another.proxy.url', - ]; + const proxyUrls = ['http://proxyurl.usedforthe.download', 'http://another.proxy.url']; const spy = vitest.spyOn(RequestQueue.prototype as any, '_downloadListOfUrls'); spy.mockResolvedValue([]); @@ -838,7 +822,7 @@ describe('RequestQueue with requestsFromUrl', () => { describe('RequestQueue v2', () => { const totalRequestsPerTest = 50; - function calculateHistogram(requests: { uniqueKey: string }[]) : number[] { + function calculateHistogram(requests: { uniqueKey: string }[]): number[] { const histogram: number[] = []; for (const item of requests) { const key = item.uniqueKey; @@ -856,7 +840,9 @@ describe('RequestQueue v2', () => { } function getUniqueRequests(count: number) { - return new Array(count).fill(0).map((_, i) => new Request({ url: `http://example.com/${i}`, uniqueKey: String(i) })); + return new Array(count) + .fill(0) + .map((_, i) => new Request({ url: `http://example.com/${i}`, uniqueKey: String(i) })); } test('listAndLockHead works as expected', async () => { @@ -877,11 +863,17 @@ describe('RequestQueue v2', () => { const queue = await getEmptyQueue('lock-timers'); await queue.addRequests(getUniqueRequests(totalRequestsPerTest)); - const { items: firstFetch } = await queue.client.listAndLockHead({ limit: totalRequestsPerTest / 2, lockSecs: 60 }); + const { items: firstFetch } = await queue.client.listAndLockHead({ + limit: totalRequestsPerTest / 2, + lockSecs: 60, + }); vitest.advanceTimersByTime(65000); - const { items: secondFetch } = await queue.client.listAndLockHead({ limit: totalRequestsPerTest / 2, lockSecs: 60 }); + const { items: secondFetch } = await queue.client.listAndLockHead({ + limit: totalRequestsPerTest / 2, + lockSecs: 60, + }); const histogram = calculateHistogram([...firstFetch, ...secondFetch]); expect(histogram).toEqual(Array(totalRequestsPerTest / 2).fill(2)); diff --git a/test/e2e/.eslintrc.json b/test/e2e/.eslintrc.json index a81cd4b2650c..43153b0c7fdf 100644 --- a/test/e2e/.eslintrc.json +++ b/test/e2e/.eslintrc.json @@ -1,17 +1,13 @@ { "root": true, - "extends": "@apify/eslint-config-ts", + "extends": ["@apify/eslint-config-ts", "prettier"], "parserOptions": { - "project": null, + "project": null, "ecmaVersion": 2022 }, - "ignorePatterns": [ - "node_modules", - "dist", - "**/*.d.ts" - ], + "ignorePatterns": ["node_modules", "dist", "**/*.d.ts"], "rules": { - "@typescript-eslint/ban-ts-comment": 0, + "@typescript-eslint/ban-ts-comment": 0, "import/extensions": 0, "import/no-extraneous-dependencies": 0 } diff --git a/test/e2e/automatic-persist-value/actor/main.js b/test/e2e/automatic-persist-value/actor/main.js index cc9a0f6f566a..2d516ac5ca6b 100644 --- a/test/e2e/automatic-persist-value/actor/main.js +++ b/test/e2e/automatic-persist-value/actor/main.js @@ -3,7 +3,10 @@ import { BasicCrawler } from '@crawlee/basic'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/automatic-persist-value/test.mjs b/test/e2e/automatic-persist-value/test.mjs index b5bb21265411..329ac0574f80 100644 --- a/test/e2e/automatic-persist-value/test.mjs +++ b/test/e2e/automatic-persist-value/test.mjs @@ -16,4 +16,7 @@ await expect(item !== undefined, 'Key-value store auto-saved value is named "cra const parsed = JSON.parse(item.raw.toString()); await expect(typeof parsed === 'object' && parsed !== null, 'Key-value store auto-save value is a non-nullable object'); -await expect(parsed.crawlee === 'awesome!', 'Key-value store auto-save value has a property "crawlee" that is set to "awesome!"'); +await expect( + parsed.crawlee === 'awesome!', + 'Key-value store auto-save value has a property "crawlee" that is set to "awesome!"', +); diff --git a/test/e2e/autoscaling-max-tasks-per-minute/actor/main.js b/test/e2e/autoscaling-max-tasks-per-minute/actor/main.js index 2bd3e2bc1f9b..4b977736572a 100644 --- a/test/e2e/autoscaling-max-tasks-per-minute/actor/main.js +++ b/test/e2e/autoscaling-max-tasks-per-minute/actor/main.js @@ -8,7 +8,10 @@ const crawlerLogger = defaultLog.child({ const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; let crawlCalledAt = Date.now(); diff --git a/test/e2e/cheerio-default-ts/actor/.eslintrc.json b/test/e2e/cheerio-default-ts/actor/.eslintrc.json index 0c4c1ee86c95..337ad01eb73e 100644 --- a/test/e2e/cheerio-default-ts/actor/.eslintrc.json +++ b/test/e2e/cheerio-default-ts/actor/.eslintrc.json @@ -2,7 +2,7 @@ "root": true, "extends": "../../.eslintrc.json", "parserOptions": { - "project": "./test/e2e/cheerio-default-ts/actor/tsconfig.json", + "project": "./test/e2e/cheerio-default-ts/actor/tsconfig.json", "ecmaVersion": 2022 } } diff --git a/test/e2e/cheerio-default-ts/actor/tsconfig.json b/test/e2e/cheerio-default-ts/actor/tsconfig.json index 741845092b90..7a212668d291 100644 --- a/test/e2e/cheerio-default-ts/actor/tsconfig.json +++ b/test/e2e/cheerio-default-ts/actor/tsconfig.json @@ -1,11 +1,9 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "module": "ES2022", - "target": "ES2022", - "lib": ["DOM"] - }, - "include": [ - "./**/*.ts" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "ES2022", + "target": "ES2022", + "lib": ["DOM"] + }, + "include": ["./**/*.ts"] } diff --git a/test/e2e/cheerio-default/actor/main.js b/test/e2e/cheerio-default/actor/main.js index 4144f74194ac..a1a8b9357111 100644 --- a/test/e2e/cheerio-default/actor/main.js +++ b/test/e2e/cheerio-default/actor/main.js @@ -3,13 +3,18 @@ import { CheerioCrawler, Dataset } from '@crawlee/cheerio'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new CheerioCrawler({ statusMessageCallback: async (ctx) => { - return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); + return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { + level: 'INFO', + }); }, statusMessageLoggingInterval: 1, async requestHandler({ $, enqueueLinks, request, log }) { diff --git a/test/e2e/cheerio-enqueue-links-base/actor/main.js b/test/e2e/cheerio-enqueue-links-base/actor/main.js index 514fa7934933..ac2ad0848a44 100644 --- a/test/e2e/cheerio-enqueue-links-base/actor/main.js +++ b/test/e2e/cheerio-enqueue-links-base/actor/main.js @@ -3,7 +3,10 @@ import { CheerioCrawler, Dataset } from '@crawlee/cheerio'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/cheerio-enqueue-links/actor/main.js b/test/e2e/cheerio-enqueue-links/actor/main.js index 8eea5b3f6c8a..2fdd1051af5c 100644 --- a/test/e2e/cheerio-enqueue-links/actor/main.js +++ b/test/e2e/cheerio-enqueue-links/actor/main.js @@ -4,7 +4,10 @@ import deepEqual from 'deep-equal'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/cheerio-error-snapshot/actor/.actor/actor.json b/test/e2e/cheerio-error-snapshot/actor/.actor/actor.json new file mode 100644 index 000000000000..13d855466bf0 --- /dev/null +++ b/test/e2e/cheerio-error-snapshot/actor/.actor/actor.json @@ -0,0 +1,7 @@ +{ + "actorSpecification": 1, + "name": "test-cheerio-error-snapshot", + "version": "0.0", + "buildTag": "latest", + "env": null +} diff --git a/test/e2e/cheerio-error-snapshot/actor/.gitignore b/test/e2e/cheerio-error-snapshot/actor/.gitignore new file mode 100644 index 000000000000..ced7cbfc582d --- /dev/null +++ b/test/e2e/cheerio-error-snapshot/actor/.gitignore @@ -0,0 +1,7 @@ +.idea +.DS_Store +node_modules +package-lock.json +apify_storage +crawlee_storage +storage diff --git a/test/e2e/cheerio-error-snapshot/actor/Dockerfile b/test/e2e/cheerio-error-snapshot/actor/Dockerfile new file mode 100644 index 000000000000..36afd80b9648 --- /dev/null +++ b/test/e2e/cheerio-error-snapshot/actor/Dockerfile @@ -0,0 +1,16 @@ +FROM apify/actor-node:20-beta + +COPY packages ./packages +COPY package*.json ./ + +RUN npm --quiet set progress=false \ + && npm install --only=prod --no-optional --no-audit \ + && npm update --no-audit \ + && echo "Installed NPM packages:" \ + && (npm list --only=prod --no-optional --all || true) \ + && echo "Node.js version:" \ + && node --version \ + && echo "NPM version:" \ + && npm --version + +COPY . ./ diff --git a/test/e2e/cheerio-error-snapshot/actor/main.js b/test/e2e/cheerio-error-snapshot/actor/main.js new file mode 100644 index 000000000000..8448a85fd7e8 --- /dev/null +++ b/test/e2e/cheerio-error-snapshot/actor/main.js @@ -0,0 +1,63 @@ +import { CheerioCrawler } from '@crawlee/cheerio'; +import { sleep } from '@crawlee/utils'; +import { Actor } from 'apify'; + +const mainOptions = { + exit: Actor.isAtHome(), + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, +}; + +const LABELS = { + TIMEOUT: 'TIMEOUT', + TYPE_ERROR: 'TYPE_ERROR', + ERROR_OPENING_PAGE: 'ERROR_OPENING_PAGE', + POST_NAVIGATION_ERROR: 'POST_NAVIGATION_ERROR', +}; + +// Pre Navigation errors snapshots will not be saved as we don't get the response in the context +await Actor.main(async () => { + const crawler = new CheerioCrawler({ + requestHandlerTimeoutSecs: 2, + maxRequestRetries: 0, + statisticsOptions: { + saveErrorSnapshots: true, + }, + async requestHandler({ $, request, log }) { + const { + userData: { label }, + } = request; + + if (label === LABELS.TIMEOUT) { + log.error('Timeout error'); + await sleep(20_000); + } + if (label === LABELS.TYPE_ERROR) { + log.error('TypeError: $(...).error is not a function'); + $().error(); + } else if (label === LABELS.ERROR_OPENING_PAGE) { + log.error('Error opening page'); + throw new Error('An error occurred while opening the page'); + } + }, + postNavigationHooks: [ + async ({ request, log }) => { + const { + userData: { label }, + } = request; + + // Post navigation errors snapshots are not saved as we don't get the body in the context + if (label === LABELS.POST_NAVIGATION_ERROR) { + log.error('Post navigation error'); + throw new Error('Unable to navigate to the requested post'); + } + }, + ], + }); + + await crawler.run( + Object.values(LABELS).map((label) => ({ url: 'https://example.com', userData: { label }, uniqueKey: label })), + ); +}, mainOptions); diff --git a/test/e2e/cheerio-error-snapshot/actor/package.json b/test/e2e/cheerio-error-snapshot/actor/package.json new file mode 100644 index 000000000000..988e6e0806c8 --- /dev/null +++ b/test/e2e/cheerio-error-snapshot/actor/package.json @@ -0,0 +1,28 @@ +{ + "name": "test-cheerio-error-snapshot", + "version": "0.0.1", + "description": "Cheerio Crawler Test - Should save errors snapshots", + "dependencies": { + "apify": "next", + "@apify/storage-local": "^2.1.3", + "@crawlee/basic": "file:./packages/basic-crawler", + "@crawlee/browser-pool": "file:./packages/browser-pool", + "@crawlee/http": "file:./packages/http-crawler", + "@crawlee/cheerio": "file:./packages/cheerio-crawler", + "@crawlee/core": "file:./packages/core", + "@crawlee/memory-storage": "file:./packages/memory-storage", + "@crawlee/types": "file:./packages/types", + "@crawlee/utils": "file:./packages/utils" + }, + "overrides": { + "apify": { + "@crawlee/core": "file:./packages/core", + "@crawlee/utils": "file:./packages/utils" + } + }, + "scripts": { + "start": "node main.js" + }, + "type": "module", + "license": "ISC" +} diff --git a/test/e2e/cheerio-error-snapshot/test.mjs b/test/e2e/cheerio-error-snapshot/test.mjs new file mode 100644 index 000000000000..912f6a7bf24d --- /dev/null +++ b/test/e2e/cheerio-error-snapshot/test.mjs @@ -0,0 +1,21 @@ +import { initialize, getActorTestDir, runActor, expect, hasNestedKey } from '../tools.mjs'; + +const testActorDirname = getActorTestDir(import.meta.url); +await initialize(testActorDirname); + +const { stats, defaultKeyValueStoreItems } = await runActor(testActorDirname); + +// All requests should fail to test the error snapshots +await expect(stats.requestsFailed === 4, 'All requests failed'); + +let totalErrorHtmlFiles = 0; +for (const error of Object.values(stats.errors)) { + if (hasNestedKey(error, 'firstErrorHtmlUrl')) { + totalErrorHtmlFiles++; + } +} + +// Count of error HTML files stored in the stats to make sure they are saved +await expect(totalErrorHtmlFiles === 3, 'Number of HTML error files in stats should be 3'); +// Count of error HTML files stored in the Key-Value store +await expect(defaultKeyValueStoreItems.length === 3, 'Number of HTML error files in KV store should be 3'); diff --git a/test/e2e/cheerio-ignore-ssl-errors/actor/main.js b/test/e2e/cheerio-ignore-ssl-errors/actor/main.js index 55d3d514591d..0686f7044124 100644 --- a/test/e2e/cheerio-ignore-ssl-errors/actor/main.js +++ b/test/e2e/cheerio-ignore-ssl-errors/actor/main.js @@ -3,14 +3,20 @@ import { CheerioCrawler, Dataset } from '@crawlee/cheerio'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new CheerioCrawler({ ignoreSslErrors: true, async requestHandler({ $, enqueueLinks, request, log }) { - const { url, userData: { label } } = request; + const { + url, + userData: { label }, + } = request; if (label === 'START') { log.info('Bad ssl page opened!'); diff --git a/test/e2e/cheerio-ignore-ssl-errors/test.mjs b/test/e2e/cheerio-ignore-ssl-errors/test.mjs index 7ca6b9b20597..235afc5f1717 100644 --- a/test/e2e/cheerio-ignore-ssl-errors/test.mjs +++ b/test/e2e/cheerio-ignore-ssl-errors/test.mjs @@ -7,7 +7,4 @@ const { stats, datasetItems } = await runActor(testActorDirname); await expect(stats.requestsFinished > 20, 'All requests finished'); await expect(datasetItems.length > 20, 'Minimum number of dataset items'); -await expect( - validateDataset(datasetItems, ['url', 'title']), - 'Dataset items validation', -); +await expect(validateDataset(datasetItems, ['url', 'title']), 'Dataset items validation'); diff --git a/test/e2e/cheerio-initial-cookies/actor/main.js b/test/e2e/cheerio-initial-cookies/actor/main.js index e58ac6243401..a1dcf6874477 100644 --- a/test/e2e/cheerio-initial-cookies/actor/main.js +++ b/test/e2e/cheerio-initial-cookies/actor/main.js @@ -26,25 +26,33 @@ const expectedCookies = [ const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new CheerioCrawler({ additionalMimeTypes: ['application/json'], - preNavigationHooks: [({ session, request }, gotOptions) => { - session.setCookies([ - { - name: 'session', - value: 'true', - }, - ], request.url); - request.headers.cookie = 'hook_request=true'; + preNavigationHooks: [ + ({ session, request }, gotOptions) => { + session.setCookies( + [ + { + name: 'session', + value: 'true', + }, + ], + request.url, + ); + request.headers.cookie = 'hook_request=true'; - gotOptions.headers ??= {}; - gotOptions.headers.Cookie = 'got_options_upper_case=true'; - gotOptions.headers.cookie = 'got_options_lower_case=true'; - }], + gotOptions.headers ??= {}; + gotOptions.headers.Cookie = 'got_options_upper_case=true'; + gotOptions.headers.cookie = 'got_options_lower_case=true'; + }, + ], async requestHandler({ json }) { const initialCookiesLength = expectedCookies.length; @@ -56,7 +64,11 @@ await Actor.main(async () => { let numberOfMatchingCookies = 0; for (const cookie of expectedCookies) { - if (pageCookies.some((pageCookie) => pageCookie.name === cookie.name && pageCookie.value === cookie.value)) { + if ( + pageCookies.some( + (pageCookie) => pageCookie.name === cookie.name && pageCookie.value === cookie.value, + ) + ) { numberOfMatchingCookies++; } } diff --git a/test/e2e/cheerio-initial-cookies/test.mjs b/test/e2e/cheerio-initial-cookies/test.mjs index 6987142a00e4..e09a30125dde 100644 --- a/test/e2e/cheerio-initial-cookies/test.mjs +++ b/test/e2e/cheerio-initial-cookies/test.mjs @@ -9,6 +9,6 @@ await expect(stats.requestsFinished === 1, 'All requests finished'); await expect(datasetItems[0].numberOfMatchingCookies === 5, 'Number of page cookies'); await expect( datasetItems[0].numberOfMatchingCookies === datasetItems[0].initialCookiesLength, - `Page cookies match the initial defined cookies. Number of non-matching cookies is ` - + `${datasetItems[0].initialCookiesLength - datasetItems[0].numberOfMatchingCookies}`, + `Page cookies match the initial defined cookies. Number of non-matching cookies is ` + + `${datasetItems[0].initialCookiesLength - datasetItems[0].numberOfMatchingCookies}`, ); diff --git a/test/e2e/cheerio-max-requests/actor/main.js b/test/e2e/cheerio-max-requests/actor/main.js index 7299c3997c92..0b0e27bd2bfa 100644 --- a/test/e2e/cheerio-max-requests/actor/main.js +++ b/test/e2e/cheerio-max-requests/actor/main.js @@ -3,7 +3,10 @@ import { CheerioCrawler, Dataset } from '@crawlee/cheerio'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { @@ -11,16 +14,23 @@ await Actor.main(async () => { maxRequestsPerCrawl: 10, autoscaledPoolOptions: { desiredConcurrency: 2 }, async requestHandler({ $, request }) { - const { url, userData: { label } } = request; + const { + url, + userData: { label }, + } = request; if (label === 'START') { - const links = $('a.card').toArray().map((item) => $(item).attr('href')); + const links = $('a.card') + .toArray() + .map((item) => $(item).attr('href')); for (const link of links) { const actorDetailUrl = `https://crawlee.dev${link}`; - await crawler.addRequests([{ - url: actorDetailUrl, - userData: { label: 'DETAIL' }, - }]); + await crawler.addRequests([ + { + url: actorDetailUrl, + userData: { label: 'DETAIL' }, + }, + ]); } } else if (label === 'DETAIL') { const uniqueIdentifier = url.split('/').slice(-2).join('/'); diff --git a/test/e2e/cheerio-page-info/actor/main.js b/test/e2e/cheerio-page-info/actor/main.js index dd8bbeef5777..3d4eaf06fe67 100644 --- a/test/e2e/cheerio-page-info/actor/main.js +++ b/test/e2e/cheerio-page-info/actor/main.js @@ -3,7 +3,10 @@ import { CheerioCrawler, createCheerioRouter, Dataset } from '@crawlee/cheerio'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; const router = createCheerioRouter(); diff --git a/test/e2e/cheerio-request-queue-v2/actor/main.js b/test/e2e/cheerio-request-queue-v2/actor/main.js index ee59ab9c54d9..fc5336197e69 100644 --- a/test/e2e/cheerio-request-queue-v2/actor/main.js +++ b/test/e2e/cheerio-request-queue-v2/actor/main.js @@ -3,7 +3,10 @@ import { CheerioCrawler, Dataset } from '@crawlee/cheerio'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/cheerio-throw-on-ssl-errors/actor/main.js b/test/e2e/cheerio-throw-on-ssl-errors/actor/main.js index be3d34bead74..9cb577437158 100644 --- a/test/e2e/cheerio-throw-on-ssl-errors/actor/main.js +++ b/test/e2e/cheerio-throw-on-ssl-errors/actor/main.js @@ -3,14 +3,19 @@ import { CheerioCrawler, Dataset } from '@crawlee/cheerio'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new CheerioCrawler({ ignoreSslErrors: false, async requestHandler({ $, enqueueLinks, request, log }) { - const { userData: { label } } = request; + const { + userData: { label }, + } = request; if (label === 'START') { log.info('Bad ssl page opened!'); diff --git a/test/e2e/input-json5/actor/main.js b/test/e2e/input-json5/actor/main.js index bd137ca0c34e..b554cf7c47dc 100644 --- a/test/e2e/input-json5/actor/main.js +++ b/test/e2e/input-json5/actor/main.js @@ -2,7 +2,10 @@ import { Actor, Dataset, KeyValueStore, log } from 'apify'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/input-json5/test.mjs b/test/e2e/input-json5/test.mjs index 6a88d2d48f13..b2444904b5d4 100644 --- a/test/e2e/input-json5/test.mjs +++ b/test/e2e/input-json5/test.mjs @@ -10,8 +10,12 @@ await initialize(testActorDirname); const { datasetItems } = await runActor(testActorDirname); await expect(datasetItems.length === 1, 'Number of dataset items'); -await expect(JSON.stringify(datasetItems) === JSON.stringify([ - { - hello: 'world', - }, -]), 'Dataset items validation'); +await expect( + JSON.stringify(datasetItems) === + JSON.stringify([ + { + hello: 'world', + }, + ]), + 'Dataset items validation', +); diff --git a/test/e2e/jsdom-default-ts/actor/.eslintrc.json b/test/e2e/jsdom-default-ts/actor/.eslintrc.json index 7e54966d8bab..2e68e8d4d57f 100644 --- a/test/e2e/jsdom-default-ts/actor/.eslintrc.json +++ b/test/e2e/jsdom-default-ts/actor/.eslintrc.json @@ -2,7 +2,7 @@ "root": true, "extends": "../../.eslintrc.json", "parserOptions": { - "project": "./test/e2e/jsdom-default-ts/actor/tsconfig.json", + "project": "./test/e2e/jsdom-default-ts/actor/tsconfig.json", "ecmaVersion": 2022 } } diff --git a/test/e2e/jsdom-default-ts/actor/tsconfig.json b/test/e2e/jsdom-default-ts/actor/tsconfig.json index 741845092b90..7a212668d291 100644 --- a/test/e2e/jsdom-default-ts/actor/tsconfig.json +++ b/test/e2e/jsdom-default-ts/actor/tsconfig.json @@ -1,11 +1,9 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "module": "ES2022", - "target": "ES2022", - "lib": ["DOM"] - }, - "include": [ - "./**/*.ts" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "ES2022", + "target": "ES2022", + "lib": ["DOM"] + }, + "include": ["./**/*.ts"] } diff --git a/test/e2e/jsdom-react-ts/actor/.eslintrc.json b/test/e2e/jsdom-react-ts/actor/.eslintrc.json index bc134bc2c21e..06b4e5962341 100644 --- a/test/e2e/jsdom-react-ts/actor/.eslintrc.json +++ b/test/e2e/jsdom-react-ts/actor/.eslintrc.json @@ -2,7 +2,7 @@ "root": true, "extends": "../../.eslintrc.json", "parserOptions": { - "project": "./test/e2e/jsdom-react-ts/actor/tsconfig.json", + "project": "./test/e2e/jsdom-react-ts/actor/tsconfig.json", "ecmaVersion": 2022 } } diff --git a/test/e2e/jsdom-react-ts/actor/main.ts b/test/e2e/jsdom-react-ts/actor/main.ts index 2006a0ea58cd..8cd788c1fb81 100644 --- a/test/e2e/jsdom-react-ts/actor/main.ts +++ b/test/e2e/jsdom-react-ts/actor/main.ts @@ -24,8 +24,6 @@ const crawler = new JSDOMCrawler({ }, }); -await crawler.run([ - 'https://ahfarmer.github.io/calculator/', -]); +await crawler.run(['https://ahfarmer.github.io/calculator/']); await Actor.exit({ exit: Actor.isAtHome() }); diff --git a/test/e2e/jsdom-react-ts/actor/tsconfig.json b/test/e2e/jsdom-react-ts/actor/tsconfig.json index 741845092b90..7a212668d291 100644 --- a/test/e2e/jsdom-react-ts/actor/tsconfig.json +++ b/test/e2e/jsdom-react-ts/actor/tsconfig.json @@ -1,11 +1,9 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "module": "ES2022", - "target": "ES2022", - "lib": ["DOM"] - }, - "include": [ - "./**/*.ts" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "ES2022", + "target": "ES2022", + "lib": ["DOM"] + }, + "include": ["./**/*.ts"] } diff --git a/test/e2e/linkedom-default-ts/actor/.eslintrc.json b/test/e2e/linkedom-default-ts/actor/.eslintrc.json index d952e0677d4f..05856d29ddad 100644 --- a/test/e2e/linkedom-default-ts/actor/.eslintrc.json +++ b/test/e2e/linkedom-default-ts/actor/.eslintrc.json @@ -2,7 +2,7 @@ "root": true, "extends": "../../.eslintrc.json", "parserOptions": { - "project": "./test/e2e/linkedom-default-ts/actor/tsconfig.json", + "project": "./test/e2e/linkedom-default-ts/actor/tsconfig.json", "ecmaVersion": 2022 } } diff --git a/test/e2e/linkedom-default-ts/actor/tsconfig.json b/test/e2e/linkedom-default-ts/actor/tsconfig.json index 741845092b90..7a212668d291 100644 --- a/test/e2e/linkedom-default-ts/actor/tsconfig.json +++ b/test/e2e/linkedom-default-ts/actor/tsconfig.json @@ -1,11 +1,9 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "module": "ES2022", - "target": "ES2022", - "lib": ["DOM"] - }, - "include": [ - "./**/*.ts" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "ES2022", + "target": "ES2022", + "lib": ["DOM"] + }, + "include": ["./**/*.ts"] } diff --git a/test/e2e/migration/actor/main.js b/test/e2e/migration/actor/main.js index 709e63a25ac7..b77d46e74f2f 100644 --- a/test/e2e/migration/actor/main.js +++ b/test/e2e/migration/actor/main.js @@ -8,7 +8,10 @@ process.env.CRAWLEE_PURGE_ON_START = '0'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; const thisFile = new URL(import.meta.url); diff --git a/test/e2e/playwright-chromium-experimental-containers/actor/main.js b/test/e2e/playwright-chromium-experimental-containers/actor/main.js index 197be73cdf4a..887cbb744956 100644 --- a/test/e2e/playwright-chromium-experimental-containers/actor/main.js +++ b/test/e2e/playwright-chromium-experimental-containers/actor/main.js @@ -6,7 +6,10 @@ process.exit(404); const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { @@ -15,9 +18,11 @@ await Actor.main(async () => { launchContext: { experimentalContainers: true, }, - preNavigationHooks: [(_ctx, goToOptions) => { - goToOptions.waitUntil = 'networkidle'; - }], + preNavigationHooks: [ + (_ctx, goToOptions) => { + goToOptions.waitUntil = 'networkidle'; + }, + ], async requestHandler({ page }) { const content = await page.content(); await Dataset.pushData({ ip: content.match(/"clientIp":\s*"(.*)"/)?.[1] }); diff --git a/test/e2e/playwright-default/actor/main.js b/test/e2e/playwright-default/actor/main.js index 5ef039f1d871..dc10bacf8f9b 100644 --- a/test/e2e/playwright-default/actor/main.js +++ b/test/e2e/playwright-default/actor/main.js @@ -3,14 +3,19 @@ import { Dataset, PlaywrightCrawler } from '@crawlee/playwright'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new PlaywrightCrawler({ - preNavigationHooks: [(_ctx, goToOptions) => { - goToOptions.waitUntil = 'networkidle'; - }], + preNavigationHooks: [ + (_ctx, goToOptions) => { + goToOptions.waitUntil = 'networkidle'; + }, + ], async requestHandler({ page, enqueueLinks, request }) { const { url } = request; const pageTitle = await page.title(); diff --git a/test/e2e/playwright-enqueue-links-base/actor/main.js b/test/e2e/playwright-enqueue-links-base/actor/main.js index 9db543080150..0a2c7a319c3a 100644 --- a/test/e2e/playwright-enqueue-links-base/actor/main.js +++ b/test/e2e/playwright-enqueue-links-base/actor/main.js @@ -3,7 +3,10 @@ import { PlaywrightCrawler, Dataset } from '@crawlee/playwright'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/playwright-enqueue-links/actor/main.js b/test/e2e/playwright-enqueue-links/actor/main.js index a5c2911f4490..d1ed93902387 100644 --- a/test/e2e/playwright-enqueue-links/actor/main.js +++ b/test/e2e/playwright-enqueue-links/actor/main.js @@ -6,7 +6,10 @@ process.env.APIFY_LOG_LEVEL = 'DEBUG'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/playwright-firefox-experimental-containers/actor/main.js b/test/e2e/playwright-firefox-experimental-containers/actor/main.js index 2cf16259d1ea..a07251a8036d 100644 --- a/test/e2e/playwright-firefox-experimental-containers/actor/main.js +++ b/test/e2e/playwright-firefox-experimental-containers/actor/main.js @@ -7,7 +7,10 @@ process.exit(404); const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { @@ -17,9 +20,11 @@ await Actor.main(async () => { launcher: playwright.firefox, experimentalContainers: true, }, - preNavigationHooks: [(_ctx, goToOptions) => { - goToOptions.waitUntil = 'networkidle'; - }], + preNavigationHooks: [ + (_ctx, goToOptions) => { + goToOptions.waitUntil = 'networkidle'; + }, + ], async requestHandler({ page }) { const content = await page.content(); await Dataset.pushData({ ip: content.match(/"clientIp":\s*"(.*)"/)?.[1] }); diff --git a/test/e2e/playwright-initial-cookies/actor/main.js b/test/e2e/playwright-initial-cookies/actor/main.js index 815aba135a13..0c1f2b05b027 100644 --- a/test/e2e/playwright-initial-cookies/actor/main.js +++ b/test/e2e/playwright-initial-cookies/actor/main.js @@ -18,22 +18,30 @@ const expectedCookies = [ const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new PlaywrightCrawler({ - preNavigationHooks: [({ session, request }, goToOptions) => { - session.setCookies([ - { - name: 'session', - value: 'true', - }, - ], request.url); - request.headers.cookie = 'hook_request=true'; - - goToOptions.waitUntil = 'networkidle'; - }], + preNavigationHooks: [ + ({ session, request }, goToOptions) => { + session.setCookies( + [ + { + name: 'session', + value: 'true', + }, + ], + request.url, + ); + request.headers.cookie = 'hook_request=true'; + + goToOptions.waitUntil = 'networkidle'; + }, + ], async requestHandler({ page }) { const initialCookiesLength = expectedCookies.length; @@ -41,7 +49,11 @@ await Actor.main(async () => { let numberOfMatchingCookies = 0; for (const cookie of expectedCookies) { - if (pageCookies.some((pageCookie) => pageCookie.name === cookie.name && pageCookie.value === cookie.value)) { + if ( + pageCookies.some( + (pageCookie) => pageCookie.name === cookie.name && pageCookie.value === cookie.value, + ) + ) { numberOfMatchingCookies++; } } diff --git a/test/e2e/playwright-initial-cookies/test.mjs b/test/e2e/playwright-initial-cookies/test.mjs index a93bcf543052..a24cd3a3ef0e 100644 --- a/test/e2e/playwright-initial-cookies/test.mjs +++ b/test/e2e/playwright-initial-cookies/test.mjs @@ -9,6 +9,6 @@ await expect(stats.requestsFinished === 1, 'All requests finished'); await expect(datasetItems[0].numberOfMatchingCookies === 3, 'Number of page cookies'); await expect( datasetItems[0].numberOfMatchingCookies === datasetItems[0].initialCookiesLength, - `Page cookies match the initial defined cookies. Number of non-matching cookies is ` - + `${datasetItems[0].initialCookiesLength - datasetItems[0].numberOfMatchingCookies}`, + `Page cookies match the initial defined cookies. Number of non-matching cookies is ` + + `${datasetItems[0].initialCookiesLength - datasetItems[0].numberOfMatchingCookies}`, ); diff --git a/test/e2e/playwright-introduction-guide/actor/main.js b/test/e2e/playwright-introduction-guide/actor/main.js index 66c5ce498627..5d232eed6614 100644 --- a/test/e2e/playwright-introduction-guide/actor/main.js +++ b/test/e2e/playwright-introduction-guide/actor/main.js @@ -1,7 +1,12 @@ import { Actor } from 'apify'; import { Dataset, createPlaywrightRouter, PlaywrightCrawler } from '@crawlee/playwright'; -await Actor.init({ storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined }); +await Actor.init({ + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, +}); // createPlaywrightRouter() is only a helper to get better // intellisense and typings. You can use Router.create() too. @@ -13,9 +18,7 @@ router.addHandler('DETAIL', async ({ request, page, log }) => { const manufacturer = urlPart[0].split('-')[0]; // 'sennheiser' const title = await page.locator('.product-meta h1').textContent(); - const sku = await page - .locator('span.product-meta__sku-number') - .textContent(); + const sku = await page.locator('span.product-meta__sku-number').textContent(); const priceElement = page .locator('span.price') diff --git a/test/e2e/proxy-rotation/actor/main.js b/test/e2e/proxy-rotation/actor/main.js index 00741af34972..db66b0ad1cb6 100644 --- a/test/e2e/proxy-rotation/actor/main.js +++ b/test/e2e/proxy-rotation/actor/main.js @@ -3,7 +3,10 @@ import { Dataset, KeyValueStore, PuppeteerCrawler } from '@crawlee/puppeteer'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { @@ -24,8 +27,7 @@ await Actor.main(async () => { }, }); - await crawler.run(Array.from( - { length: 5 }, - (_, i) => ({ url: 'https://api.apify.com/v2/browser-info', uniqueKey: `${i}` }), - )); + await crawler.run( + Array.from({ length: 5 }, (_, i) => ({ url: 'https://api.apify.com/v2/browser-info', uniqueKey: `${i}` })), + ); }, mainOptions); diff --git a/test/e2e/puppeteer-default/actor/main.js b/test/e2e/puppeteer-default/actor/main.js index 2a4badbcb46c..fde7a900ab50 100644 --- a/test/e2e/puppeteer-default/actor/main.js +++ b/test/e2e/puppeteer-default/actor/main.js @@ -3,14 +3,19 @@ import { Dataset, PuppeteerCrawler } from '@crawlee/puppeteer'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new PuppeteerCrawler({ - preNavigationHooks: [(_ctx, goToOptions) => { - goToOptions.waitUntil = ['networkidle2']; - }], + preNavigationHooks: [ + (_ctx, goToOptions) => { + goToOptions.waitUntil = ['networkidle2']; + }, + ], async requestHandler({ page, enqueueLinks, request, infiniteScroll }) { await infiniteScroll(); const { url } = request; diff --git a/test/e2e/puppeteer-enqueue-links/actor/main.js b/test/e2e/puppeteer-enqueue-links/actor/main.js index 63fbdfda4069..63bf0424ac75 100644 --- a/test/e2e/puppeteer-enqueue-links/actor/main.js +++ b/test/e2e/puppeteer-enqueue-links/actor/main.js @@ -4,7 +4,10 @@ import deepEqual from 'deep-equal'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/puppeteer-error-snapshot/actor/.actor/actor.json b/test/e2e/puppeteer-error-snapshot/actor/.actor/actor.json new file mode 100644 index 000000000000..827dc94c4e26 --- /dev/null +++ b/test/e2e/puppeteer-error-snapshot/actor/.actor/actor.json @@ -0,0 +1,7 @@ +{ + "actorSpecification": 1, + "name": "test-puppeteer-error-snapshot", + "version": "0.0", + "buildTag": "latest", + "env": null +} diff --git a/test/e2e/puppeteer-error-snapshot/actor/.gitignore b/test/e2e/puppeteer-error-snapshot/actor/.gitignore new file mode 100644 index 000000000000..ced7cbfc582d --- /dev/null +++ b/test/e2e/puppeteer-error-snapshot/actor/.gitignore @@ -0,0 +1,7 @@ +.idea +.DS_Store +node_modules +package-lock.json +apify_storage +crawlee_storage +storage diff --git a/test/e2e/puppeteer-error-snapshot/actor/Dockerfile b/test/e2e/puppeteer-error-snapshot/actor/Dockerfile new file mode 100644 index 000000000000..1e7718842183 --- /dev/null +++ b/test/e2e/puppeteer-error-snapshot/actor/Dockerfile @@ -0,0 +1,23 @@ +FROM node:20 AS builder + +COPY /packages ./packages +COPY /package*.json ./ +RUN npm --quiet set progress=false \ + && npm install --only=prod --no-optional --no-audit \ + && npm update + +FROM apify/actor-node-puppeteer-chrome:20-beta + +RUN rm -r node_modules +COPY --from=builder /node_modules ./node_modules +COPY --from=builder /packages ./packages +COPY --from=builder /package*.json ./ +COPY /.actor ./.actor +COPY /main.js ./ + +RUN echo "Installed NPM packages:" \ + && (npm list --only=prod --no-optional --all || true) \ + && echo "Node.js version:" \ + && node --version \ + && echo "NPM version:" \ + && npm --version diff --git a/test/e2e/puppeteer-error-snapshot/actor/main.js b/test/e2e/puppeteer-error-snapshot/actor/main.js new file mode 100644 index 000000000000..984c5238e7b3 --- /dev/null +++ b/test/e2e/puppeteer-error-snapshot/actor/main.js @@ -0,0 +1,62 @@ +import { PuppeteerCrawler } from '@crawlee/puppeteer'; +import { sleep } from '@crawlee/utils'; +import { Actor } from 'apify'; + +const mainOptions = { + exit: Actor.isAtHome(), + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, +}; + +const LABELS = { + TIMEOUT: 'TIMEOUT', + TYPE_ERROR: 'TYPE_ERROR', + ERROR_OPENING_PAGE: 'ERROR_OPENING_PAGE', + POST_NAVIGATION_ERROR: 'POST_NAVIGATION_ERROR', +}; + +// Pre Navigation errors snapshots will not be saved as we don't get the response in the context +await Actor.main(async () => { + const crawler = new PuppeteerCrawler({ + requestHandlerTimeoutSecs: 15, + maxRequestRetries: 0, + statisticsOptions: { + saveErrorSnapshots: true, + }, + async requestHandler({ request, log, page }) { + const { + userData: { label }, + } = request; + + if (label === LABELS.TIMEOUT) { + log.error('Timeout error'); + await sleep(30_000); + } + if (label === LABELS.TYPE_ERROR) { + log.error('TypeError: page.error is not a function'); + page.error(); + } else if (label === LABELS.ERROR_OPENING_PAGE) { + log.error('Error opening page'); + throw new Error('An error occurred while opening the page'); + } + }, + postNavigationHooks: [ + async ({ request, log }) => { + const { + userData: { label }, + } = request; + + if (label === LABELS.POST_NAVIGATION_ERROR) { + log.error('Post navigation error'); + throw new Error('Unable to navigate to the requested post'); + } + }, + ], + }); + + await crawler.run( + Object.values(LABELS).map((label) => ({ url: 'https://example.com', userData: { label }, uniqueKey: label })), + ); +}, mainOptions); diff --git a/test/e2e/puppeteer-error-snapshot/actor/package.json b/test/e2e/puppeteer-error-snapshot/actor/package.json new file mode 100644 index 000000000000..ce3638b8fd90 --- /dev/null +++ b/test/e2e/puppeteer-error-snapshot/actor/package.json @@ -0,0 +1,29 @@ +{ + "name": "test-puppeteer-error-snapshot", + "version": "0.0.1", + "description": "Puppeteer Test - Should save errors snapshots", + "dependencies": { + "apify": "next", + "@apify/storage-local": "^2.1.3", + "@crawlee/basic": "file:./packages/basic-crawler", + "@crawlee/browser": "file:./packages/browser-crawler", + "@crawlee/browser-pool": "file:./packages/browser-pool", + "@crawlee/core": "file:./packages/core", + "@crawlee/memory-storage": "file:./packages/memory-storage", + "@crawlee/puppeteer": "file:./packages/puppeteer-crawler", + "@crawlee/types": "file:./packages/types", + "@crawlee/utils": "file:./packages/utils", + "puppeteer": "*" + }, + "overrides": { + "apify": { + "@crawlee/core": "file:./packages/core", + "@crawlee/utils": "file:./packages/utils" + } + }, + "scripts": { + "start": "node main.js" + }, + "type": "module", + "license": "ISC" +} diff --git a/test/e2e/puppeteer-error-snapshot/test.mjs b/test/e2e/puppeteer-error-snapshot/test.mjs new file mode 100644 index 000000000000..06207551272c --- /dev/null +++ b/test/e2e/puppeteer-error-snapshot/test.mjs @@ -0,0 +1,33 @@ +import { initialize, getActorTestDir, runActor, expect, hasNestedKey } from '../tools.mjs'; + +const testActorDirname = getActorTestDir(import.meta.url); +await initialize(testActorDirname); + +const { stats, defaultKeyValueStoreItems } = await runActor(testActorDirname); + +// All requests should fail to test the error snapshots +await expect(stats.requestsFailed === 4, 'All requests failed'); + +let totalErrorHtmlFiles = 0; +let totalErrorScreenshotFiles = 0; +for (const error of Object.values(stats.errors)) { + if (hasNestedKey(error, 'firstErrorHtmlUrl')) { + totalErrorHtmlFiles++; + } +} + +for (const error of Object.values(stats.errors)) { + if (hasNestedKey(error, 'firstErrorScreenshotUrl')) { + totalErrorScreenshotFiles++; + } +} + +// Count of error HTML files stored in the stats to make sure they are saved +await expect(totalErrorHtmlFiles === 4, 'Number of HTML error files in stats should be 4'); +// Count of error Screenshot files stored in the stats to make sure they are saved +await expect(totalErrorScreenshotFiles === 4, 'Number of screenshots error files in stats should be 4'); +// Count of error HTML files and screenshot files stored in the Key-Value store +await expect( + defaultKeyValueStoreItems.length === 8, + 'Number of HTML and screenshot error snapshots in KV store should be 8', +); diff --git a/test/e2e/puppeteer-ignore-ssl-errors/actor/main.js b/test/e2e/puppeteer-ignore-ssl-errors/actor/main.js index f0e677dd1e81..1b6f54498f84 100644 --- a/test/e2e/puppeteer-ignore-ssl-errors/actor/main.js +++ b/test/e2e/puppeteer-ignore-ssl-errors/actor/main.js @@ -3,17 +3,25 @@ import { Dataset, PuppeteerCrawler } from '@crawlee/puppeteer'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new PuppeteerCrawler({ launchContext: { launchOptions: { ignoreHTTPSErrors: true } }, - preNavigationHooks: [(_ctx, goToOptions) => { - goToOptions.waitUntil = ['networkidle2']; - }], + preNavigationHooks: [ + (_ctx, goToOptions) => { + goToOptions.waitUntil = ['networkidle2']; + }, + ], async requestHandler({ page, enqueueLinks, request, log }) { - const { url, userData: { label } } = request; + const { + url, + userData: { label }, + } = request; if (label === 'START') { log.info('Bad ssl page opened!'); diff --git a/test/e2e/puppeteer-initial-cookies/actor/main.js b/test/e2e/puppeteer-initial-cookies/actor/main.js index fa5c423b7b02..89ddc231990b 100644 --- a/test/e2e/puppeteer-initial-cookies/actor/main.js +++ b/test/e2e/puppeteer-initial-cookies/actor/main.js @@ -18,22 +18,30 @@ const expectedCookies = [ const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new PuppeteerCrawler({ - preNavigationHooks: [({ session, request }, goToOptions) => { - session.setCookies([ - { - name: 'session', - value: 'true', - }, - ], request.url); - request.headers.cookie = 'hook_request=true'; - - goToOptions.waitUntil = ['networkidle2']; - }], + preNavigationHooks: [ + ({ session, request }, goToOptions) => { + session.setCookies( + [ + { + name: 'session', + value: 'true', + }, + ], + request.url, + ); + request.headers.cookie = 'hook_request=true'; + + goToOptions.waitUntil = ['networkidle2']; + }, + ], async requestHandler({ page }) { const initialCookiesLength = expectedCookies.length; @@ -41,7 +49,11 @@ await Actor.main(async () => { let numberOfMatchingCookies = 0; for (const cookie of expectedCookies) { - if (pageCookies.some((pageCookie) => pageCookie.name === cookie.name && pageCookie.value === cookie.value)) { + if ( + pageCookies.some( + (pageCookie) => pageCookie.name === cookie.name && pageCookie.value === cookie.value, + ) + ) { numberOfMatchingCookies++; } } diff --git a/test/e2e/puppeteer-initial-cookies/test.mjs b/test/e2e/puppeteer-initial-cookies/test.mjs index a93bcf543052..a24cd3a3ef0e 100644 --- a/test/e2e/puppeteer-initial-cookies/test.mjs +++ b/test/e2e/puppeteer-initial-cookies/test.mjs @@ -9,6 +9,6 @@ await expect(stats.requestsFinished === 1, 'All requests finished'); await expect(datasetItems[0].numberOfMatchingCookies === 3, 'Number of page cookies'); await expect( datasetItems[0].numberOfMatchingCookies === datasetItems[0].initialCookiesLength, - `Page cookies match the initial defined cookies. Number of non-matching cookies is ` - + `${datasetItems[0].initialCookiesLength - datasetItems[0].numberOfMatchingCookies}`, + `Page cookies match the initial defined cookies. Number of non-matching cookies is ` + + `${datasetItems[0].initialCookiesLength - datasetItems[0].numberOfMatchingCookies}`, ); diff --git a/test/e2e/puppeteer-page-info/actor/main.js b/test/e2e/puppeteer-page-info/actor/main.js index 88cad2b45ce0..95ca1f9715f1 100644 --- a/test/e2e/puppeteer-page-info/actor/main.js +++ b/test/e2e/puppeteer-page-info/actor/main.js @@ -3,20 +3,28 @@ import { Dataset, PuppeteerCrawler } from '@crawlee/puppeteer'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new PuppeteerCrawler({ - preNavigationHooks: [(_ctx, goToOptions) => { - goToOptions.waitUntil = ['networkidle2']; - }], + preNavigationHooks: [ + (_ctx, goToOptions) => { + goToOptions.waitUntil = ['networkidle2']; + }, + ], async requestHandler({ page, enqueueLinks, request }) { - const { userData: { label } } = request; + const { + userData: { label }, + } = request; if (label === 'START') { await enqueueLinks({ - globs: ['**/examples/accept-user-input'], userData: { label: 'DETAIL' }, + globs: ['**/examples/accept-user-input'], + userData: { label: 'DETAIL' }, }); } @@ -25,18 +33,10 @@ await Actor.main(async () => { const uniqueIdentifier = url.split('/').slice(-2).join('/'); - const titleP = page.$eval('header h1', ((el) => el.textContent)); - const firstParagraphP = page.$eval('header + p', ((el) => el.textContent)); + const titleP = page.$eval('header h1', (el) => el.textContent); + const firstParagraphP = page.$eval('header + p', (el) => el.textContent); const modifiedDateP = page.$eval('.theme-last-updated time', (el) => el.getAttribute('datetime')); - const [ - title, - description, - modifiedDate, - ] = await Promise.all([ - titleP, - firstParagraphP, - modifiedDateP, - ]); + const [title, description, modifiedDate] = await Promise.all([titleP, firstParagraphP, modifiedDateP]); await Dataset.pushData({ url, uniqueIdentifier, title, description, modifiedDate }); } diff --git a/test/e2e/puppeteer-store-pagination-jquery/actor/main.js b/test/e2e/puppeteer-store-pagination-jquery/actor/main.js index 288579abe12c..3ceaf9db9fab 100644 --- a/test/e2e/puppeteer-store-pagination-jquery/actor/main.js +++ b/test/e2e/puppeteer-store-pagination-jquery/actor/main.js @@ -3,20 +3,28 @@ import { Dataset, PuppeteerCrawler } from '@crawlee/puppeteer'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new PuppeteerCrawler({ maxRequestsPerCrawl: 10, - preNavigationHooks: [async ({ page }, goToOptions) => { - await page.evaluateOnNewDocument(() => { - localStorage.setItem('themeExitPopup', 'true'); - }); - goToOptions.waitUntil = ['networkidle2']; - }], + preNavigationHooks: [ + async ({ page }, goToOptions) => { + await page.evaluateOnNewDocument(() => { + localStorage.setItem('themeExitPopup', 'true'); + }); + goToOptions.waitUntil = ['networkidle2']; + }, + ], async requestHandler({ page, request, log, enqueueLinks, injectJQuery }) { - const { url, userData: { label } } = request; + const { + url, + userData: { label }, + } = request; if (label === 'START') { log.info('Store opened'); @@ -51,10 +59,10 @@ await Actor.main(async () => { const price = Number(rawPrice.replaceAll(',', '')); - const inStock = $('span.product-form__inventory') - .first() - .filter((_, el) => $(el).text().includes('In stock')) - .length !== 0; + const inStock = + $('span.product-form__inventory') + .first() + .filter((_, el) => $(el).text().includes('In stock')).length !== 0; return { title: $('.product-meta h1').text(), @@ -71,5 +79,7 @@ await Actor.main(async () => { }, }); - await crawler.run([{ url: 'https://warehouse-theme-metal.myshopify.com/collections/all-tvs', userData: { label: 'START' } }]); + await crawler.run([ + { url: 'https://warehouse-theme-metal.myshopify.com/collections/all-tvs', userData: { label: 'START' } }, + ]); }, mainOptions); diff --git a/test/e2e/puppeteer-store-pagination/actor/main.js b/test/e2e/puppeteer-store-pagination/actor/main.js index 2aaaf7236325..086d7bb784bb 100644 --- a/test/e2e/puppeteer-store-pagination/actor/main.js +++ b/test/e2e/puppeteer-store-pagination/actor/main.js @@ -1,16 +1,23 @@ import { Actor } from 'apify'; import { Dataset, PuppeteerCrawler } from '@crawlee/puppeteer'; -await Actor.init({ storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined }); +await Actor.init({ + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, +}); const crawler = new PuppeteerCrawler({ maxRequestsPerCrawl: 10, - preNavigationHooks: [async ({ page }, goToOptions) => { - await page.evaluateOnNewDocument(() => { - localStorage.setItem('themeExitPopup', 'true'); - }); - goToOptions.waitUntil = ['networkidle2']; - }], + preNavigationHooks: [ + async ({ page }, goToOptions) => { + await page.evaluateOnNewDocument(() => { + localStorage.setItem('themeExitPopup', 'true'); + }); + goToOptions.waitUntil = ['networkidle2']; + }, + ], }); crawler.router.addHandler('START', async ({ log, enqueueLinks, page }) => { @@ -38,8 +45,14 @@ crawler.router.addHandler('DETAIL', async ({ log, page, request: { url } }) => { const urlPart = url.split('/').slice(-1); // ['sennheiser-mke-440-professional-stereo-shotgun-microphone-mke-440'] const manufacturer = urlPart[0].split('-')[0]; // 'sennheiser' - const title = await page.locator('.product-meta h1').map((el) => el.textContent).wait(); - const sku = await page.locator('span.product-meta__sku-number').map((el) => el.textContent).wait(); + const title = await page + .locator('.product-meta h1') + .map((el) => el.textContent) + .wait(); + const sku = await page + .locator('span.product-meta__sku-number') + .map((el) => el.textContent) + .wait(); const rawPriceString = await page .locator('span.price') @@ -53,7 +66,7 @@ crawler.router.addHandler('DETAIL', async ({ log, page, request: { url } }) => { const inStock = await page .locator('span.product-form__inventory') .filter((el) => el.textContent.includes('In stock')) - .map((el) => (!!el)) + .map((el) => !!el) .wait(); const results = { @@ -68,6 +81,8 @@ crawler.router.addHandler('DETAIL', async ({ log, page, request: { url } }) => { await Dataset.pushData(results); }); -await crawler.run([{ url: 'https://warehouse-theme-metal.myshopify.com/collections/all-tvs', userData: { label: 'START' } }]); +await crawler.run([ + { url: 'https://warehouse-theme-metal.myshopify.com/collections/all-tvs', userData: { label: 'START' } }, +]); await Actor.exit({ exit: Actor.isAtHome() }); diff --git a/test/e2e/puppeteer-throw-on-ssl-errors/actor/main.js b/test/e2e/puppeteer-throw-on-ssl-errors/actor/main.js index 48fc71dd9739..49b739463b4d 100644 --- a/test/e2e/puppeteer-throw-on-ssl-errors/actor/main.js +++ b/test/e2e/puppeteer-throw-on-ssl-errors/actor/main.js @@ -3,17 +3,25 @@ import { Dataset, PuppeteerCrawler } from '@crawlee/puppeteer'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { const crawler = new PuppeteerCrawler({ launchContext: { launchOptions: { ignoreHTTPSErrors: false } }, // This is the default - preNavigationHooks: [(_ctx, goToOptions) => { - goToOptions.waitUntil = ['networkidle2']; - }], + preNavigationHooks: [ + (_ctx, goToOptions) => { + goToOptions.waitUntil = ['networkidle2']; + }, + ], async requestHandler({ page, enqueueLinks, request, log }) { - const { url, userData: { label } } = request; + const { + url, + userData: { label }, + } = request; if (label === 'START') { log.info('Bad ssl page opened!'); diff --git a/test/e2e/request-queue-v2-zero-concurrency/actor/.actor/actor.json b/test/e2e/request-queue-v2-zero-concurrency/actor/.actor/actor.json new file mode 100644 index 000000000000..959ec7eaa2b0 --- /dev/null +++ b/test/e2e/request-queue-v2-zero-concurrency/actor/.actor/actor.json @@ -0,0 +1,7 @@ +{ + "actorSpecification": 1, + "name": "test-request-queue-zero-concurrency", + "version": "0.0", + "buildTag": "latest", + "env": null +} diff --git a/test/e2e/request-queue-v2-zero-concurrency/actor/.gitignore b/test/e2e/request-queue-v2-zero-concurrency/actor/.gitignore new file mode 100644 index 000000000000..ced7cbfc582d --- /dev/null +++ b/test/e2e/request-queue-v2-zero-concurrency/actor/.gitignore @@ -0,0 +1,7 @@ +.idea +.DS_Store +node_modules +package-lock.json +apify_storage +crawlee_storage +storage diff --git a/test/e2e/request-queue-v2-zero-concurrency/actor/Dockerfile b/test/e2e/request-queue-v2-zero-concurrency/actor/Dockerfile new file mode 100644 index 000000000000..36afd80b9648 --- /dev/null +++ b/test/e2e/request-queue-v2-zero-concurrency/actor/Dockerfile @@ -0,0 +1,16 @@ +FROM apify/actor-node:20-beta + +COPY packages ./packages +COPY package*.json ./ + +RUN npm --quiet set progress=false \ + && npm install --only=prod --no-optional --no-audit \ + && npm update --no-audit \ + && echo "Installed NPM packages:" \ + && (npm list --only=prod --no-optional --all || true) \ + && echo "Node.js version:" \ + && node --version \ + && echo "NPM version:" \ + && npm --version + +COPY . ./ diff --git a/test/e2e/request-queue-v2-zero-concurrency/actor/main.js b/test/e2e/request-queue-v2-zero-concurrency/actor/main.js new file mode 100644 index 000000000000..2cb940fa8990 --- /dev/null +++ b/test/e2e/request-queue-v2-zero-concurrency/actor/main.js @@ -0,0 +1,33 @@ +import { CheerioCrawler, log, RequestQueue } from '@crawlee/cheerio'; +import { Actor } from 'apify'; + +log.setLevel(log.LEVELS.DEBUG); + +process.env.CRAWLEE_INTERNAL_TIMEOUT = '30000'; + +const mainOptions = { + exit: Actor.isAtHome(), + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, +}; + +// RequestQueue auto-reset when stuck with requests in progress +await Actor.main(async () => { + const requestQueue = await RequestQueue.open(); + await requestQueue.addRequest({ url: 'https://example.com/?q=1' }); + await requestQueue.addRequest({ url: 'https://example.com/?q=2' }); + const r3 = await requestQueue.addRequest({ url: 'https://example.com/?q=3' }); + // trigger 0 concurrency by marking one of the requests as already in progress + requestQueue.inProgress.add(r3.requestId); + + const crawler = new CheerioCrawler({ + requestQueue, + async requestHandler({ request }) { + log.info(request.id); + }, + }); + + await crawler.run(); +}, mainOptions); diff --git a/test/e2e/request-queue-v2-zero-concurrency/actor/package.json b/test/e2e/request-queue-v2-zero-concurrency/actor/package.json new file mode 100644 index 000000000000..1f24f5ba20d6 --- /dev/null +++ b/test/e2e/request-queue-v2-zero-concurrency/actor/package.json @@ -0,0 +1,28 @@ +{ + "name": "test-request-queue-zero-concurrency", + "version": "0.0.1", + "description": "Request Queue Test - Zero Concurrency", + "dependencies": { + "apify": "next", + "@apify/storage-local": "^2.1.3", + "@crawlee/basic": "file:./packages/basic-crawler", + "@crawlee/browser-pool": "file:./packages/browser-pool", + "@crawlee/http": "file:./packages/http-crawler", + "@crawlee/cheerio": "file:./packages/cheerio-crawler", + "@crawlee/core": "file:./packages/core", + "@crawlee/memory-storage": "file:./packages/memory-storage", + "@crawlee/types": "file:./packages/types", + "@crawlee/utils": "file:./packages/utils" + }, + "overrides": { + "apify": { + "@crawlee/core": "file:./packages/core", + "@crawlee/utils": "file:./packages/utils" + } + }, + "scripts": { + "start": "node main.js" + }, + "type": "module", + "license": "ISC" +} diff --git a/test/e2e/request-queue-v2-zero-concurrency/test.mjs b/test/e2e/request-queue-v2-zero-concurrency/test.mjs new file mode 100644 index 000000000000..42656d0ad0a0 --- /dev/null +++ b/test/e2e/request-queue-v2-zero-concurrency/test.mjs @@ -0,0 +1,12 @@ +import { initialize, getActorTestDir, runActor, expect } from '../tools.mjs'; + +const testActorDirname = getActorTestDir(import.meta.url); +await initialize(testActorDirname); + +const { stats } = await runActor(testActorDirname); + +await expect(stats.requestsFinished === 3, 'All requests finished'); +await expect( + stats.crawlerRuntimeMillis > 30 * 1e3 && stats.crawlerRuntimeMillis < 35 * 1e3, + 'RequestQueue triggers auto-reset after being stuck with requests in progress', +); diff --git a/test/e2e/request-queue-zero-concurrency/actor/main.js b/test/e2e/request-queue-zero-concurrency/actor/main.js index 977970f4b675..49eee8136d1c 100644 --- a/test/e2e/request-queue-zero-concurrency/actor/main.js +++ b/test/e2e/request-queue-zero-concurrency/actor/main.js @@ -1,5 +1,5 @@ +import { CheerioCrawler, log, RequestQueueV1 } from '@crawlee/cheerio'; import { Actor } from 'apify'; -import { CheerioCrawler, log, RequestQueue } from '@crawlee/cheerio'; log.setLevel(log.LEVELS.DEBUG); @@ -7,12 +7,15 @@ process.env.CRAWLEE_INTERNAL_TIMEOUT = '30000'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; // RequestQueue auto-reset when stuck with requests in progress await Actor.main(async () => { - const requestQueue = await RequestQueue.open(); + const requestQueue = await RequestQueueV1.open(); await requestQueue.addRequest({ url: 'https://example.com/?q=1' }); await requestQueue.addRequest({ url: 'https://example.com/?q=2' }); const r3 = await requestQueue.addRequest({ url: 'https://example.com/?q=3' }); diff --git a/test/e2e/request-skip-navigation/actor/main.js b/test/e2e/request-skip-navigation/actor/main.js index ef002ecfa69e..e34dfc2c9242 100644 --- a/test/e2e/request-skip-navigation/actor/main.js +++ b/test/e2e/request-skip-navigation/actor/main.js @@ -21,7 +21,10 @@ const r3 = new Request({ const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; // Persisting internal settings of `Request`. @@ -30,7 +33,11 @@ await Actor.main(async () => { let navigationCounter = 0; const crawler = new CheerioCrawler({ - preNavigationHooks: [() => { navigationCounter++; }], + preNavigationHooks: [ + () => { + navigationCounter++; + }, + ], async requestHandler({ request }) { requestCounter++; if (request.skipNavigation) { diff --git a/test/e2e/run.mjs b/test/e2e/run.mjs index 8a9b5dc1c69f..33e45e124981 100644 --- a/test/e2e/run.mjs +++ b/test/e2e/run.mjs @@ -1,9 +1,11 @@ -import { dirname } from 'node:path'; -import { fileURLToPath } from 'node:url'; +/* eslint-disable no-loop-func */ +import { execSync } from 'node:child_process'; import { once } from 'node:events'; import { readdir } from 'node:fs/promises'; +import { dirname } from 'node:path'; +import { fileURLToPath } from 'node:url'; import { isMainThread, Worker, workerData } from 'node:worker_threads'; -import { execSync } from 'node:child_process'; + import { colors, getApifyToken, clearPackages, clearStorage, SKIPPED_TEST_CLOSE_CODE } from './tools.mjs'; const basePath = dirname(fileURLToPath(import.meta.url)); @@ -74,12 +76,19 @@ async function run() { } if (!seenFirst) { - console.log(`${colors.red('[fatal]')} test ${colors.yellow(`[${dir.name}]`)} did not call "initialize(import.meta.url)"!`); + console.log( + `${colors.red('[fatal]')} test ${colors.yellow( + `[${dir.name}]`, + )} did not call "initialize(import.meta.url)"!`, + ); worker.terminate(); return; } - if (process.env.STORAGE_IMPLEMENTATION === 'PLATFORM' && (str.startsWith('[build]') || str.startsWith('[run]') || str.startsWith('[kv]'))) { + if ( + process.env.STORAGE_IMPLEMENTATION === 'PLATFORM' && + (str.startsWith('[build]') || str.startsWith('[run]') || str.startsWith('[kv]')) + ) { const platformStatsMessage = str.match(/\[(?:run|build|kv)] (.*)/); if (platformStatsMessage) { console.log(`${colors.yellow(`[${dir.name}] `)}${colors.grey(platformStatsMessage[1])}`); @@ -109,7 +118,11 @@ async function run() { const took = (Date.now() - now) / 1000; const status = code === 0 ? 'success' : 'failure'; const color = code === 0 ? 'green' : 'red'; - console.log(`${colors.yellow(`[${dir.name}] `)}${colors[color](`Test finished with status: ${status} `)}${colors.grey(`[took ${took}s]`)}`); + console.log( + `${colors.yellow(`[${dir.name}] `)}${colors[color]( + `Test finished with status: ${status} `, + )}${colors.grey(`[took ${took}s]`)}`, + ); if (['MEMORY', 'LOCAL'].includes(process.env.STORAGE_IMPLEMENTATION)) { await clearStorage(`${basePath}/${dir.name}`); diff --git a/test/e2e/session-rotation/actor/main.js b/test/e2e/session-rotation/actor/main.js index 58d1a19b9f52..c9b3ba5e0e1e 100644 --- a/test/e2e/session-rotation/actor/main.js +++ b/test/e2e/session-rotation/actor/main.js @@ -3,7 +3,10 @@ import { PlaywrightCrawler } from '@crawlee/playwright'; const mainOptions = { exit: Actor.isAtHome(), - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }; await Actor.main(async () => { diff --git a/test/e2e/session-rotation/test.mjs b/test/e2e/session-rotation/test.mjs index 5ffd7300b384..5ff4a618c8b4 100644 --- a/test/e2e/session-rotation/test.mjs +++ b/test/e2e/session-rotation/test.mjs @@ -7,6 +7,6 @@ const { datasetItems } = await runActor(testActorDirname, 4096); await expect(datasetItems.length === 11, 'Retried correct number of times'); await expect( - datasetItems.map( - (session) => datasetItems.filter((s) => s.id === session.id), - ).every((x) => x.length <= 2), 'No session used more than three times'); + datasetItems.map((session) => datasetItems.filter((s) => s.id === session.id)).every((x) => x.length <= 2), + 'No session used more than three times', +); diff --git a/test/e2e/tools.mjs b/test/e2e/tools.mjs index ae18eda80da1..b6f101a58e54 100644 --- a/test/e2e/tools.mjs +++ b/test/e2e/tools.mjs @@ -1,16 +1,22 @@ -import { dirname, join } from 'node:path'; -import { fileURLToPath } from 'node:url'; +import { execSync as execSyncOriginal } from 'node:child_process'; import { existsSync } from 'node:fs'; import { readdir, readFile } from 'node:fs/promises'; import { homedir } from 'node:os'; +import { dirname, join } from 'node:path'; import { setTimeout } from 'node:timers/promises'; -import { execSync as execSyncOriginal } from 'node:child_process'; -import { got } from 'got'; -import fs from 'fs-extra'; +import { fileURLToPath } from 'node:url'; + import { Actor } from 'apify'; +import fs from 'fs-extra'; +import { got } from 'got'; + // eslint-disable-next-line import/no-relative-packages import { URL_NO_COMMAS_REGEX } from '../../packages/utils/dist/index.mjs'; +/** + * @param {string} command + * @param {import('node:child_process').ExecSyncOptions} options + */ function execSync(command, options) { return execSyncOriginal(command, { ...options, encoding: 'utf-8' }); } @@ -84,7 +90,9 @@ export async function runActor(dirName, memory = 4096) { try { execSync('npx -y apify-cli@beta push --no-prompt', { cwd: dirName }); } catch (err) { - console.error(colors.red(`Failed to push actor to the Apify platform. (signal ${colors.yellow(err.signal)})`)); + console.error( + colors.red(`Failed to push actor to the Apify platform. (signal ${colors.yellow(err.signal)})`), + ); if (err.stdout) { console.log(colors.grey(` STDOUT: `), err.stdout); @@ -119,7 +127,9 @@ export async function runActor(dirName, memory = 4096) { let runId; try { - const { data: { id: foundRunId } } = await gotClient(`https://api.apify.com/v2/acts/${id}/runs`, { + const { + data: { id: foundRunId }, + } = await gotClient(`https://api.apify.com/v2/acts/${id}/runs`, { method: 'POST', searchParams: { memory, @@ -137,7 +147,9 @@ export async function runActor(dirName, memory = 4096) { runId = foundRunId; } catch (err) { - console.error(colors.red(`Failed to start actor run on the Apify platform. (code ${colors.yellow(err.code)})`)); + console.error( + colors.red(`Failed to start actor run on the Apify platform. (code ${colors.yellow(err.code)})`), + ); if (err.response) { console.log(colors.grey(` RESPONSE: `), err.response.body || err.response.rawBody?.toString('utf-8')); @@ -166,14 +178,16 @@ export async function runActor(dirName, memory = 4096) { console.log(`[kv] View storage: https://console.apify.com/storage/key-value/${kvResult.id}`); } - const entries = await Promise.all(keyValueItems.map(async ({ key }) => { - const record = await client.keyValueStore(kvResult.id).getRecord(key, { buffer: true }); + const entries = await Promise.all( + keyValueItems.map(async ({ key }) => { + const record = await client.keyValueStore(kvResult.id).getRecord(key, { buffer: true }); - return { - name: record.key, - raw: record.value, - }; - })); + return { + name: record.key, + raw: record.value, + }; + }), + ); return entries.filter(({ name }) => !isPrivateEntry(name)); } @@ -181,10 +195,7 @@ export async function runActor(dirName, memory = 4096) { return undefined; }; - const { - startedAt: buildStartedAt, - finishedAt: buildFinishedAt, - } = await client.build(buildId).get(); + const { startedAt: buildStartedAt, finishedAt: buildFinishedAt } = await client.build(buildId).get(); const buildTook = (buildFinishedAt.getTime() - buildStartedAt.getTime()) / 1000; console.log(`[build] View build log: https://api.apify.com/v2/logs/${buildId} [build took ${buildTook}s]`); @@ -217,7 +228,10 @@ export async function runActor(dirName, memory = 4096) { if (input) { await Actor.init({ // @ts-ignore installed only optionally run `run.mjs` script - storage: process.env.STORAGE_IMPLEMENTATION === 'LOCAL' ? new (await import('@apify/storage-local')).ApifyStorageLocal() : undefined, + storage: + process.env.STORAGE_IMPLEMENTATION === 'LOCAL' + ? new (await import('@apify/storage-local')).ApifyStorageLocal() + : undefined, }); await Actor.setValue('INPUT', input, { contentType }); } @@ -310,7 +324,9 @@ export async function getApifyToken() { const authPath = join(homedir(), '.apify', 'auth.json'); if (!existsSync(authPath)) { - throw new Error('You need to be logged in with your Apify account to run E2E tests. Call "apify login" to fix that.'); + throw new Error( + 'You need to be logged in with your Apify account to run E2E tests. Call "apify login" to fix that.', + ); } const { token } = await fs.readJSON(authPath); @@ -469,3 +485,26 @@ function isItemHidden(item) { } return true; } + +/** + * @param {any} obj the object to search + * @param {string} keyName the key to search for + * @returns {boolean} + */ +export function hasNestedKey(obj, keyName) { + if (typeof obj !== 'object' || obj === null) { + return false; + } + + for (const key of Object.keys(obj)) { + if (key === keyName) { + return true; + } + + if (typeof obj[key] === 'object' && obj[key] !== null && hasNestedKey(obj[key], keyName)) { + return true; + } + } + + return false; +} diff --git a/test/e2e/tsconfig.json b/test/e2e/tsconfig.json index 933440990311..327de21b08cf 100644 --- a/test/e2e/tsconfig.json +++ b/test/e2e/tsconfig.json @@ -6,8 +6,5 @@ "allowJs": true, "checkJs": true }, - "include": [ - "./**/*.mjs", - "./**/*.ts" - ] + "include": ["./**/*.mjs", "./**/*.ts"] } diff --git a/test/shared/_helper.ts b/test/shared/_helper.ts index 9a2bfc1b84dd..8e77fc5773ff 100644 --- a/test/shared/_helper.ts +++ b/test/shared/_helper.ts @@ -16,13 +16,14 @@ export const startExpressAppPromise = async (app: Application, port: number) => export const responseSamples = { json: { foo: 'bar' }, - xml: '\n' - + '\n' - + '\n' - + ' https://apify.com\n' - + ' Web Scraping, Data Extraction and Automation · Apify\n' - + '\n' - + '', + xml: + '\n' + + '\n' + + '\n' + + ' https://apify.com\n' + + ' Web Scraping, Data Extraction and Automation · Apify\n' + + '\n' + + '', complexXml: fs.readFileSync(path.join(__dirname, 'data/complex.xml'), 'utf-8'), image: fs.readFileSync(path.join(__dirname, 'data/apify.png')), html: ` @@ -176,9 +177,11 @@ console.log('Hello world!'); export async function runExampleComServer(): Promise<[Server, number]> { const app = express(); - app.use(bodyParser.urlencoded({ - extended: true, - })); + app.use( + bodyParser.urlencoded({ + extended: true, + }), + ); app.use(bodyParser.json()); const special = express.Router(); @@ -219,9 +222,7 @@ export async function runExampleComServer(): Promise<[Server, number]> { }); special.post('/jsonError', (_req, res) => { - res - .status(500) - .json({ message: 'CUSTOM_ERROR' }); + res.status(500).json({ message: 'CUSTOM_ERROR' }); }); special.get('/mirror', (_req, res) => { @@ -265,10 +266,7 @@ export async function runExampleComServer(): Promise<[Server, number]> { }); special.get('/cloudflareBlocking', async (_req, res) => { - res - .type('html') - .status(403) - .send(responseSamples.cloudflareBlocking); + res.type('html').status(403).send(responseSamples.cloudflareBlocking); }); })(); diff --git a/test/shared/data/html_to_text_test_data.ts b/test/shared/data/html_to_text_test_data.ts index bbe18af5a6e4..ad123764f957 100644 --- a/test/shared/data/html_to_text_test_data.ts +++ b/test/shared/data/html_to_text_test_data.ts @@ -1,14 +1,13 @@ -/* eslint-disable */ - // The whitespace in the text is important. Don't change it. // We're keeping this text as a JS string, because git and other // tools do magic with line endings and it can break tests. // E.g. LF -> CRLF on Win or auto-trimming of lines in editors. -export const text = 'Let\'s start with a simple text. \n' + - 'The ships hung in the sky, much the way that bricks don\'t. \n' + - 'These aren\'t the Droids you\'re looking for\n' + - 'I\'m sorry, Dave. I\'m afraid I can\'t do that.\n' + - 'I\'m sorry, Dave. I\'m afraid I can\'t do that.\n' + +export const text = + "Let's start with a simple text. \n" + + "The ships hung in the sky, much the way that bricks don't. \n" + + "These aren't the Droids you're looking for\n" + + "I'm sorry, Dave. I'm afraid I can't do that.\n" + + "I'm sorry, Dave. I'm afraid I can't do that.\n" + 'A1\tA2\tA3\t\n' + 'B1\tB2\tB3\tB 4\t\n' + 'This is some text with inline elements and HTML entities (>bla<) \n' + @@ -23,7 +22,7 @@ export const text = 'Let\'s start with a simple text. \n' + ' block should be kept\n' + ' pre-formatted.\n' + 'The Greatest Science Fiction Quotes Of All Time \n' + - 'Don\'t know, I don\'t know such stuff. I just do eyes, ju-, ju-, just eyes... just genetic design, just eyes. You Nexus, huh? I design your eyes.' + "Don't know, I don't know such stuff. I just do eyes, ju-, ju-, just eyes... just genetic design, just eyes. You Nexus, huh? I design your eyes."; export const html = ` @@ -119,4 +118,4 @@ But, just eyes. You Nexus, huh? I design your eyes.

-` +`; diff --git a/test/shared/data/simple_url_list.txt b/test/shared/data/simple_url_list.txt index f15af531b7d0..383858b8de40 100644 --- a/test/shared/data/simple_url_list.txt +++ b/test/shared/data/simple_url_list.txt @@ -98,3 +98,4 @@ https://www.example.com/ https://example.net/action/box.php http://www.example.com/ + https://x.com/elonmusk/status/1783231058462617962 diff --git a/test/tsconfig.json b/test/tsconfig.json index 1124d5a223a0..62ecb1bdcfa9 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -1,19 +1,16 @@ { - "extends": "../tsconfig.json", - "include": [ - "**/*", - "../packages/*/src/**/*" - ], - "compilerOptions": { - "sourceMap": true, - "noUnusedLocals": false, - "noUnusedParameters": false, - "strictNullChecks": false, - "types": ["vitest/globals"], - "module": "Node16", - "moduleResolution": "Bundler", - "paths": { - "@crawlee/utils/src/*": ["packages/utils/src/*"] - } - } + "extends": "../tsconfig.json", + "include": ["**/*", "../packages/*/src/**/*"], + "compilerOptions": { + "sourceMap": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "strictNullChecks": false, + "types": ["vitest/globals"], + "module": "Node16", + "moduleResolution": "Bundler", + "paths": { + "@crawlee/utils/src/*": ["packages/utils/src/*"] + } + } } diff --git a/test/utils/cheerio.test.ts b/test/utils/cheerio.test.ts index 7ec79857f953..a3d7dc0c404d 100644 --- a/test/utils/cheerio.test.ts +++ b/test/utils/cheerio.test.ts @@ -53,7 +53,10 @@ describe('htmlToText()', () => { checkHtmlToText('

Header 1


Header 2




', 'Header 1\n\nHeader 2'); checkHtmlToText('

Header 1

\n
\n

Header 2




', 'Header 1\n\nHeader 2'); checkHtmlToText('

Header 1

\n
\n

Header 2




', 'Header 1\n\n\nHeader 2'); - checkHtmlToText('

Header 1

\n
\n

Header 2




', 'Header 1\n\n\n\nHeader 2'); + checkHtmlToText( + '

Header 1

\n
\n

Header 2




', + 'Header 1\n\n\n\nHeader 2', + ); checkHtmlToText('
Div

Paragraph

', 'Div\nParagraph'); checkHtmlToText('
Div1
Div2
', 'Div1\nDiv2'); diff --git a/test/utils/extract-urls.test.ts b/test/utils/extract-urls.test.ts index 234f2f36c11a..a9c634947bba 100644 --- a/test/utils/extract-urls.test.ts +++ b/test/utils/extract-urls.test.ts @@ -1,11 +1,7 @@ import fs from 'node:fs'; import path from 'node:path'; -import { - downloadListOfUrls, - extractUrls, - URL_WITH_COMMAS_REGEX, -} from '@crawlee/utils'; +import { downloadListOfUrls, extractUrls, URL_WITH_COMMAS_REGEX } from '@crawlee/utils'; vitest.mock('@crawlee/utils/src/internals/gotScraping', async () => { return { @@ -22,13 +18,18 @@ const gotScrapingSpy = vitest.mocked(gotScraping); describe('downloadListOfUrls()', () => { test('downloads a list of URLs', async () => { const text = fs.readFileSync(path.join(baseDataPath, 'simple_url_list.txt'), 'utf8'); - const arr = text.trim().split(/[\r\n]+/g).map((u) => u.trim()); + const arr = text + .trim() + .split(/[\r\n]+/g) + .map((u) => u.trim()); gotScrapingSpy.mockResolvedValueOnce({ body: text }); - await expect(downloadListOfUrls({ - url: 'http://www.nowhere12345.com', - })).resolves.toEqual(arr); + await expect( + downloadListOfUrls({ + url: 'http://www.nowhere12345.com', + }), + ).resolves.toEqual(arr); }); }); @@ -41,16 +42,21 @@ describe('extractUrls()', () => { const getURLData = (filename: string) => { const string = fs.readFileSync(path.join(baseDataPath, filename), 'utf8'); - const array = string.trim().split(/[\r\n]+/g).map((u) => u.trim()); + const array = string + .trim() + .split(/[\r\n]+/g) + .map((u) => u.trim()); return { string, array }; }; - const makeJSON = ({ string, array }: { string: string; array: string[] }) => JSON.stringify({ - one: [{ http: string }], - two: array.map((url) => ({ num: 123, url })), - }); + const makeJSON = ({ string, array }: { string: string; array: string[] }) => + JSON.stringify({ + one: [{ http: string }], + two: array.map((url) => ({ num: 123, url })), + }); - const makeCSV = (array: string[], delimiter?: string) => array.map((url) => ['ABC', 233, url, '.'].join(delimiter || ',')).join('\n'); + const makeCSV = (array: string[], delimiter?: string) => + array.map((url) => ['ABC', 233, url, '.'].join(delimiter || ',')).join('\n'); const makeText = (array: string[]) => { const text = fs.readFileSync(path.join(baseDataPath, 'lipsum.txt'), 'utf8').split(''); diff --git a/test/utils/general.test.ts b/test/utils/general.test.ts index 1c64f34e77c9..f7dc788e8d43 100644 --- a/test/utils/general.test.ts +++ b/test/utils/general.test.ts @@ -6,7 +6,9 @@ import { isDocker, weightedAvg, sleep, snakeCaseToCamelCase } from '@crawlee/uti describe('isDocker()', () => { test('works for dockerenv && cgroup', async () => { const statMock = vitest.spyOn(asyncFs, 'stat').mockImplementationOnce(async () => Promise.resolve(null)); - const readMock = vitest.spyOn(asyncFs, 'readFile').mockImplementationOnce(async () => Promise.resolve('something ... docker ... something')); + const readMock = vitest + .spyOn(asyncFs, 'readFile') + .mockImplementationOnce(async () => Promise.resolve('something ... docker ... something')); const is = await isDocker(true); @@ -15,7 +17,9 @@ describe('isDocker()', () => { test('works for dockerenv', async () => { const statMock = vitest.spyOn(asyncFs, 'stat').mockImplementationOnce(async () => Promise.resolve(null)); - const readMock = vitest.spyOn(asyncFs, 'readFile').mockImplementationOnce(async () => Promise.resolve('something ... ... something')); + const readMock = vitest + .spyOn(asyncFs, 'readFile') + .mockImplementationOnce(async () => Promise.resolve('something ... ... something')); const is = await isDocker(true); @@ -23,8 +27,12 @@ describe('isDocker()', () => { }); test('works for cgroup', async () => { - const statMock = vitest.spyOn(asyncFs, 'stat').mockImplementationOnce(async () => Promise.reject(new Error('no.'))); - const readMock = vitest.spyOn(asyncFs, 'readFile').mockImplementationOnce(async () => Promise.resolve('something ... docker ... something')); + const statMock = vitest + .spyOn(asyncFs, 'stat') + .mockImplementationOnce(async () => Promise.reject(new Error('no.'))); + const readMock = vitest + .spyOn(asyncFs, 'readFile') + .mockImplementationOnce(async () => Promise.resolve('something ... docker ... something')); const is = await isDocker(true); @@ -32,8 +40,12 @@ describe('isDocker()', () => { }); test('works for nothing', async () => { - const statMock = vitest.spyOn(asyncFs, 'stat').mockImplementationOnce(async () => Promise.reject(new Error('no.'))); - const readMock = vitest.spyOn(asyncFs, 'readFile').mockImplementationOnce(async () => Promise.resolve('something ... ... something')); + const statMock = vitest + .spyOn(asyncFs, 'stat') + .mockImplementationOnce(async () => Promise.reject(new Error('no.'))); + const readMock = vitest + .spyOn(asyncFs, 'readFile') + .mockImplementationOnce(async () => Promise.resolve('something ... ... something')); const is = await isDocker(true); @@ -46,7 +58,7 @@ describe('weightedAvg()', () => { expect(weightedAvg([10, 10, 10], [1, 1, 1])).toBe(10); expect(weightedAvg([5, 10, 15], [1, 1, 1])).toBe(10); expect(weightedAvg([10, 10, 10], [0.5, 1, 1.5])).toBe(10); - expect(weightedAvg([29, 35, 89], [13, 91, 3])).toEqual(((29 * 13) + (35 * 91) + (89 * 3)) / (13 + 91 + 3)); + expect(weightedAvg([29, 35, 89], [13, 91, 3])).toEqual((29 * 13 + 35 * 91 + 89 * 3) / (13 + 91 + 3)); expect(weightedAvg([], [])).toEqual(NaN); expect(weightedAvg([1], [0])).toEqual(NaN); expect(weightedAvg([], [1])).toEqual(NaN); diff --git a/test/utils/social.test.ts b/test/utils/social.test.ts index 5f78f632f79a..11f1c38661b6 100644 --- a/test/utils/social.test.ts +++ b/test/utils/social.test.ts @@ -47,30 +47,33 @@ describe('utils.social', () => { test('extracts emails correctly', () => { testEmailsFromText(' info@example.com ', ['info@example.com']); - testEmailsFromText(` + testEmailsFromText( + ` info@example.com info+something@example.NET john.bob.dole@some-domain.co.uk - `, [ - 'info@example.com', - 'info+something@example.NET', - 'john.bob.dole@some-domain.co.uk', - ]); + `, + ['info@example.com', 'info+something@example.NET', 'john.bob.dole@some-domain.co.uk'], + ); - testEmailsFromText(` + testEmailsFromText( + ` this'is'also'valid'email@EXAMPLE.travel easy-address@some-domain.co.uk \n\n easy-address@some-domain.co.uk not @ an.email.com @also.not.an.email - `, [ - 'this\'is\'also\'valid\'email@EXAMPLE.travel', - 'easy-address@some-domain.co.uk', - 'easy-address@some-domain.co.uk', - ]); + `, + [ + "this'is'also'valid'email@EXAMPLE.travel", + 'easy-address@some-domain.co.uk', + 'easy-address@some-domain.co.uk', + ], + ); - testEmailsFromText(' some.super.long.email.address@some.super.long.domain.name.co.br ', - ['some.super.long.email.address@some.super.long.domain.name.co.br']); + testEmailsFromText(' some.super.long.email.address@some.super.long.domain.name.co.br ', [ + 'some.super.long.email.address@some.super.long.domain.name.co.br', + ]); }); }); @@ -102,35 +105,29 @@ describe('utils.social', () => { // @ts-expect-error invalid input type expect(emailsFromUrls([1, 2, {}, 'fwef', null, undefined])).toEqual([]); - expect(emailsFromUrls([ - 'mailto:info@example.com', - ])).toEqual([ - 'info@example.com', - ]); - - expect(emailsFromUrls([ - 'http://www.example.com', - 'mailto:info@example.com', - 'mailto:info@example.com', - 'email.without.mailto.prefix@example.com', - '', - '\n\n\n', - ])).toEqual([ - 'info@example.com', - 'info@example.com', - ]); - - expect(emailsFromUrls([ - 'http://www.example.com', - 'mailto:info@example.com', - 'mailto:info@example.com', - 'email.without.mailto.prefix@example.com', - '', - '\n\n\n', - ])).toEqual([ - 'info@example.com', - 'info@example.com', - ]); + expect(emailsFromUrls(['mailto:info@example.com'])).toEqual(['info@example.com']); + + expect( + emailsFromUrls([ + 'http://www.example.com', + 'mailto:info@example.com', + 'mailto:info@example.com', + 'email.without.mailto.prefix@example.com', + '', + '\n\n\n', + ]), + ).toEqual(['info@example.com', 'info@example.com']); + + expect( + emailsFromUrls([ + 'http://www.example.com', + 'mailto:info@example.com', + 'mailto:info@example.com', + 'email.without.mailto.prefix@example.com', + '', + '\n\n\n', + ]), + ).toEqual(['info@example.com', 'info@example.com']); }); }); @@ -153,7 +150,8 @@ describe('utils.social', () => { }); test('extracts phones correctly', () => { - testPhonesFromText(` + testPhonesFromText( + ` +420775123456 +420775123456 +420 775 123 456 @@ -162,88 +160,97 @@ describe('utils.social', () => { 00420775123456 1234567 1234567890 +44 7911 123456 - `, [ - '+420775123456', - '+420775123456', - '+420 775 123 456', - '775123456', - '775123456', - '00420775123456', - '1234567', - '1234567890', - '+44 7911 123456', - ]); + `, + [ + '+420775123456', + '+420775123456', + '+420 775 123 456', + '775123456', + '775123456', + '00420775123456', + '1234567', + '1234567890', + '+44 7911 123456', + ], + ); - testPhonesFromText(` + testPhonesFromText( + ` 413-577-1234 00413-577-1234 981-413-777-8888 413.233.2343 +413.233.2343 or 413 233 2343 562-3113 123456789 401 311 7898 123456789 - `, [ - '413-577-1234', - '00413-577-1234', - '981-413-777-8888', - '413.233.2343', - '+413.233.2343', - '413 233 2343', - '562-3113', - '123456789', - '401 311 7898', - '123456789', - ]); + `, + [ + '413-577-1234', + '00413-577-1234', + '981-413-777-8888', + '413.233.2343', + '+413.233.2343', + '413 233 2343', + '562-3113', + '123456789', + '401 311 7898', + '123456789', + ], + ); - testPhonesFromText(` + testPhonesFromText( + ` 1 (413) 555-2378 +1 (413) 555-2378 1(413)555-2378 001 (413) 555-2378 1 (413) 555 2378 1(413)555-2378 or 1(413)555.2378 or 1 (413) 555-2378 or 1 (413) 555 2378 or (303) 494-2320 - `, [ - '1 (413) 555-2378', - '+1 (413) 555-2378', - '1(413)555-2378', - '001 (413) 555-2378', - '1 (413) 555 2378', - '1(413)555-2378', - '1(413)555.2378', - '1 (413) 555-2378', - '1 (413) 555 2378', - '(303) 494-2320', - ]); + `, + [ + '1 (413) 555-2378', + '+1 (413) 555-2378', + '1(413)555-2378', + '001 (413) 555-2378', + '1 (413) 555 2378', + '1(413)555-2378', + '1(413)555.2378', + '1 (413) 555-2378', + '1 (413) 555 2378', + '(303) 494-2320', + ], + ); - testPhonesFromText(` + testPhonesFromText( + ` 123-456-789 123 456 789 123.456.789 123.456.789.123 +123.456.789.123 - `, [ - '123-456-789', - '123 456 789', - '123.456.789', - '123.456.789.123', - '+123.456.789.123', - ]); + `, + ['123-456-789', '123 456 789', '123.456.789', '123.456.789.123', '+123.456.789.123'], + ); - testPhonesFromText(` + testPhonesFromText( + ` (000)000-0000 (000)000 0000 (000)000.0000 (000) 000-0000 (000) 000 0000 (000) 000.0000 - `, [ - '(000)000-0000', - '(000)000 0000', - '(000)000.0000', - '(000) 000-0000', - '(000) 000 0000', - '(000) 000.0000', - ]); + `, + [ + '(000)000-0000', + '(000)000 0000', + '(000)000.0000', + '(000) 000-0000', + '(000) 000 0000', + '(000) 000.0000', + ], + ); - testPhonesFromText(` + testPhonesFromText( + ` 000-0000 000 0000 000.0000 @@ -251,22 +258,20 @@ describe('utils.social', () => { 0000000 0000000000 (000)0000000 - `, [ - '000-0000', - '000 0000', - '000.0000', - '0000000', - '0000000000', - '(000)0000000', - ]); + `, + ['000-0000', '000 0000', '000.0000', '0000000', '0000000000', '(000)0000000'], + ); }); test('skips invalid phones', () => { - testPhonesFromText(` + testPhonesFromText( + ` 2018-10-11 123 456789 345 1 2 3 4 5 6 7 8 - `, []); + `, + [], + ); }); }); @@ -298,20 +303,22 @@ describe('utils.social', () => { // @ts-expect-error invalid input type expect(phonesFromUrls([1, 2, {}, 'fwef', null, undefined])).toEqual([]); - expect(phonesFromUrls([ - 'tel:12345678', - 'tel:/22345678', // - 'tel://32345678', - 'PHONE:42345678', // - 'phone:/52345678', - 'phone://62345678', - 'telephone:72345678', - 'telephone:/82345678', - 'telephone://92345678', - 'callto:97345678', - 'CALLTO:/+98345678', - 'callto://9992345678', - ])).toEqual([ + expect( + phonesFromUrls([ + 'tel:12345678', + 'tel:/22345678', // + 'tel://32345678', + 'PHONE:42345678', // + 'phone:/52345678', + 'phone://62345678', + 'telephone:72345678', + 'telephone:/82345678', + 'telephone://92345678', + 'callto:97345678', + 'CALLTO:/+98345678', + 'callto://9992345678', + ]), + ).toEqual([ '12345678', '22345678', '32345678', @@ -326,18 +333,17 @@ describe('utils.social', () => { '9992345678', ]); - expect(phonesFromUrls([ - 'https://www.example.com', - 'ftp://www.example.com', - '1234567', - '+42055555567', - 'tel://+42012345678', - 'tel://+420.123.456', - 'http://www.example.com', - ])).toEqual([ - '+42012345678', - '+420.123.456', - ]); + expect( + phonesFromUrls([ + 'https://www.example.com', + 'ftp://www.example.com', + '1234567', + '+42055555567', + 'tel://+42012345678', + 'tel://+420.123.456', + 'http://www.example.com', + ]), + ).toEqual(['+42012345678', '+420.123.456']); }); }); @@ -370,8 +376,9 @@ describe('utils.social', () => { test('works', () => { expect(parseHandlesFromHtml('')).toEqual(EMPTY_RESULT); expect(parseHandlesFromHtml(' ')).toEqual(EMPTY_RESULT); - const html = 'use the data in this [YouTube Video](https://www.youtube.com/watch?v=BsidLZKdYWQ).\\n\\n## Sample result\\n' - + 'use the data in this [YouTube Video](https://www.youtube.com/watch?v=BsidLZKd123).\\\\n\\\\n## Sample result\\\\n'; + const html = + 'use the data in this [YouTube Video](https://www.youtube.com/watch?v=BsidLZKdYWQ).\\n\\n## Sample result\\n' + + 'use the data in this [YouTube Video](https://www.youtube.com/watch?v=BsidLZKd123).\\\\n\\\\n## Sample result\\\\n'; expect(parseHandlesFromHtml(html)).toMatchObject({ youtubes: [ 'https://www.youtube.com/watch?v=BsidLZKd123', @@ -379,7 +386,8 @@ describe('utils.social', () => { ], }); - expect(parseHandlesFromHtml(` + expect( + parseHandlesFromHtml(` Bla @@ -447,11 +455,9 @@ describe('utils.social', () => { Join our Discord community - `)).toEqual({ - discords: [ - 'discord.gg/discord-developers', - 'https://discord.com/invite/jyEM2PRvMU/', - ], + `), + ).toEqual({ + discords: ['discord.gg/discord-developers', 'https://discord.com/invite/jyEM2PRvMU/'], emails: ['alice@example.com', 'bob@example.com', 'carl@example.com', 'david@example.com'], phones: ['+42077533333'], phonesUncertain: [ @@ -491,11 +497,7 @@ describe('utils.social', () => { 'https://www.tiktok.com/trending?shareId=1234567890123456789/', 'm.tiktok.com/v/1234567890123456789', ], - twitters: [ - 'https://www.twitter.com/apify', - 'twitter.com/betasomething', - 'twitter.com/cblabla/', - ], + twitters: ['https://www.twitter.com/apify', 'twitter.com/betasomething', 'twitter.com/cblabla/'], facebooks: [ 'facebook.com/carl.username123/', 'fb.com/dada5678', @@ -503,15 +505,14 @@ describe('utils.social', () => { 'https://www.facebook.com/bob.username123/', 'https://www.facebook.com/profile.php?id=1155802082', ], - youtubes: [ - 'https://youtu.be/kM7YfhfkiEE', - ], + youtubes: ['https://youtu.be/kM7YfhfkiEE'], }); }); test('data is set correctly', () => { const data = {} as any; - parseHandlesFromHtml(` + parseHandlesFromHtml( + ` Bla @@ -520,7 +521,9 @@ describe('utils.social', () => { Body content - `, data); + `, + data, + ); expect(data.$('body').text().trim()).toBe('Body content'); expect(data.text.trim()).toBe('Body content'); @@ -549,7 +552,10 @@ describe('utils.social', () => { expect(EMAIL_REGEX.test('dummy')).toBe(false); expect(EMAIL_REGEX_GLOBAL.test('bob@example.com')).toBe(true); - expect('bob@example.com alice@example.com'.match(EMAIL_REGEX_GLOBAL)).toEqual(['bob@example.com', 'alice@example.com']); + expect('bob@example.com alice@example.com'.match(EMAIL_REGEX_GLOBAL)).toEqual([ + 'bob@example.com', + 'alice@example.com', + ]); expect(''.match(EMAIL_REGEX_GLOBAL)).toBe(null); expect(' dummy '.match(EMAIL_REGEX_GLOBAL)).toBe(null); @@ -598,29 +604,32 @@ describe('utils.social', () => { expect(LINKEDIN_REGEX.test('0linkedin.com/in/bobnewman')).toBe(false); expect(LINKEDIN_REGEX.test('https://www.linkedin.com/in/bobnewman/?param=bla')).toBe(false); expect(LINKEDIN_REGEX.test('://linkedin.com/in/bobnewman')).toBe(false); - expect(LINKEDIN_REGEX.test('https://www.linkedin.com/in/bob https://www.linkedin.com/in/alice')).toBe(false); + expect(LINKEDIN_REGEX.test('https://www.linkedin.com/in/bob https://www.linkedin.com/in/alice')).toBe( + false, + ); expect(LINKEDIN_REGEX_GLOBAL.test('https://www.linkedin.com/in/bobnewman')).toBe(true); - expect(` + expect( + ` https://www.linkedin.com/in/bobnewman "http://ie.linkedin.com/in/alicenewman" https://www.linkedin.com/in/someverylongnamesomeverylongnamesomeverylongnamesomeverylongnamesomeverylongnamesomeverylongname linkedin.com/in/carlnewman - `.match(LINKEDIN_REGEX_GLOBAL)).toEqual([ + `.match(LINKEDIN_REGEX_GLOBAL), + ).toEqual([ 'https://www.linkedin.com/in/bobnewman', 'http://ie.linkedin.com/in/alicenewman', 'linkedin.com/in/carlnewman', ]); - expect(` + expect( + ` -https://www.linkedin.com/in/bobnewman/sub-dir :http://ie.linkedin.com/in/alicenewman?param=1 xlinkedin.com/in/carlnewman alinkedin.com/in/carlnewman _linkedin.com/in/carlnewman - `.match(LINKEDIN_REGEX_GLOBAL)).toEqual([ - 'https://www.linkedin.com/in/bobnewman/', - 'http://ie.linkedin.com/in/alicenewman', - ]); + `.match(LINKEDIN_REGEX_GLOBAL), + ).toEqual(['https://www.linkedin.com/in/bobnewman/', 'http://ie.linkedin.com/in/alicenewman']); expect(''.match(LINKEDIN_REGEX_GLOBAL)).toBe(null); }); }); @@ -667,29 +676,32 @@ describe('utils.social', () => { expect(social.INSTAGRAM_REGEX.test('https://www.instagram.com/_u/')).toBe(false); expect(INSTAGRAM_REGEX.test('https://www.instagram.com/old_prague/?param=bla')).toBe(false); expect(INSTAGRAM_REGEX.test('://www.instagram.com/old_prague')).toBe(false); - expect(INSTAGRAM_REGEX.test('http://www.instagram.com/old_prague http://www.instagram.com/old_brno')).toBe(false); + expect(INSTAGRAM_REGEX.test('http://www.instagram.com/old_prague http://www.instagram.com/old_brno')).toBe( + false, + ); expect(INSTAGRAM_REGEX_GLOBAL.test('https://www.instagram.com/old_prague')).toBe(true); - expect(` + expect( + ` https://www.instagram.com/old_prague https://www.instagram.com/someverylongusernamethatisnotgood "instagram.com/old_brno" http://instagr.am/old_plzen - `.match(INSTAGRAM_REGEX_GLOBAL)).toEqual([ + `.match(INSTAGRAM_REGEX_GLOBAL), + ).toEqual([ 'https://www.instagram.com/old_prague', 'instagram.com/old_brno', 'http://instagr.am/old_plzen', ]); - expect(` + expect( + ` -https://www.instagram.com/old_prague/sub-dir instagr.am/old_plzen?param=1 xinstagram.com/old_brno ainstagram.com/old_brno _instagram.com/old_brno - `.match(INSTAGRAM_REGEX_GLOBAL)).toEqual([ - 'https://www.instagram.com/old_prague/', - 'instagr.am/old_plzen', - ]); + `.match(INSTAGRAM_REGEX_GLOBAL), + ).toEqual(['https://www.instagram.com/old_prague/', 'instagr.am/old_plzen']); expect(''.match(INSTAGRAM_REGEX_GLOBAL)).toBe(null); }); }); @@ -735,28 +747,24 @@ describe('utils.social', () => { expect(TWITTER_REGEX.test('https://www.twitter.com/privacy/')).toBe(false); expect(TWITTER_REGEX_GLOBAL.test('https://www.twitter.com/apify')).toBe(true); - expect(` + expect( + ` https://www.twitter.com/apify www.twitter.com/jack/sub-dir www.twitter.com/invalidverylongtwitterhandlenotgood twitter.com/bob123?param=1 - `.match(TWITTER_REGEX_GLOBAL)).toEqual([ - 'https://www.twitter.com/apify', - 'www.twitter.com/jack/', - 'twitter.com/bob123', - ]); - expect(` + `.match(TWITTER_REGEX_GLOBAL), + ).toEqual(['https://www.twitter.com/apify', 'www.twitter.com/jack/', 'twitter.com/bob123']); + expect( + ` -https://www.twitter.com/apify twitter.com/jack twitter.com/carl123 xtwitter.com/bob atwitter.com/bob _twitter.com/bob - `.match(TWITTER_REGEX_GLOBAL)).toEqual([ - 'https://www.twitter.com/apify', - 'twitter.com/jack', - 'twitter.com/carl123', - ]); + `.match(TWITTER_REGEX_GLOBAL), + ).toEqual(['https://www.twitter.com/apify', 'twitter.com/jack', 'twitter.com/carl123']); expect(''.match(TWITTER_REGEX_GLOBAL)).toBe(null); }); }); @@ -789,7 +797,9 @@ describe('utils.social', () => { // Test there is just on matching group for the username expect('https://www.facebook.com/someusername/'.match(FACEBOOK_REGEX)[1]).toBe('someusername'); expect('https://www.facebook.com/someusername'.match(FACEBOOK_REGEX)[1]).toBe('someusername'); - expect('https://www.facebook.com/profile.php?id=1155802082'.match(FACEBOOK_REGEX)[1]).toBe('profile.php?id=1155802082'); + expect('https://www.facebook.com/profile.php?id=1155802082'.match(FACEBOOK_REGEX)[1]).toBe( + 'profile.php?id=1155802082', + ); expect('fb.com/someusername'.match(FACEBOOK_REGEX)[1]).toBe('someusername'); expect(FACEBOOK_REGEX.test('')).toBe(false); @@ -807,34 +817,32 @@ describe('utils.social', () => { expect(FACEBOOK_REGEX.test('https://www.facebook.com/someusername?param=bla')).toBe(false); expect(FACEBOOK_REGEX.test('://www.facebook.com/someusername')).toBe(false); - expect(FACEBOOK_REGEX.test('https://www.facebook.com/someusername https://www.facebook.com/jack')).toBe(false); + expect(FACEBOOK_REGEX.test('https://www.facebook.com/someusername https://www.facebook.com/jack')).toBe( + false, + ); expect(FACEBOOK_REGEX.test('https://www.facebook.com/groups')).toBe(false); expect(FACEBOOK_REGEX.test('https://www.facebook.com/events')).toBe(false); expect(FACEBOOK_REGEX.test('https://www.facebook.com/policies/')).toBe(false); expect(FACEBOOK_REGEX_GLOBAL.test('https://www.facebook.com/someusername')).toBe(true); - expect(` + expect( + ` https://www.facebook.com/someusername?param=123 www.facebook.com/another123/sub-dir https://www.facebook.com/waytoolongusernamewaytoolongusernamewaytoolongusernamewaytoolongusernamewaytoolongusername fb.com/bob123 - `.match(FACEBOOK_REGEX_GLOBAL)).toEqual([ - 'https://www.facebook.com/someusername', - 'www.facebook.com/another123/', - 'fb.com/bob123', - ]); - expect(` + `.match(FACEBOOK_REGEX_GLOBAL), + ).toEqual(['https://www.facebook.com/someusername', 'www.facebook.com/another123/', 'fb.com/bob123']); + expect( + ` -https://www.facebook.com/someusername/ facebook.com/jack4567 fb.com/carl123 xfacebook.com/bob afacebook.com/bob _facebook.com/bob - `.match(FACEBOOK_REGEX_GLOBAL)).toEqual([ - 'https://www.facebook.com/someusername/', - 'facebook.com/jack4567', - 'fb.com/carl123', - ]); + `.match(FACEBOOK_REGEX_GLOBAL), + ).toEqual(['https://www.facebook.com/someusername/', 'facebook.com/jack4567', 'fb.com/carl123']); expect(''.match(FACEBOOK_REGEX_GLOBAL)).toBe(null); }); }); @@ -856,7 +864,9 @@ describe('utils.social', () => { expect(YOUTUBE_REGEX.test('https://www.youtube.com/user/pewdiepie')).toBe(true); expect(YOUTUBE_REGEX.test('://www.youtube.com/c/TrapNation')).toBe(false); - expect(YOUTUBE_REGEX.test('https://youtu.be/kM7YfhfkiEE https://www.youtube.com/user/pewdiepie')).toBe(false); + expect(YOUTUBE_REGEX.test('https://youtu.be/kM7YfhfkiEE https://www.youtube.com/user/pewdiepie')).toBe( + false, + ); expect(YOUTUBE_REGEX.test('xyoutu.be/kM7YfhfkiEE')).toBe(false); expect(YOUTUBE_REGEX.test('-https://www.youtube.com/user/pewdiepie')).toBe(false); @@ -864,10 +874,13 @@ describe('utils.social', () => { expect('https://www.youtube.com/watch?v=kM7YfhfkiEE'.match(social.YOUTUBE_REGEX)[1]).toBe('kM7YfhfkiEE'); expect('https://youtu.be/kM7YfhfkiEE'.match(social.YOUTUBE_REGEX)[1]).toBe('kM7YfhfkiEE'); expect('https://www.youtube.com/c/TrapNation'.match(social.YOUTUBE_REGEX)[1]).toBe('TrapNation'); - expect('https://www.youtube.com/channel/UCklie6BM0fhFvzWYqQVoCTA'.match(social.YOUTUBE_REGEX)[1]).toBe('UCklie6BM0fhFvzWYqQVoCTA'); + expect('https://www.youtube.com/channel/UCklie6BM0fhFvzWYqQVoCTA'.match(social.YOUTUBE_REGEX)[1]).toBe( + 'UCklie6BM0fhFvzWYqQVoCTA', + ); expect('https://www.youtube.com/user/pewdiepie'.match(social.YOUTUBE_REGEX)[1]).toBe('pewdiepie'); - expect(` + expect( + ` https://www.youtube.com/apify/ -https://www.youtube.com/someusername/ youtube.com/jack4567 @@ -878,16 +891,16 @@ describe('utils.social', () => { www.youtube.com/c/TrapNation https://www.youtube.com/channel/UCklie6BM0fhFvzWYqQVoCTA youtube.com/user/pewdiepie - `.match(YOUTUBE_REGEX_GLOBAL)) - .toEqual([ - 'https://www.youtube.com/apify', - 'https://www.youtube.com/someusername', - 'youtube.com/jack4567', - 'https://www.youtube.com/watch?v=kM7YfhfkiEE', - 'www.youtube.com/c/TrapNation', - 'https://www.youtube.com/channel/UCklie6BM0fhFvzWYqQVoCTA', - 'youtube.com/user/pewdiepie', - ]); + `.match(YOUTUBE_REGEX_GLOBAL), + ).toEqual([ + 'https://www.youtube.com/apify', + 'https://www.youtube.com/someusername', + 'youtube.com/jack4567', + 'https://www.youtube.com/watch?v=kM7YfhfkiEE', + 'www.youtube.com/c/TrapNation', + 'https://www.youtube.com/channel/UCklie6BM0fhFvzWYqQVoCTA', + 'youtube.com/user/pewdiepie', + ]); }); }); describe('TIKTOK_REGEX', () => { @@ -913,12 +926,17 @@ describe('utils.social', () => { expect(TIKTOK_REGEX.test('0https://www.tiktok.com/trending?shareId=123456789')).toBe(false); // Test there is just one matching group for video id or username - expect('https://www.tiktok.com/trending?shareId=123456789'.match(TIKTOK_REGEX)[1]).toBe('trending?shareId=123456789'); + expect('https://www.tiktok.com/trending?shareId=123456789'.match(TIKTOK_REGEX)[1]).toBe( + 'trending?shareId=123456789', + ); expect('www.tiktok.com/embed/123456789/'.match(TIKTOK_REGEX)[1]).toBe('embed/123456789'); expect('tiktok.com/@jack'.match(TIKTOK_REGEX)[1]).toBe('@jack'); - expect('https://www.tiktok.com/@username/video/123456789'.match(TIKTOK_REGEX)[1]).toBe('@username/video/123456789'); + expect('https://www.tiktok.com/@username/video/123456789'.match(TIKTOK_REGEX)[1]).toBe( + '@username/video/123456789', + ); - expect(` + expect( + ` https://www.tiktok.com/trending?shareId=123456789 www.tiktok.com/embed/123456789/ m.tiktok.com/v/123456789 @@ -931,17 +949,17 @@ describe('utils.social', () => { https://www.tiktok.com/@jack1234/invalidSubpath/ https://www.tiktok.com/trending?shareId=1234567898904582904537057328079034789063454432789054378 https://www.tiktok.com/@userWithLongVideoName/video/123456789890458290453705732807903478904327890543654645365478 - `.match(TIKTOK_REGEX_GLOBAL)) - .toEqual([ - 'https://www.tiktok.com/trending?shareId=123456789', - 'www.tiktok.com/embed/123456789/', - 'm.tiktok.com/v/123456789', - 'tiktok.com/@user', - 'https://www.tiktok.com/@username/video/123456789', - 'https://www.tiktok.com/@username/video/82347868', - 'https://www.tiktok.com/@jack1234/', - 'https://www.tiktok.com/@userWithLongVideoName/', - ]); + `.match(TIKTOK_REGEX_GLOBAL), + ).toEqual([ + 'https://www.tiktok.com/trending?shareId=123456789', + 'www.tiktok.com/embed/123456789/', + 'm.tiktok.com/v/123456789', + 'tiktok.com/@user', + 'https://www.tiktok.com/@username/video/123456789', + 'https://www.tiktok.com/@username/video/82347868', + 'https://www.tiktok.com/@jack1234/', + 'https://www.tiktok.com/@userWithLongVideoName/', + ]); }); }); @@ -974,7 +992,8 @@ describe('utils.social', () => { expect('pinterest.com/user_name.gold'.match(PINTEREST_REGEX)[1]).toBe('user_name.gold'); expect('https://cz.pinterest.com/username/board'.match(PINTEREST_REGEX)[1]).toBe('username/board'); - expect(` + expect( + ` https://pinterest.com/pin/123456789 -https://pinterest.com/pin/10084556789/ https://www.pinterest.cz/pin/123456789 @@ -984,17 +1003,17 @@ describe('utils.social', () => { pinterest.com/user_name.gold https://cz.pinterest.com/user/board https://www.pinterest.cz/pin/nonNumericPinId - `.match(PINTEREST_REGEX_GLOBAL)) - .toEqual([ - 'https://pinterest.com/pin/123456789', - 'https://pinterest.com/pin/10084556789/', - 'https://www.pinterest.cz/pin/123456789', - 'https://www.pinterest.com/user', - 'https://uk.pinterest.com/user', - 'https://www.pinterest.co.uk/user', - 'pinterest.com/user_name.gold', - 'https://cz.pinterest.com/user/board', - ]); + `.match(PINTEREST_REGEX_GLOBAL), + ).toEqual([ + 'https://pinterest.com/pin/123456789', + 'https://pinterest.com/pin/10084556789/', + 'https://www.pinterest.cz/pin/123456789', + 'https://www.pinterest.com/user', + 'https://uk.pinterest.com/user', + 'https://www.pinterest.co.uk/user', + 'pinterest.com/user_name.gold', + 'https://cz.pinterest.com/user/board', + ]); }); }); @@ -1012,8 +1031,12 @@ describe('utils.social', () => { expect(DISCORD_REGEX.test('https://discord.gg/discord-developers')).toBe(true); expect(DISCORD_REGEX.test('https://discord.com/invite/jyEM2PRvMU')).toBe(true); expect(DISCORD_REGEX.test('https://discordapp.com/channels/231496023303957476')).toBe(true); - expect(DISCORD_REGEX.test('https://discord.com/channels/231496023303957476/2332823543826404586')).toBe(true); - expect(DISCORD_REGEX.test('https://ptb.discord.com/channels/231496023303957476/2332823543826404586')).toBe(true); + expect(DISCORD_REGEX.test('https://discord.com/channels/231496023303957476/2332823543826404586')).toBe( + true, + ); + expect(DISCORD_REGEX.test('https://ptb.discord.com/channels/231496023303957476/2332823543826404586')).toBe( + true, + ); expect(DISCORD_REGEX.test('ptb.discord.com/invite/jyEM2PRvMU')).toBe(true); expect(DISCORD_REGEX.test('canary.discord.com/invite/jyEM2PRvMU')).toBe(true); @@ -1022,26 +1045,35 @@ describe('utils.social', () => { expect(DISCORD_REGEX.test('-discordapp.com/channels/231496023303957476/')).toBe(false); // Test there is just on matching group for the channel or invite (matches discord.* / discordapp.* prefix as well as they differ) - expect('https://discord.gg/discord-developers'.match(DISCORD_REGEX)[1]).toBe('discord.gg/discord-developers'); - expect('https://discord.com/invite/jyEM2PRvMU'.match(DISCORD_REGEX)[1]).toBe('discord.com/invite/jyEM2PRvMU'); - expect('https://discordapp.com/channels/231496023303957476'.match(DISCORD_REGEX)[1]).toBe('discordapp.com/channels/231496023303957476'); - expect('https://discord.com/channels/231496023303957476/2332823543826404586'.match(DISCORD_REGEX)[1]).toBe('discord.com/channels/231496023303957476/2332823543826404586'); - - expect(` + expect('https://discord.gg/discord-developers'.match(DISCORD_REGEX)[1]).toBe( + 'discord.gg/discord-developers', + ); + expect('https://discord.com/invite/jyEM2PRvMU'.match(DISCORD_REGEX)[1]).toBe( + 'discord.com/invite/jyEM2PRvMU', + ); + expect('https://discordapp.com/channels/231496023303957476'.match(DISCORD_REGEX)[1]).toBe( + 'discordapp.com/channels/231496023303957476', + ); + expect('https://discord.com/channels/231496023303957476/2332823543826404586'.match(DISCORD_REGEX)[1]).toBe( + 'discord.com/channels/231496023303957476/2332823543826404586', + ); + + expect( + ` https://discord.gg/discord-developers/ https://discord.com/invite/jyEM2PRvMU -https://discordapp.com/channels/231496023303957476/ https://discord.com/channels/231496023303957476/2332823543826404586 discord.gg/discord-developers https://discordapp.com/channels/nonNumbericChannelId - `.match(DISCORD_REGEX_GLOBAL)) - .toEqual([ - 'https://discord.gg/discord-developers/', - 'https://discord.com/invite/jyEM2PRvMU', - 'https://discordapp.com/channels/231496023303957476/', - 'https://discord.com/channels/231496023303957476/2332823543826404586', - 'discord.gg/discord-developers', - ]); + `.match(DISCORD_REGEX_GLOBAL), + ).toEqual([ + 'https://discord.gg/discord-developers/', + 'https://discord.com/invite/jyEM2PRvMU', + 'https://discordapp.com/channels/231496023303957476/', + 'https://discord.com/channels/231496023303957476/2332823543826404586', + 'discord.gg/discord-developers', + ]); }); }); }); diff --git a/tsconfig.build.json b/tsconfig.build.json index 6583b7277812..a60757218988 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,25 +1,16 @@ { - "extends": "@apify/tsconfig", - "compilerOptions": { - "target": "ES2020", - "lib": [ - "ESNext", - "DOM", - "ES2020" - ], - "baseUrl": ".", - "allowJs": true, - "skipLibCheck": true, - "resolveJsonModule": false, - "emitDecoratorMetadata": false, - "module": "Node16", - "moduleResolution": "Node16" - }, - "include": [ - "./packages/*/src/**/*" - ], - "exclude": [ - "**/node_modules", - "**/dist" - ] + "extends": "@apify/tsconfig", + "compilerOptions": { + "target": "ES2020", + "lib": ["ESNext", "DOM", "ES2020"], + "baseUrl": ".", + "allowJs": true, + "skipLibCheck": true, + "resolveJsonModule": false, + "emitDecoratorMetadata": false, + "module": "Node16", + "moduleResolution": "Node16" + }, + "include": ["./packages/*/src/**/*"], + "exclude": ["**/node_modules", "**/dist"] } diff --git a/tsconfig.json b/tsconfig.json index 975f7708a1d1..c2c65813fff7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,18 +1,18 @@ { - "extends": "./tsconfig.build.json", - "compilerOptions": { - "baseUrl": ".", - "paths": { - "crawlee": ["packages/crawlee/src"], - "@crawlee/basic": ["packages/basic-crawler/src"], - "@crawlee/browser": ["packages/browser-crawler/src"], - "@crawlee/http": ["packages/http-crawler/src"], - "@crawlee/linkedom": ["packages/linkedom-crawler/src"], - "@crawlee/jsdom": ["packages/jsdom-crawler/src"], - "@crawlee/cheerio": ["packages/cheerio-crawler/src"], - "@crawlee/playwright": ["packages/playwright-crawler/src"], - "@crawlee/puppeteer": ["packages/puppeteer-crawler/src"], - "@crawlee/*": ["packages/*/src"], - } - } + "extends": "./tsconfig.build.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "crawlee": ["packages/crawlee/src"], + "@crawlee/basic": ["packages/basic-crawler/src"], + "@crawlee/browser": ["packages/browser-crawler/src"], + "@crawlee/http": ["packages/http-crawler/src"], + "@crawlee/linkedom": ["packages/linkedom-crawler/src"], + "@crawlee/jsdom": ["packages/jsdom-crawler/src"], + "@crawlee/cheerio": ["packages/cheerio-crawler/src"], + "@crawlee/playwright": ["packages/playwright-crawler/src"], + "@crawlee/puppeteer": ["packages/puppeteer-crawler/src"], + "@crawlee/*": ["packages/*/src"] + } + } } diff --git a/turbo.json b/turbo.json index 5ff0b5c053ee..43a29aeb0068 100644 --- a/turbo.json +++ b/turbo.json @@ -1,24 +1,16 @@ { - "pipeline": { - "build": { - "dependsOn": [ - "^build" - ], - "outputs": [ - "dist/**" - ] - }, - "copy": { - "dependsOn": [ - "^copy" - ], - "outputs": [ - "dist/**" - ] - }, - "clean": { - "cache": false, - "outputs": [] - } - } + "pipeline": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**"] + }, + "copy": { + "dependsOn": ["^copy"], + "outputs": ["dist/**"] + }, + "clean": { + "cache": false, + "outputs": [] + } + } } diff --git a/vitest.config.ts b/vitest.config.ts index c10f39ce3165..37c994b05e2f 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -24,11 +24,7 @@ export default defineConfig({ coverage: { provider: 'v8', reporter: ['text', 'lcov', 'cobertura'], - exclude: [ - '**/node_modules/**', - '**/dist/**', - '**/test/**', - ], + exclude: ['**/node_modules/**', '**/dist/**', '**/test/**'], }, restoreMocks: true, ...threads, diff --git a/website/blog/2024/02-22-launching-crawlee-blog/index.md b/website/blog/2024/02-22-launching-crawlee-blog/index.md index 58ad1a319ae1..c1a0d1d2eadf 100644 --- a/website/blog/2024/02-22-launching-crawlee-blog/index.md +++ b/website/blog/2024/02-22-launching-crawlee-blog/index.md @@ -24,7 +24,7 @@ Since then, our dev community has grown exponentially. I’m proud to tell you t Crawlee has progressively evolved with the introduction of key features to enhance web scraping and automation: -- [v3.1](https://github.com/apify/crawlee/releases/tag/v3.1.0) added an [error tracker](https://crawlee.dev/api/utils/class/ErrorTracker) for analyzing and summarizing failed requests. +- [v3.1](https://github.com/apify/crawlee/releases/tag/v3.1.0) added an [error tracker](https://crawlee.dev/api/core/class/ErrorTracker) for analyzing and summarizing failed requests. - The [v3.3](https://github.com/apify/crawlee/releases/tag/v3.3.0) update brought an `exclude` option to the `enqueueLinks` helper and integrated status messages. This improved usability on the Apify platform with automatic summary updates in the console UI. - [v3.4](https://github.com/apify/crawlee/releases/tag/v3.4.0) introduced the [`linkedom` crawler](https://crawlee.dev/api/linkedom-crawler), offering a new parsing option. - The [v3.5](https://github.com/apify/crawlee/releases/tag/v3.5.0) update optimized link enqueuing for efficiency. diff --git a/website/blog/2024/04-23-scrapy-vs-crawlee/img/scrapy-vs-crawlee.png b/website/blog/2024/04-23-scrapy-vs-crawlee/img/scrapy-vs-crawlee.png new file mode 100644 index 0000000000000000000000000000000000000000..f98432ce8fe03a6146bd624248ccac4f83536ff6 GIT binary patch literal 70111 zcmW(+dpy(s_qPk?w#_Yfo9o;X8M$w>xfM2-ZYsHzA#%-~Z7xIDTq?x z=w^zNR74p`E~C-#^Zot%{_FjCzRv5M^SrzYNM5colB$v-A|f*GZUi3@5imtW1egy2 z?R>$k#$rT7Kq4d$KW9}nt?lh?l&+SWyQeWqYqz1c`EG5riPk5phy5`+!LGW63Fx9|GiJO+X@-4y*q%%A=+wgo z)$vx0kloZ!<10}X0nWN-JoU<=%`3yqQb;Izv{^Y7ci7K}8fBJw&>%0zH7ab+vBO5u zY1q({CTFu;FC|-N##to!p~BCg{k#pyX@u}|j+dhLmL=~ypXpGXye~D{+{e$D9AcW4 zwC|L=?!lwG=@cxL;uIchofBsf9AXxI&aOJy=HyA!kf?o>@ZBNl?)j-Uq4D+!Ii8v6 z4hbptiDxZx((Ng^?u>BL3)F)l$GpO`+!GS^CDB~Z##*H$SRM=B>wj!_LMA>W$tj&m zNJ+6RIBXmpWf4v#9zTsv$-w3$Sp`JyI~`_zB)}|~Y>}3GATHAEQkLV%7`qdx9#!e~ zp;^R}$Bau;e9P%aFXSGMIPG0Ra|%duIhjd1nSkBMSNfZbJWKNwWT{tV_^rk2L+px%}wbg}|bnnjR?F|iAuQy&e z8F(r=IsLze?4CzWS1wncjZJvidSwCY*mNnu*Y9WrgHn)tj!Mm`V?@mS{s9QLCLOR{ zuy)EyJM(#FIQ%Bz=;_@19~;@P3xDr*p*{{tZ1WxX{?wz&mf3wyzzjM@#?70$t(=XM ziM4jZm~XvfSe~~Lw)t;O_aHN@8=l>U#o`@`PH#MDK2euNxm)#QWI!jw`%Y^EGa{HbZ=+2E=mDPhGVg6=ANqA+_MH13 zCH~JJYI&!;&wg7*o`3v~+y8A=?%89ZQu}$~y#?jkC(pU4#O6rN)w;Wvqzypn4)gR) z%_P~(yJMUg{#P0I%X1A)BQj1F?a*6lsm337w>$qy%wlBwuP#!AO?#v^)_<=YB{oZC z!-}{sH5Fn>gV~x}%0ehEu!sQY~S)QGB z2=PCM^uRoRko-Pg5SdTBfcuy^oOM7eBK~(27AKZ4#%VK%>-#L7<=B<4VmKc(Op4=t zJd`nZXM%#`7BqjSv*qn*n(9^V8C2PGpMbd2 zZid0|#syrXj62-?d-g5YvCP9&L9?H9l=S;SzT}(wf}p#%AAp0sk2U%krt(aD!RD_f zKCJ^X!03ndE64wce{ijUWg{VzHCf>Nb5NbFK#L7^Z^oZ*2#|xTW*_WNM~PVNl}s;k z^8_@F*Qm%+iJftgd~KA=_TR!D)0g%8S+~cB%wwxj0*>$e;yVCD;=ge1{9FE7)*VDH zJ#|1%aJ1CcxN_ga(j~ea|FxXKY)B%F9SsbQ^(9;PFGCs&J~Yrz+^W^YB;gQ|ZdlG8 zdeCHXG-0Dh(ET;ML(nz@)|F?dU!;P|>iQehogk`A>ZWYi!qWLK4%$PmV3#-{fZ>O- zn*!w53{SF`?~h!cKoyTpeU!L;;7(t3QzNWc-=U%#_S%1SWu^Bh(deYetX5`+rknvB zZ6`W(eMs9)mLO|mFyF(_A&<0*yQ+5@@~Je(`DGn6L#uMXh*oBc0QXcc_s;JBD7r^C zWZn8h@<_reBR&r2Q>Y#u_Z~fVL}__mAfERVn6E^*vNdLycSI_qgr=Fp(~7(1BCxUg zhp>8(-!6Gwvn(Gj*QRq^)O%Idutx_wXm;8PbZM39v}=yx z&ckkYB16}J>=Tpls+F0gvHO_rx9i;n^sH7x2r|y01cf~BkfU+6XsNp)@5r^d)sTOI?s(!tQ8Tyy6V)7V#8pd3&OgBACw#nj@xq6_^e82 zb=6m9*+1Q9$Kw@MNza`c4w}(xuFC{pdr$0UCpAQlNrKq-j9GWDA}G^HcmxH7{|gID zn}Y6he5-lRFdP`xd`kJu#-{=NkxqsdFIKpCYSp?4CizP!S>@70Vh@4@-D+9Us=Qk{Jx(ZQV0p!G$0k;j%o{&9L8rYO893u6ViXa>M~u4ZdWZz8zBeJHxPGLFHU8^MY*N z+_Bch6ws!JD%({Yd5U?HodJnJqH)ZoINj`mGFm?fb6>u}L4`N!b2~uD+#^ScqPRzL4z?j!NcrAu~mLUWM+W-73bC zH}_$8Q{TA_C2u$IX74HL1ix|L0Gv7p@|(pkqxW<&(`C+Oilpso*L=0qR&olyfG+pf z%41y=F%B8}kor;=FGSVVFWC2P`#>_&gN{My`CNye zT9E176!b=nw$Wa2%RP?(dha}ba4$sV4{PS0C9pGpJ@gn0pN*J-Sq1=B)yUxALdmUl z{$n`gqBB~x1d8>+8yk;fY#ra-;80^L+&&bxY1!fVh72H0D!b{`4972sdo}4uu&E&2jqvgC(){Lu)+g4VeCo6<9^d+J z;!+Y<&AJ=`lzCWG_KJKAdsx!F!jW^qK`v3zaQePSVm{{;sPfX*`mX@5=M*nld+Qk) z{tCwnYoeY`!oQixHo7`P&(JU7s1yEgX7dnT&gj6HC49Jr*L!i<*v?NHZMjdQaA z{7|T9BR&^6fc%6MK- z+EPq!Wf9+CJ8L8Zs9Jhi^P}cr%)OT0vE;MhDs6+M_s{8X9kUQbz8-0cWbWqPFy$$R zQ!CqeF9{*~2`|eyfL%Y7O5#?*hrn?kVUsrI;0uKgqiL?B;a!<#K_jbQB;Qlt8h^K2 z8+$>Fs&n`kmVa(cdU*BMn$EB>2LRcs&XRTLYE}-N70t5F0QygcoO+zS2a3fZ>ZN|> zM9O&HokZ<1(mU0pfA+h(mwiv(JnyHaz^Lsp>mg^%Yo{F7YIIWM2N$#MCtnZswMiiEQJw zN8<7M1rZyitj021l&Cf6eL4wsr#KwW~({p{48qo z@3!)HdLZecjsYY`@!Z$DT5k1|G;a80tjN0-6$A8ZOm(ctog+)}pRwCY4iB5>R*31c z8sM&#tV)nEAEN&N(0}z`FR?yS-1BnVY8JwLK^pr4IpW7K{8iRhjeoeyN#W<2y#@#F zM4?Nj{Kt$8E@EF&a%$ad~47*xSl3BtG+UQpr;4+`#$yAeRVsXoVm1~3F1GbIS)S~2@&h8 z`!7{b41T^gJQ8Rp_o zO4~hVPW0U)i6YL%@#5+5SnneH99e@sd0K_oyFMqk6*9G5Hax6`cD3wtK_s3=>Qy}z z$4|Fzm)>MMf{$vA2@bUG{;?K@<^BfDKL$EfTLJa574AXCG^vF+Wzo$2_aw?1{;C+z zy7=p+V-gj6y81WI0PClxmIOy!LYv_@9WF(4!|dOY=4walt*7?>2{fk>$19hff&I-E zZ#$)YdPHUPo)T~aORio&johz2CYjGvD8_XwOh<(>V(E>Fnf;R%gck@8>ofz)GUZT6 zS&Nkj`x(_`UGB`W`jUt@pT#!jB!y_OV%iz#HHU;ZSRC@kWHUtf9R+EcEzpPb!5fV> zLSOw2Tsepy9}1GV87g~oqFA|rn5b?D&c?!Sx44#e?gguibT>(PPlUmln?2JZhEg`Ub@4J2 zDF^3om&=ptGFz{kLslOI`gve4W6pxOt6+-XLqT^eq?E&Zf3o-e&FQ2=o-rs>7CqwS zZl+~{izmi4had^*abHtNcN+=m`quv+_?@>G+6z1SPm3A9*fs(Bi!Z`ht;X1Je#jpY zo9}#4v!?8lt}Bg+V9l)DnkX+P-46TsHLElt1N>5g9E>I4D$H54>u$CE z`JgA{<9;~f^5Sgb-VNXJrD6pl197saqSix8gVOK!$%X zk+Du!t&oSCKP&o^#>(L?T0KJ!yNBlfey4zB-N#!Vh<<)%zk-!8CJ*CBW!lXb6*tIpl?S%)kQQURf1O2sQ2_W@Peg zxM7u)04az4eXzyYvwL}0p4@i53XM1DoVickg2|*36PTAmDk?s%2fk3N(CG{&G#_7p|77XtsjUnTha$QzwL^R=N|C z}BEoEi_e9S|bMZ_|SjgyA~T}i|`7yEP2I0dwq(v!Ptg>GmCS(!q(o|D-Kx$r4al+m}b_UGPU zyMmxCkxc|7u~@vL74{6v)C+nsThZgkIBD&nByhGX2FIHFNo5x zE6bwj5rJ$9IXVmIIQ;{-7M=?#RCaWIO@oUAG#5xVc#6rE<$5 z4QJ`p%AAJ{BDkPr-P3!?o_W#QId$SDq!*t2fvJp}jow^?a%Pus5fVFWAjXsU21-wm zOH61Lg}1otXE%;*nsJgQ=z}ucZ+lV^rDV~ep+x$$8w{1{fSJmC3z{4H)_b< zR)~?(-9VbhBN?CKkFD1iv5z2+Rgno%#k#usHrEbgjYLzzE<^ia`&rqV1~f66uvj^0 zmhMDyeWFnlWtHBa)(v|P1mEmcOU(9)p_lRvKjPO^^Tq8zh{ZObE7v9Q543+H=};6! z`A24g*zi++fJR)@TC|tkl)tKzwG|*kbj8RjL(S3+f?XJvkO`e9R0E( zLWQjUf?5T+E%CK!Am_92Kx^M$qg-Byrop7IJZu=s3#K@>J7y_Dv|S)ITYJTESEh(| z$i6}P4;~eV*d=fWCD@5;i9&o-X$f)0IqH}nlrl$q_e`rTx7T`|EL~_ZCuQ)cgJv?& zoE$Z5_^KNzD?g4dxDz4UNT6yuE#fjyJJsgFJ>RB>Mf+z76N3PIOr_F|;ZFwFbAd>-Ne2yn8MYBU)U@HTZGjDC?`(>R7W~_qSK5G_h5Ch{`jUJ4>@(W5aY8@Us`+$G;Pjco%UW!R>b^(&2+(D4$56kH6)6tjU~uW zqXv}yzKOc4i~YsN_mfGvY;ylLL$&R&1DXLGlt|;8@mOi6zdKkBx(FSho9vu2e>MMcR^im6iTiiD8a69Wh#zt!f2$`G^? zq0jZROpYC9iR<{Oe}|sCs{EG=E{IMM!4=e=hN-+ij63%`0@O3@Hx01Ay9<0xB1fUP z&f}regXRfYWH1L3SG>;Nk5O;yt5vm4&`9nR$ee4vjsh9wFKEicJad z?qjSNtcv5B`WY1sf#HT(j|O4@DYw=G-8mSsWc%RFso+haUHDENH{O>JuQ>!c5G}zsZA|Qa8Vzx>vG@Kg~Gf4l*?=%vj5`MLgSW!;x-7- zC#=t^t9sns6G75I`$g27!2)r~4RkK~mNh!<9Y`--D3X~hxon_l;7Od-UkPYWiEnrY z1rHsQ&=%duezYugd5Zq@@I}DhC1w-d<$DJ2{$^06==Zz6pAAj4hzcMvEuOsik6}Qm z8LxQ}OQJWjh+6q9hrTtHtJ_-W&%hr~lH`76gT5c*ar0U~scQ!@lyK$W|J60;pTqu% z+?LJ;;#m5(PD(00VVwuq(gPW&q4@&y%o4XZTW;tNu2(t7MuksWjqRBP*s_`H3Ey7! zuVZlZE!O+ZmCb`(ZWkq`~ukdgwG7Z*@U68p@y&N#|4E*K=fxAw{7ODasA>O!P z%CROipz`2fT|L>*5_F@uGqNx3v)0e{k}en!i{&~cWGJ7mpwD4gM@)SR$C#+guidd`W%s*0s|B z(%ASkE8~}vISN+1-;&C?kBL>Z8`)QkY+_~4P9il`()s=G&C_{}x{Ep1;6&uREUpo} zk$pr0^LK%AsKx;H?P&4`E4O*}_{NQM=w{+t<6v!!O5PcP{HV>A^w>D@15u*@Ap`Z0 zX6_B38sbxUkw+dQjQ$Qby!?l3QbVdv-lxAvmlm_htj7Py)J@b6-ohUZ*cr_BsUuZ* z_>Wi`B6v%+3CF-lzf#WqCmZXhjI1Al7(u9rYsxuscfH^h2gr&#_i?B+-V*>0GTnjn z;?kjMs`g)oGV~v^6?~WO&Qn;hcVOJ-3ssxV(=u0h`7IKX|H@Z1PV}l)1xk;t?lL$@ z(aL)tHkSp>*sK@Na!bgMJWT4B{4+KA+WP@SfX=hZLquMABc(=O#a%g$^);9*@1qg_ zA%a|sySCs4qj=Pc=xDDs-qD0( zxwD_*M18LT*cbLftxlk(wZ1y91Ad<~qD{Mf3aWe1`tFw^y`yt|q) zU?aU$Yjw^aPxm@~#=&o$jml>IHoBvv@T@||qE@WOz=uK1^D__g0riLMJ8H%O2ao7y zS8OgE;Im(Ya>rNg{hL`{Gp9fq`kv8&;DPEpea+|bEf2W6N9CXJLTs{2bjKh#r_wBG z2V2%2#b~PiEgaLmj|I>6q9K8n*%AD~iz>8XZkfb}KAaGoTu9KokuCNmDGdHbBdzv* z;a!P%ZMU(Af8q=(a=QJ8nA?zNrTKEt2l|WB&TdCIID;oIMYs>L<>)K5){#4rh(S%c zHz;WTQphE<2yWi6TJoxl^vgXkOS|J&nuzK?&w#<;OePMp*rB=X@WRy-v>^?|T#_37 zG%TDwkq{v?$R}+64b-9hG!62bn0e{{*4P^Y(B`$ZN@=Ilw4_vr4rs}N9~BbXB@4^t z^b#tkT}A0+ggn=9gQNw0HD+|k*C0y9Ru;>V9p<&r&TXW9E~th8G3uRytDo7~SLBVq;;3ZD@brV!77 zj`y6?Fu^0C^!HEvjgepHu&=U|iA?!UWZYY@VVDW`^=Gs4Z(S~e^iMp)4K9R(zqjEk zr{=g@he=yyEH6;|#&GfVgJe&CkHOku*P}gx*85a-|GsmPjN6+9_it*Trwfc0NXdv^ zuke?aB*))|myvKkDWpHt6_zr(FOw%r)lv|!M^?}8joq&2-JDfTof6CMd~;wk*Zrw( zp|wiZ9m|wf%>F{n!?)Z-oBGmv(kyuvb8!H>O97rcdxCe{o-QCR`}D+nXg)OMPVT#Z zT;&25f%uz>mbFkO$bCH2E)x6>3)|TN&hyP;v4ybfI0D}Bq6|sB!S%}fi-9-fT>YKT z9+rpk`_=?_o+FT5Q%>&l^uS9bUh}TL+Cdzx`|@qBirXAOIW@J>JIO`T>=ZLWcKi+c zEAvKey4D}2zPZ>s?}{5cOk99V?PZ;qU(xn;sY{s zr_Q9VZmcft@~=_mS;TRcECRZJst}H6oU@F@dLplOHxG3qwHPQ|NQG!&$d^uZH*hHL zAUFFq{mkd??!JNde6}(|Nf5p;8h*g@Q}&^^i2dQ$5hI0nAAe-6$13~^Q~fogs4}gh z!Tj>Pf+Zdsp_uK)ojUu?vQk<>_niW*E{)_MZe%IvXAz zv8||ya{JWjQLdpB-|_q4T`VZgi(FH(*g-kG7U{P!RCB*C3m752>;X=>{(hc%YmT6OuLZ$LConkFbO3Wy?axaSJ-rlQ`*L?`uFAPFp!Sfx1b{GD!Qss9U@;S$!WU3J3 zXQsMGvjKOg@;fW_q1GmK|Dg8eg_W&3LSyipOeB;%dTP>+0Lr(;|#)l|YXqZylCG7MiYMm-N z@iRaIUu5Gz(!89q{W9I+iCA!IIt24sd6LS@L!6HA1R_+q1x^`2Ty%!Q^jbEbYBM)M zmlV2Hf7vkjYyaCp*Wacte4kVfK=oUu!@pS@6Ou*$5X!Hx ze3n+__)t?-%TpbW+FlkHKKx6?U)oW~&&s6*)E!~{IEm7^49emFoL2N9I8CCW{HlY= zX*=W;^B>X`w%bK&5u884IREK!q!@eFC|@kaBa6xvVQTWP6@-s2_-_3`13C1Wt1tMM#1*3X}rdb5B=f zYE72-f$N`hX0}ke-<6ZAv2q#A=QMGQ3qo}gh*6P?;{K?kVXn7g3MUT=zhgexlZD!{ zD{TbCiwpZDGD|*UN7(SvUHLRzoI^NOOqc^&rfzHfoFA+q=IYVE0>89-AJ)s*t6?8m zgWA)5dUi!|SSwhDP#^V()luBthuGh%<BnbS z+b2_Req8J+a1o~eS`&ZstwXs1R&}t|70)K{k&FkbUTn907<7HVFUo^dPd{zLTPVgG zl%Jk_bCaZoY@NdU(*FbNh!6^K7fzN2{HElm*+xCiJ2$LbtSt=n@1@xCMYr2lyv+1U z_&!eL!G1+1RO+W|Z)ZT3H%h=Z79rkZAMCB;{8+VcCvQ*z;h84j|FI5Io#qAfV~1fq z6QiZ~{Gi&o9cuV|zUEbgVkXR>!AsA zXn~t!*{|!7kCXmjY?mQn2Y(+NiQV#k@|dxmWwInLG;tL7nJ9PWS_7R+p6{%1QZKuu<&1w3(M}f~~y4RToHb1g>o^2?HsRL*GW11%)W!4tqxV{|unj1P;6d@14;EnQEeO2Vb z)Si&{xil#ip4k3p>5w~8_(eE~gm~)L&C2CN$ECkty;O}=*g|*pMT!+f?ATBp;w^dy zBs5L>v zZRsdEvi5IkNrV&uxuQuq^!#OvN^xbjg0TRd?N1?JanNHnH1g-dY&MudXssHBW zjEZd-_~mS~@^ClNXdhP>cfu2MWZ%uv%?g;btq^bjPwNRSXzDK(L@RSr6Y+s2neDm0 zggS_kY@0T~!oQ&C0o ztKJU%mjlDy3}q6r<{Q(}cOT})RASvX*Ofh zRa9Lzs9R{kxrEJQL0pgzlv6M2p{dNWN;%GdC!-oN7m!N(g}jAcDh{fyB%tDEl31rJ zDG{I=(S?cfW0f$>3ZQ>BBy$w|hs|Pmy=$JF!a+gsG!_6`jS548Q?PKuHFcGEF>q|m z2d=H0a+ezr;vj{S#;6Q_a3y$Ptrhz#pYUqD9%@Wy6O}-)0y#VdrApErO0m#_U6bG} zcH=JD{3R&yBw%VIO05*wsVfcvdN+Pqiv-PjBEU)N7{?883c20;ga@`I^IxrZ;TBC; zGNrBxPJAK3>-1=0satXXA;nm+FmU$bo0GXzwkJeJ9**;RF7f@r(wb#(!MRbFzsFi{ zj6W~K#Dfj5UG7F*bQ=CHgF04~*=Sq0>i{{7Sd4W>REzQrw{JHgrW3soCfSakD>DsR zn}Je8|AXO2xeil$2nxigUk+~hc4q5Q!~Uq)-!%K_N6wzu-Q4$I7^MW3E6q`$-G8Wo z{#ARiJk|Pm#~SvmD%CA`%a9}`6k*-mBe%V-zhQ}4wc*ontG2Z(_m`s{y$u$+@1($1 zHOa#_yC&pUV7U9wkOu0+>G>ex5->XuDy{8yZM}K5`Ef>#V;^J_T1ExIC-o zn{{oLVYct5M$3qPoDD?<3BO6hvR zs6Sh5?*JHr>$zyoJ5<+V?FE8zk*>?s^tD*&SaPJQNx+H9M7g4)fS+)A7wi;wTmB!mx6jSs@EQ_N!Gh!}_LR(JVD&&>|}r zkZEcq%jYWHuFM=S_@4n`TP zc{S})#5-}dL{REpE)df##(|*w7$ZRGgygXEWN$kl1;rJVUWMi3f;S?aX zVnqU?cJi4#{VeOR^V_-(#=88aRz_mN=6C6xL12|xPTg}h;N=9Yud8wYMI<9sP{5OL z6VC2wnEBI5TBV2&5i;*S%Rq!|H=nx=B;hXnXxrb^_o89>|sc_Cc@DurY=x z%wd&iCY}*Il1uHs9POr^DUBE(Sl(UpU)@;>EbJLT^}!&RM|F69JNr;4i{XAEno^Bp zimMIb{jzXQnniC18bGP03TpD)?8zBipSG;u;oHxlO05~(D>s)^*Wy0t(X0^+5!Lm! z>$2p1YP6Dv**0;l_a;g#AV0C%56dM|?P)mQRY;@$?U2Hzg}@S|-ma^P#;mL6n_Thm z{`&%5RdMS=_zC4iC!`f7qB5D6G56>O#nBA1z|Fn&b#re2GYaE*c3%oSQ{8S-{Z=4) zRnp^J!)R5OnbW|_PsNfM%G4a>v5ml;24JzldYt;@O%m1ziY;J6nh+@1eP^V=!UIc} z;cL#CXJ8q17un*+zI34hQS$jm%*Zp4u?@|9t^UOob-qpNZ?|U?BpJ*QU;DBDXgRW~ zjb0|t-F>26+;=>6ssLy|9Vh-JiimAq9&Vv|GV6oDSw`@$N#-vNSn`XLTcWASaa%Ea z&HM2IoowE5DX6({qR|^QiH|QwV5MyQ48ZADi}5!@OoIxLCEWO#ojrc}iBc{ar}-+L z7(5M)1)Q_ydub37I}x{bq6~Z%#Qa}O6>f26auK#PUvN<#zJJTakYJkzKihTx>x(}d zCq|=%+Nlq|iu6Jf8cnm9w%#PSQ?ZJ8gvwWTqiGeEb5puj9Srjx9Lo zovT^Xy^ovLAetGs#qQA98(cxelF0WVsT(KkF@0P$b9hcVRCW41>pT1t&C$Dg{`Nyr z+Xn-+C?)Q$lNxeCf*fz63s4A0^;2{S1}3e*%6& zt1M`|7lxrcE%T?E%2_lgb3p8b7X!nAgVS$Cf|rGF)P^o}Yh^9P|vLN=L>yBbNJ{5C>m!mh|tB z65>I$WOxwj7Eo~$ZN|814UH3l~|5&I$}3!OE(2g z4xY+;=T6Y0z{5*d%kGOKn_)(L5}beAl#8GGeF2|uc0R50!`ly7wL8{#O&3woffYew z%deDDWa!#w1f8YAg?&f5Vrvm_Jtl;S(iD$R8#WZ~w5 z9Bp8d4Q1EG0$h?n$=U@5Z#A7ZcFp&Q7QN(y&POb+7ds)uMblh_Ii|1Ywl2gI6BO#Q z%;Z-CsG9aq<>|}4N|1URq3>dvu0HD!40q1o5zy|Vuu)kqy!;gUS!U04pEDW+H?_?C z2?jc~pZ^K`u$;71vA%hJO6;6d>}tIa*Ht)Eox$hN%W_nm+*!})_ktxnD`Z32d2Rtct=Z+|c?${&IG)Eb&akXon_ARxU)`CH7zG43lDTGrOx2DT&rOhc$ zIBdf}nnU~qkC0EVjfz!SA#-AMzX!@@fPSqqCi_~lOHcoQck_hYwG=Z{5~zH@Hc=gR zqzV4~Pt1Ye=auo?$evQCE~`cPnpct6NAVJo!b;gcvrMRldP97H{Tu++j3iiaTv;3s zj70qpp>GeH#Vhq62Q3WGT?WNp(^ATYOYeR1`02~Pf1*pJgl_(TAEV_*73o-w+&Zhd zK^tI(REDl%&ta~zJoCH+`8e)99D?zkFfhz9%*w%B3@`*G4fhIH0$rF9AWVt^Ju5$q zk?>R(&MS4Fa`2F6I`Nk7I&h`-2OpaVL-`s2xL)jvuc-tC#%ag68GdVp3+xA=m-~GC zes!=YuuEpr2UmNUM;f|^v$wBH7_`VAL&{}4wlmjs4GebSuzlqRnGbqdr(s^dB{)01 zRzvdOVyS`V;e8uA6)m%<2<>nOzzKOzjprF!l_9Af2+0)J4h_QjtC{|1S$_yMM+h^L z2Cy_Tgl_;Bb|xM&Mj{m!V}&OAbvJfkcAT|dY|G<51kkW%5YarRWAbndI2dSejoO8q z(pME4OoPtpD{J4DbxQHkp#?I#R21IBaP=%0uOPo#r@z~-N*C%WHF`s{%29o^K^lBd zolwATB%T9X2EM;^D|1cU1t~YGkm|!i)m^OHI_{ddG6!6~P5)u8hur`o zRWn3n^+VURWa?ZGB#bjE=l3QA3J67xrb$#66CaQmnQw&vs(%{*4Z;E z3erG_47XXajU)SWk=J1MS9`mOk}j;e2_^#@Nky29;)7d`I~kWM56g3dMXtU4a-OiX zEag2biJ6{s<@~!EqDIN{YYL5P(K-+sYdM0Z}b$IF%Fv}K0-XJG5 z6e39;m;^oL;rE00JoZj>AUs~WuD$)}qP{KWR$#C$62DkU;hTMZMqxrnZk>sRTb@uh`DRha(!(f&q4O zgeeVNr%5G?5L-|z6N)&V)C`55+fd)aaQ`*c!@lyg=(DJo#x{W45F?p7f?XyMYb7!? zBGS`|BZ^s&zV!SAVk(ynGu+I?zpOzN1eZOq?F9>E^K5q^X||(SC7c>F|LO7k!m^+F zkOH3B*Id^DCFUX9hQjPJpa<7jY!mOS02^T z`z@tp?-VUW+GvgG9mgMVl7FzL5WxA!b*@{0s_`<)1r53tQc>g2?YYKW*GK9!X4-S9 zW8+;t>ZzmhI!xdXh~F==$`s7JzaQ@isB__}**Z#oiGz4J`u?H4J4hPDhFXobNCQiW zdwF;EI(;dB`D>S0(wzQ_Hr-#ZloYdV)N6|zza8)0#WAngw45)+SF1fwNi@jv0@TgUWI&MFj z!dVD>*)wPc_?<8zqasCyH-12|9=wo%%tP=BjNR>HI`E}ok&4gcYSo=_>^t&0q{iVX z{%QI2(cKhjoV?Iu^=c4Df)L`^OmfPXsyrwe*1?#4@u{1w!oP_UOTP8oTSOf?w-)wx zDwfW=55&dS;I!U8dN1C>BX6xQ-4H{*BN8#~Sz?&bX{=ei8ffCHmJb zptvdR9e5|2?>){u6}w=a%j3oYRSo&ZU?4_blFF`!IjT{=GCvySa{vZv5{QTIz1|C! zG$BFi+Ry1P1li?0evL|w=@*B`u9W`Ik8brR{m_QrY|E1@brRLSLKz3)uRMPHPbunF zoz3LqwU}*yl@?LnstGO{q(FHej>#s~T?+JFC<|@WqeB2_z z`ARFM*#^>owC!Q7hJHYH1;XS>ajv_c<-r3A*NPe?9dB=InKkZ@0fmTNTU{}zOEt~k zkn>JC`wTf4Br=wz@qDX^X2{tS)PZ{S0W!V3N0#mYA29Dkobtrz7MIUlt={q1#da8z zI<49RE9uRfb>1mW)!a}^FrfBQ-&`O!V~1g zFCDc?Tf`M;>gCDnM_dn|{v7u7Pf%OrsAbTHZsHLl_TwV`tvh<6SqbNfD6+qPg0BKA zK{oC`D{|))np5g<-pK*@NzPykhP`%0`F{#t8fO%c>)yR1ob>H^k(B@6jX#0Y$ucX5 zoZQ-#g9*mfHc3MI1PoXhWs8?9-jAJI?ns7`*UVHprCdX*xv2^D|)eDxJ4pA z?Fhc#`N7R{(en`N1fRvF)V=Mr-Y>6e@Ry}{Jx70yd1%d%F2%{Eh^OuJEQ^VmTl*L4 zhG3Ev>a=|ktvfVdh1em!Y`>Gp0%hl)7guh4aR^&2nzVD-9X{N4VTJffe}8z|n8$4u z1>$;`q|weTN6cbjlnaY7)J`8rJBOgpX{fs77O;kY^*lzM#h`eX@#l` zrOk*ftJRSQ1D@u9pz6;LW~Y=|TAR7uE7qG7_18a<4nBfoyIFchnj!Fq)O~(egIQi^ z!=S!xQ!oy3wAk_PluQxJq!MqZ1Toq;^JnKRV1dRat|X=p#*c-1_DcM*h=E;7S>+9M>BqWL72;TKa08VD9%MIDK^w z(`2it6JFn*lfMT6bo693!f7}N0!i4>AoKGoW9azg%g4L+rZ1cC6W)#E-)^eN=%&Bp z&4Oag3ROp55RZ6b!CkIjB7yb!xVLrUO9sk4JNJt_3B1qvF6lBVY}>TT1mO_>G~M)X zN(}$$QpHq1%eBn?@Z4inqW^7#PWwHk7r5PM8G?z63x$j2go4BW@jiR7y4yT)2f&6g zXUTeRoMiPEk3X{gAw`iY#TnDElh-o~dem&L>%`iz-YyS=t zk6Or<#7ybk01)JQS=BiZ(;(TU2EVsXj^a2ZqngrHNtJfu9aS>_iG+Z&x}qhHx#4TQ zN_6O513zmPbBOSK9hEGfgg08ewyW~xFR%8tyuLHkR<-l6qq_N4z`ljNS^mojndn0yMNfso2DC^;H~>@NJL9MZZPERRoe*CW0w_e>nI>tpOprJ|15GT{)&&v~Bb-cE~}&$$8z%vVi+{`_Oa z*WR2KzETE283T8Kmi6zx^-|F{I83h7_FQV=s)-ykju&&!nqom4e@5DvMOxSVr}TIv_O{D8X7(TF5LkPGEs01pAX$%*yWnEfbO zDic3!Sc%9{QzTsHB#9@2QEq;8QQF8Tjmk`}-3| z^DvniMjAZ%{jk>;v|^HN-Uy^|G$ZKVv`~f7?3wxbc5i#u&0hB*07^`=Id^EV(*>0dWoq-J#%9uDQnoFRahwdAqbJw)$cGeKde%ITwY;YsX+*P; z<{>2HXvP<TYr3H1??$&J@jLNfx9+;Nyw`L!!Y&o~+XhyR{tqUmIvszs`=I?#DBJ&MSW-aM)DQ$zlF36c-;wM1AxmTcUAk%{!@JUmS&gA?gR2FdKO zML1SmxVkU#feo>>ITpwA2e8zcPCnTg5<2?<<}A>yoSnD8&^kXy0gJ7FuJJ!xuZs*D zTrZU*l~~Z@00dOiT2iEB1iQ#u_N-bg4wgZyxnm0;*zbB!XHn?%2JJY^__i8nNddt& zuMGNH0fH?v<3xY`*hH))tUk@J0heCvJ4hb)-$WE{#TNd7zGL`6K30o{FiVPtmhyX; zzPp^pS@1xI9Lxh-R<$E7(P%_$G_>_CR&uJX7(CD9d$(jeZU=!4oA;_Seb_bMksb3+ z(N=}Stm-QTI?dfy0Pwygjk=%!S`gEJK`2Pn-ZTaPZeV&lv*y$Qm@I?~d$L@&Rg;Mj zw2)iRor(d6^PZe+m%u8-h=Dfm^`~VolEO-U0SEZt~@43F^vJB&jIG|GkNjj>H!fH@2K5RquI9-5Q3ko_uA&CS^LL&Pb2bJ(|LX|1QLSdN9y@ zFKT7F)z!J9N1o|(w;$8UYPXbsQdXIOFX>53K*q0eg}I#t;0#zSiez2tiaw{hpt&nB ztQ3!^^LO!|I9V6Q6U?&%+^*bb1C-{H?3u-$&yXf}g7tQb=7E|jaPxR%7N(0O6J>el z7aQpMD5WorXY|G?svPH~6%z{4>x*ZLGJ}W6axr%Om}sgDKH9)q*?s$=GlTS1p68>S zm@CCRv%xW}5{}FsL?5G60%oCYy)qFoY3H&+@wQD{@AA(BK29qJZqN8&i$9Rs5!d8V zS=1kvxqb3)#<3B+4NnWMmwsGtD8&DHuUSF!gLp#I#huo9|IXdy{O-@4m~E`jFId}= zS2hjFuj^AurCyF}d#7!0A-Z62hBX8JS_YZ=s;jo{-_0TQWuIRJ#sq8oK`f zXThyipdD*eKp#h6lq;wDYjd&1+p_2@&x`)}U)!b7$kMi=^b76ql@OLyN|DP;Rl8rm z&1}8O$oF40VtU2$wV!$7a93LVA>A?+h>N>Q3FlQ|D{VR12L#9ciWgr6O4W~m;UH#i z_K^Ch(VcbeaiVf~wCvBn@Mk^nVP3>+zIUOy?Tz6cc5tdB;voafPG~s@oHaYE>?)CP zvqq6!zM6eI7}3rHpoae+3Hk526~D&h>H&hbh=?l)Z0`%-aVF}L9=&IyY_xLw>jgh& zumGRk+|%ep;ci?%TFKf;7AwUUBevedwY5DAl39eWyAsSxzRM*q3IuObJnB?GZpoqY zJ#$gaHBN-Q84oN?rnH_ct89-aFJ5yjO@SHQD4*laNtv;k*)AE?&`!4;QG||{^b*ZP z54sp!iP}DM_Kp~Qk3SA#m$~2L9or5YV0Y4c>2G}ONVVGf>*R)lMEd7o)S`mnO7frw zuw)t%C`JY7a4w%v0m`cn39+vK8e{7IcMg+`v=me(Zp!dPs9CpbVkn1=*e~CIPkyP7t5F4PYO-d{j1q=zZJ=H ze){&!QR{-JQx?X#$8@|9d%eUsjVc;We`pkdPXFho^Mq2H^dmMCvCl)iq*unFut%I&Ow}|Hu-&yMXfOlr;rvlJO zroZER;tM`o-{q+hnIyI9;zTy<&(>g(+U9hzMGh;0Tsxl(s}Y(^GCCBxBtO1SaMMd~ zSG|T%TVAo9}ZQE;Lg}}-#;@-i3;&T;1#F5=7ik=B#@YHp%~wBD3l_5D;;&u zOqHrNKPrrEjUbpc^@Ooa4BTfb6GdNJ(tmv0P$hvgf-2x2>%bY# zMTl+%L{{T?Ditc#5&Wm!dHX$Zb64;@&hdSLBTtxic#`Zndb-OO)Q{mcEZyYO?!BdJ zTY=(I+ZzKgC1@91Qq(CMtt1j^33~`QByDUKx!E2&8Qn=XT=$n)Z@>6~6{hN(1o}ad zdep|t^4Pz~6E!)n#2N9y>3TdjFeV}QUr1KzR#Vau+rR{&E2R&xonRtA(%e({)S!9J z0Ms;ZQgI&$cqcCtv(5{s7LNhFYNtsNFitsU$I_kGM6;;}+ILBq^sYe|R+bD+*?k$f zBXFm~7&g2whCS|$cD;u-H|CG-gWq&rK*IIE#xSZ3iqO z$r9wuJ$@ay3Yx#pPC;uD!X@<;)a=)>w}f%II=vfZVo}#c^=o=)C+Bt5J@Z5dMMb`7 z2Xs~Qfw*%R3g=8hR|^vvDM3W@Bzc1nGs8O|z67iBJ4rkET?{~8&rNmaN zjY4P;wo0ee>DmWyj1?!r4{YMulD_5zt>jKvolm6QGU443*d`<&Pg;ziUtk*HGzvF8i_ozp1pOvE=hW-HBU5$ za48&hbXNp*>AgAoH8CHHZMHW)%;@dQ1)&BaD5o z5sDX*iqv!+)~Ghh36XgEz_A>W2mjeaEhR|d+$2|q+EO76a&En(L++t#@AMq=A%gKM zy%-}{<^MYzinZpiaV9J}_BhM<~&@N_KmkWh=m!hVY$9phoeTo^K z_JCzJj$1eoUw8iaU~`D{va9OJ;#A8Ak}KY{;b@KNh3wq03gPObj<`F`Wbq1|;W=mXbEO^PL5 zl|2@@%zLLQ3BEL-pah;ibxoxCo7I^Q1^6p(b%31ki&6wODP_TTccXtNCzCJ=b*eN( z>u?;e_4PP|wzD{UZe-8`(F;(l{*dz8hgq+}Ad(vqIi4C$ku07AsM~tIoI57ySN=w- zIel@DJ>+)!LwwOpE}AgE4k&>oxt$61m}R&@6dsz+f;Ad*J0I4*ivB~pDsQA@uk!V8phGq)On5|8P(DOQk}(5C`(k0- z6QWR|o6l-XD!C)=QecmiZ$&ee*Sw^B?Y5uoSfxCS?bY%Dr;90-wqCI4T~@5jga6Zz z<1MjaAl(diPSi`RI_Kdj8h^Z_S04QgD73oW4GQ>g>+E*yhV_RY_@_u9nB{TBD{X9W zpl(DID*k3%y$}_|SrYN`9JZNf<)m*xyJ|-s6Whc$O0yQ~R&1)y@UTHWGRH;J$cw-D z;QcgI+e6?Bddahr@2hqayOlAXJEojj$j^#| zkj8<=DOLF1MmFoxoU~UY0O9~P9v(H31Gr5Ff z9-+R_NRC%RsB4<^>jzhXhw+mbcshQ-5Aub>a@8BiS;EdYf1_0p&(ua;oqi45lt?ZF z$}xzIGB`ds_fy*P_d3_)cHX_o!6KPNBeT||Q7+jR0rRs5XKSj-k&1V3X{&2pO3en% zvzv|dag)x6XJQ(915K{S85O5K;tct~V+s>#)a#*MIx@Te`K8+Bpr*v*I9=Hdf4^1d z@4w)0*Nfvr-rKJoHmIsvMl5-P9x<4Tqqw187asjC=__?~t;!!#eNn{~{o;!nWA(sl z`3wN7m{1B;Qe9S5JbA*ma&u%sg^}kMf6d*xF`Da0n_JzO^vKG?Z%F{h#+j_YsO^|p zz7F2N{kNDzeHIR8j#|-yD^C)lCm(H7~YAe=%Pj zMrZ9h_wExLGtI&-ftc&BU<8Ny>$zA%fbZ~foa}o=_86u{+onQk7}~flnn>dz5KL$K z(ZD{}nN&81Yw`n7(g5{qS`Cfr??KhareH2`K?OeX^^SUt{WygFpc}-$p6^e)nFV@# z*5`h&HGIvMv#PuJ^*KjO$nCK6Tbv9gADy$B^Hrj_(!tFK!v<&Ok-tPLlu&1j1s*dR zQiL4|l!sHDP~~;kEL_zL@j05`;y~`a&7fHoQzfd0n;Aq~>C4UJUIzmR#Ohzb9VP$Z0WS zhYrY-NnyyKUI{~NivpSPhZvM1@T!S$V6wJ{e_HFzA9^)G8y*3 zT}$&-8Uiv*!{M%i+F==Adl7`p)8D*494M?+Xarp%$p5o3BP*_#&FB3H`zbcRAE3j5 z4DrdLtHthBt?jn;DWxXJ&#gNTbE#_#Z*G?XqLkgyAXF7O-ZQe37};ry0=Xg4gOm$ zL02Ti@N^_oKcqH}b0w8nQoK9Mi}5WH+tVH!OCpty;Gz>DzF-qu%Yx%OI+fCvC7i|u zS?1YFV$gdRRFj=C5KVyol?pF>YDj5qr%|dkrCqr?WR_@yEA`I28fFjvwM_q`@2g=Dw$pZCp{dZ=72nsawj!@lXRE1VeA^XAl24 zl8?ne#9iddf}U^9=$Z8z*N8rYTA&9e!;{4$?-c3LGwQ)EBBM?aOr#(@R2FNLbjP-C zNuNM6W4j$8hksNWk^8S!)mNOT^wT*qB7kzgO-aPQO|admb4VXEZsCYYu_^|x zy|*R7*;s1qkFOM?kBitF6w5b?gI2Y(T6~d>jRSL3f{chW-!a1p+)47ffTVnyjI}+? zBuC?(>f6BPa0h_bgyJpCATj++)2V}P5fIOeoao#j*J%Cz(xs`9EA&GSh2d(^Q#7sB zBP(S7TYg1xE4U@w4uUareVIwcnyF13^8ezidV}feh5{2FeACulgb(c#|sf;WA>z)ad)p$beKS&InGI~5`1%m=)oT|o^P zOkh{UIk+(>^8}qzd)pD19@*dm$q>|6TUQu`c{rD0`0wCI%beb z=|Zq9_k(~j1|N9u%}Asn)+6GlGJ+71r>Yv}Knk{@=R=cSw|e&iZ#M;gDDNx}=h zbV%P!Su3sPD{*?8_g1BhaSw!iUC7t&aa7Q91?X*klOOPH9|qtYW}9@JO>tQS zhw(Boh5BkF<2Vtt09xW)pC5&afuwBi-j~x|RU%sNXJ}2ADcH1D@R?hlUpDUB|I6N1 z+MLt^!upJiHL}~BBCtzwljNe9+0fLUKT6WRH*mr)@L9<%H>4v%Oig?O)kQnudD#eKyKZl99<<*SY<@7M3tt@$&I6l~Y~9q>y=NZxq5l`*o!&gqjF<5s*BTJa{bBq(auB?tCVudqfK?C zx|Tpds}&db#z8E7>UjS|XSw|3K{mg1aIidGvfX*mJn^GjHK@M($P?62qLSTD zrapZt`*6fsx_z=taj5wT&Ed9VJ#T^HLr>g~PWfZX`KY}NryuA2$M0%Tetrnv}hCtEM}$pNahSy27p99agJt5>^`J?*QUMH;+~`1EEQq?;qadBuw&00_nFt0P@1e$IrF(5fOjuk4j&2bwOKvy>m6QmL{%{qajjO8q+(F%xi{VN5> zuV0%IyC?TnR_cE;+7uPq6gi7Q!(xL%@O1JJxqmDI_tE(v&h63jTz5`?DA9B7;HA?~ z42=+-&X|jtw5YNreY`mcn*$#))q;sZX6k}&K5Z7Lh%|ZAQ!U5s4RaGMO2ki>k{}hYaZj|ak!Q0y3Shre+ zx6|Kcp@dbN5?-q1KWtA03RgO9`}7Qh4ff}B zc|31&xlR|vz~i4$8i^mgZ<3=*`QkVnZ}N^@1!Ac|DZlj|d|@LRH_xy0=GJQYj4!$m z8FJp;x6a!+VtTwjkl9u0n=2ZrER#}F zL`#?l3vFt?*OA5BLQJTs9Y#Wry)sd9FU4hp?$_}j`#~@qn^v0C(K6=;_Sq5=bU5!I zVUyg&Vi0>JRmz1jvQR_iBfJ9ivd&S!yinDID=%9tW6rgsQMWX7+=e#CbFjYcB5bSE zl2wZh3g?Rel*EWH!hvB9a@cu9+Z?04`gw8O*P`AC!{&tK0{p5bSP$vGe?Xfp#bl03sZm!#*UM$Z)w6IOg*@*ujGvua(@ zm)>(G$@A{~9`K>+-8ly%d>rteqQSo#fP+s}xz;{nz}rSv)E4sC^xU62>?WIoJJzMI zSQtHT8rq7Al}#xb2XYhWwr~~1=M>5}vBwM#UhXKP`Pkq9Yxs5g1#C&393I-Z1b;erKirT+N@aOMlldMYf|vfP$e z^?$Usio_6QCjkC*=ynNKoutIJiH3diS!5}fj`II1yRw;;i+uKWD5=Pd#jqWX>nuNeOvu4m_1x1_5A(+1t4wCgPXSSLW3(A9xRd9LckR8->H41uz%hzPN%53<+%E z|1QFu=~s)iJCE%Y2#{9!=kYMcA_hU}^z28)Jo-f_Kjz1wphU?XEs;n&INNfYZu4oX z!9*_i^Jq9J`ix~=Ug|fCH8)sQ0Vj+vbaq8)e-2? z7swU+5NgA{VIZ#Gln7=Dt)V#g6PKw9SynpaLGtrai%ZG zCB;XW%GtMh?6m}=oo$Cy)6LZTiK8Ct?S_z7KT82{a^a_c^4vUwh3$nBtt5-rD**?# zc>*G{({>i65s-OWkj<1?aMFOFq&B!qI6ZaL{`_yMbfQs5P8Rz8##Q6kCQ@?ri;(BF zVmn}gbq@>-IvV=()IjixbNtc8ic%g1$vLk_aJyth8KlqHss16ohgp*$7U2EFEon#k z=TR4|yg&0}kAsvpEnjTpru>sl&f7v(xnuKk_${)i@*jZ_YNO`C0y}VB8B|SS3t5=I z=r53@c>bF>7nE2kXexA4G_L)_YIvN;^n zQR|8V_8&JrdrJHKpIhwjZ2+QZF{gkreWAYg@IB{H$HWK7&FPCB2NLJfPx_8mU3>Yn zL+dB0S}f6;&DFXUd%|x%fVE$c8?yYJ+KZ=DiN0ToO)IlP#RApjjfy86|`M z>f!^L_FM+c_m7$e9grXiik-2%ZtHh*L&~4li~b6HjTWw25i$2>R2{?6i+*+-E5L6) zkvxT-C5z4gXDL6}9Y0xP#-{#j699m|qCgq=o^e|0s#G}e_;ju!orH2ubz}=B);9{Y zgG@MfxHTU)q6Rj|4;a#nQ!ukX-qHo;yIHFjl1a{`&9-yXk^xdr#-uEUIEzlWhiEUS zr|L6Tzj5^da4EF=#of*MKQHVEQdsKB$U37b2ytpHJSG$f~j zSwF+eWu!d5^=9)8I){tyo30^c%pT|ePI~R#6T#IU%zTl44{*gRn z|HALPR+mG=+p5CRV4&_1g~B^jzNQ_V-*VUB*80b}WI`4P-4c?B^=-ZDQ9QD}9?Y%{Z)#?!$VI}9d#cGgz zA}OZI?+E!iYUo1D1?2M$*V@j=gM%?|U~@&jw!$BuGAZID?}F-3o^z!*KkE!~zNNi4 zIVzxA1ieBukt=l5-gk-=vo6mF)#`_Og)RMz9LuF}sS&nu!~K=;Vce%{l3(oh3WZ2o z+nqAj=$=;*T9vb-PCr{goer*`)!snn9S1)hHsuH-gFiC5)FyOR>r`lX>csz9ZEPlB z8f@)tiZZlzF0C2?ZB`%0Jp^%h{%Ot-=8EqK7R*~MxiZH(WsoAVjeMFVw0<)RIPH1W zCInNZ<@3-TOTF^tTQc=uRbi|)_>nLuKj=;5=_{JPovx#`$0o;*wz&lYxxV~9ZF9fy z4Ehsy{M(~L*8YYljZ4B^TfRBCy^>7(^3RO?9RK5-euB#e7Rn)WYc|jUQIr*1u(bPE zTlumf&kn~cNBBvi5s~exEeiV2=(^E9ZC?FdFMkExZl?0xUDT+H0_Yb9di=w?Z+-_e zPQ6K}^1ZHIXrwIfx34ypO|GKQwyPV@*t~-g?Ugm(lyyh{a3f|N9hcYJ!5EL~jPFVjV z{URplKvzKTz^7215PYKw>5{mpD2${IA_^&SBJ}L-UM`X)6D)&GE8ZcE*qw863*JZnQLw!DBqfdy2(~n zB;E9DA!bF;zbox&Gs}p)3EKZWQ=9_ypoV8K5diz!*h80u4?M#UHOp|_wCa^31NV-U z$-XEdq=CjPrSJ%M?G9gAQFvu+a;zfbv~m*8;Ga}%wkH6SE{d1*+thykNu=l47PXl6abeS~5 z+m>!$`Jq?5RovISp|$tJOm9su0(c`2zBOR{ttjy$aNe1J+bKpQ7J$|Lv~@h0gy05R zL>q8(C)S*nDps4u!JYC(KkO&aHpIgz=b$TPzLg{Q5;q*cDhU9 zQ4awo^=kRX!z4-_d%jaqY6BPe5e-193U&PMyVUY-RQpivxXI>B&&-_PHe38oN5r2v zNzb4K1MDP*3T3b_qzE*~3;;{7gb~CZq_g6sF7a>oZ#p}PeH>f5&T7BGQhx$~>N2L? zOv@Ue($JSDK0?TK*}8Zbx~R0dCslC{NCroKYIvTMj$&LL>4>>DBh=SU#3dnQ6U{E7 zc5Q#faeRqb0;If?ivN!TT@O&;JDad)wYUW_dB@_3`NJI_Bk*$dDjw_TGeC7AV5iBJ zI~-lCPUqqIpGu2*6gvX7`z8qopL1MIf-3Jz^ga?IrijnC^WRqU2bjwJ8e7-=>G&@B(+g z4HB~5w;s`)bO|bcpjHQshoC*&TfiA!&?_1=x+}fs5?NVn^UFbj-HZfjXo4_G61cGzA}pz}(5d)`tr^Ap;vs>oNzw{Mnz7Tliv|lPRDfv;jrY+IQ03^)8>&$oUymSmj@*O@6Q^dy(E*qlS$0By3=ME|5XEh-p zudxlB#8CxGSyTZ^zO@Da<-G};Ys^z}z8}K{T;XHoX%VgiT$ETz=H~`IxjmH>om@B7 z)#zNYV&TQlPe)<0k?21s-ln52iBEmo&_8EAe^R?&)-;70WK=-MIbGQ70=jig&N)xx z0CLoX(PM(xHtxN@erwh}>b`DcO}iHH)w?LbMQHSX2B)3>!9E_Q8K z31H=Gbvy16J^2_wVk(332^4*?wmM(^=?%(Uw@Dfy7xkOu$7*-Z#}NcwlFU>6!sn-p z69DMKi#K@>Mggc2j=MT!T*Hu9j}WvpYP^j7ds-(kT5KGzp3j9;b4|)Kv=q0Yo4I{W z>cOVX!>KL-i+}_{SLDb)&(b6t`5$S_vQ7(j6sTe>5oThHjfxC7EZjKU?#B5B4$5We zxKfHqQgLzIny6!GHmF?t2&%)$hXETW_04@@Uy5`qOFC%E&#UMQO1ZaK&TPK>?Qk30 z|HTj^Yu6w|d~FQgTn*=X4~=Ph$^tL0BYQjGr5cOyWEWM#AvdUgwB#IgY$3y>pSDD> zCO?k>kyZKQ!YR}M~_%JcY!r#BL}(^N3!HCIyPDXyt2Tu`}iz)&eH=3*p@ z`z&Kw4zP=dH+#Ro7+KPkS7OoWrF%W1GVJIZ&%=+4befstkw zFsoa{m)*__n4X)9){0uO|OmaZCY z4WBLcfo2=0#c2Cg%{HMN;I{7{=W9#c;ECDP*Jr;V?kV1= z0by&afKhp*lfQwMVUkyk<{49;UtHRBNVYae*8l7Cz``*TV}I!JJQD;|@9(`avA`39 zRGNOaElpBvIhPE7rrP6p24i;t_yk8ulq_!}qA)$0@5o`GXGba^XDNJ8mGCZ103y{V zZx%$xvE3eaqx+MY)Z3!nATw+mAy?k1(|8r;lIB>!%I%2azFzYbwJYv zd&tptNJ*x2kO0;Je){T7MX%aYbG|Vkmh>=DN?rrO$7O5|{#~_W-SZy+e$tzJ14@J% zg|jI7&x16;cS(J3rHCAY;u%+icy3rPNM$Q|QhGIwEdADqNdB~YeI+<9BGijO3$gtb z2KigS6~i_{wG8AI#2e-R#Au}h;V(NN2BJU(=L6kmGmdSlU+MNv4Q%IBpW5?gpRRV= zK`aXLgGIL^;a25+p?+b!pT$21$ylEHNiNyObzRIx7N$6W`LU&8Kw*53LKlwHv5vRD zchp%^4&^)uPns_#?$x4FF0PTdivNs#hJ2jMY+|RAR9cQ-G&uaMn#|GFxMU<#Q8|Ow zek<}~n~}36(yBT2@?(Vf!dU2Dg{mq!qFnU0P})vukjde;?4{^0Mu6l(lXET~=eI6h zYywzF$EJ3lxfc0i)7=nYE@iM@#uZ&v*8>9)b83sKkE!hg86UKEReO4F|4R|lJmQmw z%Y8m74oOkTJ=E~lghjbS+u8}{<4EH9KMxVP2}*@gDa)#*YOrgKpO=oCvt0HuIObGK$AIz__joVb!sW{CD$#J@z@<9H7Vfjx*LxO zMY?QjrGQYb!;fB!2<_&V`X=UAM9x!mdS@E$Wn(7(DQ-NP>ImM^^2yth7#g3ZB698u zA(MxA^VLn6&3g6|bDmcnx0QUrdC=F%0rI7n>{P|&`{9nyEE|H86*=indJvj6l# zZD?_TbR~fCZr)r^;oQ(X_Z1okq`IQeGKJPA6sUJ8&Nx0Q$mZ4A((5$myPae|m(Rp^ z_rAMBd)|r29%NX9FkBhj?v;BuY_f z&C_M#of)Va-g0qTJ*9_*i^z6(#eeXh4P0CRI8maC84_|dPPn)>68`D&-UIz(b|;Sr zmLH|?>`$W92{xN>_D18{gN=!=Z*aK$cEI$brv$gvM+TP*H4~1+f$|rd0|y#K>_U8D zF5wV87N#UXbi14&Y%BHYHGM1)n+=1K_E7ejKgs5|dl#N^LJS+aztIJ+vW0nUknrR2 zV+){{uQHuR6ON@=QXGa+IBC@g=QRexRmV-hhq1E0S^DQ ziF&+5*cf7}1`$v9pt(O_YzD59;nMeNHKO-E zs8kc=9u`Il-JRl>x->`TtNM?_D&oo|L%Ms&wVjsMe%9TPV9=wr%aQ%)022Ur>@kp+ zVv(u7HT<&U;N!9NnOC6F5-#*YK@Y^O2%YX|aI|U?*DEc)&bN>egzvlB0d~i1$32K*p zIwM=dBj2nr((^q9VG&Q~z1^57#{u*O)BD>-1eJp?kvL*p#qRfiayXqXhGcy+4m^*=usb6fjmWlvd>h5P|UMM^BD^xj;L z87D>e&T;s)pbgu0kkZkaR*P;#8&2Vo+lES}$tK%?K`=0C>?wn#usEsifb{#PS5Ylm zh5d9*&IC+vwJ>2Y?*T;QO9U@|JwW+Np+&Re-7my%OU zs}?8DiqhcV#Oyt-CHS|1V!l`GG`jz}Zj6IcbPZhn5u&+y+T#PbhC538mVOefR%u;_ zM>?@hsGAc5n*%d5y*t|+_{&;#0k?!LbHR-0s;$?;j{ZP`hLDs{78j4|Rj1F0)0H{t z$zL(3EsC6a+X%(xi8TIeTGMT3VN-abi_PMHh9?io{kVR!nmyMWTIbo_xp{#%;Q97P zP#!;E8JL8D0xZ1RsaSxgQjK?SnY+Kdn+o!GVpMB*y9n5K^U<}Ob!+vkOp7K$xHI2L zsk6ow@XU3)0b1>SXm65V==3SeTYq|kpvu5FF-+=QmOokMydKNvp0?OzJM_6;DhFCl zq1};2zBf%4eDym~1$xM7Irn~x$5?nK zFYJzB#bnraRb>hQg=Ca*-GTmvAN;v2@Sl^Qxt!UM;e(E)Gy5~U zkNSVBye&=)sD|~lIWjy2v38#ti;MA?v}3!Yh#FvQOC0-V&Giw>YYibKIzppi=-cAJ z=o3e%%uHekdeT@^j7(4vMNn`vqfGPm8Zwl2$lk|X4jI}@1YuU^d)`_Z;pAd3LGUTvcWLIb zK!tnP3S4dlh?fh!KQF+7y06K}^CZ;CSY7P8(vmFP2US`nO+)s-)%s5JHdOWDVjM{= zka?2-k5o+U8tvOB7LJR2rl#aML3wwQySSMlw7A*bxr2 zAIJPm{QK35IJjVgnY!)E8?oPd`XV17`Q=RD{bwK2QqZa3xFaBKOJA3Br`AX7g3iBv zMmDEvuj>%+=f-ber4m-vn-iQ_PAAyP))x3bDC5`4Y0H;aCFxViHizDc zJ{>+S#F?eZ?h8}HnLZNtzv}crW=h-9{~=68>1qiq$ZT`iuic~N1)jHG+ovAy^_Rea zn8JsWLnz?$T}kX0tITd;F@cU_`wD7jF0K1R}R6{^bAU@j#eWBYr><1CMzCFLCg|NFH5G0FEB2#K00C9w2}%J9=_%V#}>6%8ZtYeD=(J75QB6DAF1(DgSXJ z7Yr&&q78mn0!Z*PH1gNl-ahJIP+rA$Q-c8(Oz?#01;*LONw)LQmt5pyfUsa7Tj;Q{ z;x*34Pdh&bB$YT;ZXE}?=Ah*6rK+Cry}Vfhyd(DHw}@H_RSq>>Nkkgkx2YE4IUs!T zY?Ipp10J}@-=H97iR(De0rP9t;W@o$R7cf_=Og^WjA)paFCpg(W?U0T`O$NsnmvZ) zjeY$Y?is^(dWmLZ+fa-$Hi?n^T23%s95F?kZ_T}rsD&pUE)SgIf_n{3pE+qfw56gs ze~pH{VHGITnjrk*d7gQ|D=-&?Z0V-M3+fw`PO$A~n+dPQahCV5`Q*yB{@eb{eu#JR z{$ckQPc7dqrpg)CMnOEJe8+K)KoKH11{-y`F_z~Oii_aLf7oZ`ufKrw;h050WKr!495SU*TosLeb=kYO@>)8 zdLU%NX8tH9G;lI@uL@wgC=Q{=r&|xaL+r0i;0Aw!=GXhqVfT;8aA9=*Nkyl>eH`R) zaEhX_e=HT(#Sy97P5s#ASQZGtdgOtuX~LV9gU%257*CE1p-3>1(>>HI7mU-x#MR9) zFZAEJ*BeWU3NsW7xr0?+S-c54>8H00OaI{N%Tz@=Q3Ik45WLhe&ZW!&Kpm?YfYn+f z!H@Qz24%2~Z*-J|;;Y@)PiMd*-A2gQ-;D#ZAQ;#QMQFGPcRX|y>B=dOkMKId8vh?n z-{DW?|NeiU48@> z`dtG_0<$Vdww1tWfH=FA%Wj=p1=9|)9a*0Yg9iQ7=(nah--RLa7Ci493FSuVE;82M z8eQj{X!rT@ERU~anMAZN zjEA}=&8SB_DRF2@TZ-}T`-Q52(8!+b>|})(M>=JiZ8)2M{TB?^+%{>7g*i^GpU_wB zH#cd(=FkV$=j8}A}(sjs-eT` zu&LK2t>BfEUbO!U_RRw}@HAzXwQXX>DJ-3hP#LdZ6-4eKf1;$KD+Eq^)7*>$oF~ zt<#6lsK@G@CMHxdWm&a0(LqGiY}Bvp>F>sdpRlO}y4tyUUrIyFM@ZzL-AZNu&qny} z*1iRG?R_K%`)vj7O@Rrfrw*ozWhD(E^@DV7K_KhJxg!p~UlPG5RUw>-Cg%+^eZe6_ zQxxxkruyups8~8E<0>7HIK=Oi=l!QithXi81gkJtTnX&D}Im1SqN z+>B>nUBV_BdDHm2OZedfD@s>$#6kbXDJval(M#qpYZ8}?%la2yD#N_EiAu8PVZsj< z=QA#VS#y`l(f$c}3;G5JmkTVx_y09GXptpkFnEptQ)oFkW;afCX&UGow>}24jjO`VtgUt~6!%E@P_xZ`Df@vNL zJ$kyMPG|A)9ensC!Qr)Y=96_wIWcFTe0ZSb!9O`;&F`Z`&J>GhpB=y8IyCTAPGnY+>O+-ZzYNux zCj0k3vh5doY$e-O6UytRqdscv+xzUk5YNJhE(8M69LI9q~_ zV*I!=zxL$UYpfsACo_;RjLaC!jXk<1+Y;wx_p_xl1zctiuVP`FdgSu)XuzbT52f~r zm4A0V!a41jl)Hh*fi{oT#5UjkK>8$Hg>R};2G?rNrVl9&=qyjOz0nY!QOq8^ z(>^(bHRPY2*lp7AWIaKb{V8lPDI-RFk$Qng`6xgT@LD*KzQaWj*E3W&j#EZfG8}}8 zX=J{CX*5Ko&hK=PsP@U`p8=PxY{p7|-YYj*-FP6DIAIoB7saIi>M)u07@9YxGZwWT za{SRUN0s9zI@?<6;>4RS+?F2;rD50h+-s@E_@xUT)b&&f{ZGiau2Y;!BDQ)pfzmRWAs4BTr_Ql{68EEC73n<)hEE4KT%Ol2APd9~ zid7k71Q>pbDf9KJGGr=Ag$j`sA&+yB(p22oV?e9UDZ_?~iHw;EUE4M}w|@y~%vDK> z+&!hH_CG%go`@1F2B?~V?e0xOplyp)hC!6L>-l`9muF`$jKO>)co-1Gf{2A0ws)(W z>nAa|lF}$53qZvY$0Pl;se)!rsT+t`XPpYX4S(>LhVD+IAJ(^+nZi4B@fDf)uxF!S z<7O=X3}7?gy@}s{s-A5H#@QVCRA+O4pYn7uUI|R03vynQ3r57m7~neCDw#-GO-Lam z&N)sBxcaB~Lfwv5n>#SAv{|*A)EX<_(pxp2qRp?~@gL9boyQ;7*n=UAj}LK<^FuL+ zK97**7bcT8Pj%vcrX6{Dx!%ZD0zEKRY8+;OpDda`mJuzlx$2+>bu zVc99$UYJZR4En_~pcCO-GisP4VcN1uEOcIDCbCo3geVUBz9A7pP%);ZNFJewQ@_v zkPU(ZA>Aik2%_&tYQBRmtQ5k&6)F4gHWQ?ZW{u{L%Rc6IK(7;!&Be%;qetaX>*r46 zQmz6hMB;ccoBj1>5p{<_VRnOjJ^XOm?)WI zprG>1S^jIi`%c=KZ`6(q>%_u4Cdq4tRc8U(To-ApiwW?#*2pKE&HE55^&-`O3Ko?m zVR~o0We~6S(6QOE|GlpV5f9;IW2cMo?{fVKs2x;Jtc+etf#IZ>Q8tneM4xK9?(d;znM=4wEQ zfZ8lC<}6O=wvw4T1Rp69tC<~${8kllWRrk_QNThC|0_w9;88VvcELp4?@qmD*_t+I111f zzWpg4SH$4aOLEjZte*fZruv&VC)u-=c6;c4!B4$evJbO%AjAgvQ_n$Srb|c$>J?iPW zEN@R(P#jjZgMF5a|3G7gjsctVPx-(Zj(1N=G@zi-q)B+L6b4m2vLkCf)f6;kX;FF= zF8=RXgxJJM+EAp>SBCyXC%mC%W+Anr^adpWmKLJvlS8oFtrE@^jk*brinY5{WK%Dv za3=PNup}le-Jo1{_)>FYW8Fr_1NMQ9^s#`=!NnI&VsybBf>?hy&MuVa{+PATDl;_D z!0JvHD(sl4Wyhy;mg1G9!1-&pXQYW(}L| zba;fvBtE?rs*16qm?WC$K^$1X2}`D@*S}%GOP9onJ>a>;vOwNwp#<%dEz_~Mkh{}d zp9N9y-&awaakp=ypFq?;#=Fq?fwwqLUVwM7Et!iuONCzHXs)Z7EVyr8KIwJjLBA7# zrw#~4X&QsFqp_12A`jSuv82zhSDhkXFf%xYxV&F{Tcvi~q*nC2xQnaUG5N9$PIl;i zNOC*SrFG-m0@C%9>h3To@yI0%h#|@fktvx@EvRhks*CV;nPm8_>n6b68*hss}xoWidDgqgAQ|_m#uMv2Y~z#dcIu-XNf{zG~slzz)*yGl8-Sfh%hiwhrtgFhW9wRgn zdXg;v?2UKDhB?7jDAAmt9;dlRpelAiZQ_A6plm3GNfUYwU3oJpatq-iIm0)uJ(6(H(||`nWPQ z<$_KLj1!jx*MC+>pdjI576vN!$+f2!OMAJQwhTI3An=&nTuzXQ!XM4>EA`FQMXDpV z6Q76&_OEm`*{9gA^ds~>?oQb!>8ln;EDqe8hF>uH+dI&F=kQb#W?1Frl#e`++BhFvlH41HG+AU>>1x9^!j6M{V&3}}MvrEMpWLq!&pe?J&j+UE8 zF)JU5CK=e!??7-=Zj2x#7l!JatcXuenS&C}w@ODJk_^mri^_Sf9x%cI6WcBKIZiBszN>=9M&TTAFRS11&cj!5R zP|yy>xRw)~Of*5R$M3uKyO;IYx&&j?tJ?CJH`LN}MBwcNy&wmmR0}KGv z5c3X4(rAMgij_+ss>VtgzXOcpj66HlUCc&7uoqb5NL0(jdo^$#AgIEJ3&9pjm5 zE*0HbxHr?9`8*=cc&p(!rx1-3gdvD&2Jj%bEmlh0%r_=t&Cs}>WzNc+FeY?sM9Pj} z#RL3mXAEOFsX_vk>^9#%YDar9NSzZ!lQ}@*6%vO=s}a_7T>r@Rfr;J+b*N7*pt9Sk z(?~Cs-OJ-pMl>m9Y%@2uV448 z@6{Ixk<<7^ z+WPw9;^yY`?Cd`-;df#{xSn8xZu?i6`kzw1r@7Qn`->fHxh;vCoU}Xr{^@|AD2bme zh}!y);lh7auA-*tv{4{>qa@dAU?vr()2nkUeud1aL+<6b$1+j(XKj9J9r5D%rq}lS zevi$!zrZ-)NzSM~Vv)u&&)dPV*6RwV>fS`1Ae0_>bBcImUX3lT%9~6)VxLA)rXZ-@ zVa)eu*WJZ1MqU1HjMWi?TBP8AG5R~&g>ACxalQZ)TunSLTj7W&xv##}{GfYkv4Sh1 zPf_%zY%Z*mSl$+6Tt%uZyW{-6yS;F((k#BpBl1~fyKf3-wa*{36=#z;mR59ExgJCi zqGkkeqC!U)zVzW)9Ie%DQEUk)krMFigb<8E(X$93QgTu=MsyS2HhTj}S18};j^GLh z0hZ1z;U3t4>-f4SDn?5WGN2d&DaX9KB@l)hin@8!B8xF?!t|pkVo=kC4{@BHiG<(v zDvYKt$*|#pao#WbXB8x}Xh}ZUK(0vw z_MuU`!_tj^kKrS)^ur6s){&6X2LxB-#e=0^oM0@Rng`@6#%OP!G&kuoBqe%4f)$R# z@s>&Ysrl|Zk~~i+MT${XHxa7KlcTZsNd7XLZ%;R+5M+*cvFhY!?N(d5v8NeqSFuSKOoXM#z3#9N{=n|Ww*Ddg!1-u71Ng$=u9&t8;=aKq z^@JjF?ci9#}TLKMicbl6>^fNDg$}H!NL(tZSx^Wza)C?;^zq>IL4j!lUTV| z>#Yw0vFDetj6r1)oiJU#$IP8)$_=TvssGGQDYYPi1LPlqi8$r6o(d|P0cNS{Kd@I$ zbLCCEzkRJ2kUT6neDE{%G@uRy!S5{b%r?AD;p}Rx6%jL4bW%llU2m@2xh_(j(%`}TNGlPNnvFgI;%MP0lR{98| zI`*=~OEYXNS}ERYlaGW?nv87DoJp-=1bf~yk<>dM!kfR zgq4!GMv`acM@#Lw8Put^sf#3xTPDiz=`UAJ+Nl&{%{#S`&J(4J^3bLgjFQ(%hAG(Qk~-tCLM4i zF)b+3jbm!$?1^+e{xc_}p1H7oZd<;{DUW_>Aoda}bmL)Me^r=N6e^?_*qrOYPQ-Eg zoChRVT}4Zmf?oY_QoC~v$wm-(Z{m)=IigsF@u`GlwIVN#!QoMTeL9{Py%d4d5_0D~1}2qHqkn&;hx^V?T+mpjg${COF7?9II|HSDSOq(s!ZeQL*l$|Sk? zlkqM?px&$FGKG(zqSeri%XMmlV-cx11#*^0mF?!%DuS_^Xdseqh`wd?ipT6W8W-$Cdi)nrZNnZq??l5x+;?=FP|KPJY8nFxo6&!G(R`nq?iK|*$5kZ z9JnOIu)C-1YJWHME2DRZt8an>oF>7p9jg+;1C9tWKgu^Y@CN;c#A!-86f@lXK+pa_ z&wT88gvbXEwwCq&m=|)Wv8}VR)j<99@lob)kM`cae*B2Cu@}j%qc~dXzQy5l5uH19M}2tgrXR+X=t;NDwDF~1~AGnn;M ziWq$KOAtoDNBam%BL9wRdRtiHSd1L%^Pf0kHchOOrg$|>aDcTPmSs2L+UulK)rY8< z8c7B)^#W?qb43(%hIIE8IMI$hQt5rDP>~94z;Uue^%&1pI`=UpQ3^(fvWwT9`)m6& z+WxR+`r-HAT`bbL2R$+rM`*f&I6O9JSu=cp!5DH1j_7qBX@2PWKX6U_uyHY+LBIHB z7n;I)tn8YT(<%1=30eO*9Q?IE{Bk9FO4r!&G|x1a`18%V)5o5&N%Au_kEIFrNHu2Z zlI)uvYv)y3ecSYWbjg?Ye8HyZV~QOnI-=5YyZ6MtGI#LA6FMh|AQg9tWLcKUamJX@ zi3Y4jVnj`(xL>|1O~4(WE-eD$wQ%$sBmG6T4e$2z>%#4~Xe6WU5b&ds4U%(@_$kqh zi|=zWdi3+3%P)#SG&{(T+X5wji`uP8kPMKsY-V&Z7`&ZN_9g+&qGe-QhS1}30Err~ z1veCX^aHM6yFBJuw~wQS``MCy9-{vAnGCdkRk2%)Vbj+*l*4D;D+z$&)qr0HSoRY& zekZ6X3KKA5k!3})-*&?YG!@WoNF|@3WRaK(SMu&nkXP|x$r<)=`gQ2mG-=dtiIj21 zH`C>|)Y{L4;wy#w#HVr*S<97mdt!R@!@5!k?az5$9+lmn9nf?jMTB^Z>)K~46s~Jh z_;b;F_z0a_8<(fr+2Tv=2c~!NwX(mCnC#GvFbrK;E-nC6zKJrS*4@S}egEF(_06W* zU$ws+T_>Hp$+p$(`v6YV>NLJpBXM`Q+DU0yKG?M?uB2lHMJ88)Lcp| z?##o?Wp}2!PV~oUPamKUW)d8W`c3G(o#wId)z)m~g+(O;jku%}663Lu(CPjd1y|9SOSWlFX(cRp>LTYDqf5LoO;l!iwV*x-n&Zv}+Q9<56 z9Ge7!|8B0`82zBY(7<=F@M&hZtgn(X=;LYxBMQAk^9if_!{a-h@H=`L(tB{~7r!&C zJlgS2$6OxurQ;Q!O&wzrq#6naf|#N&7v}T_gLbK=DJsZ;K@RAZK&feJ2x~#D&O4RE z{jF9BLl|ZS7j;P|<}EDy>tQB8#3qM?-1UKb%MMB(wwcl0{<7#>d;R91-RQN1)W2WO z(N`uv!x1}7lx~0-1-|3uxUx6nucd#jdE6hag!gvNv_nTFkL9YJ_}mXi=b)paeFK1Z zA%}FiG&BFu|FAp&3`i90A*;ol;<|KsAX_;;*HAf1%~2h>iAeq<;{54|IXc|#H#~ea z9VQQfyW4-=hrC6^FlIaI#VQ_;60_IV>H%%|oYJdZbGyY!Qc~_aX%(`lAZhs{0zCIc ztKMtRcAsIk$T*)m#ETjGGq^5x9tOMhq8P1y6k3Pkl0r%nZvG*?0sd~fU)`JF>=?NZ z`|_+Y1!So-w-*gHG-<8{Y+usl;8a|2Jmxp_{KMtd3s0jI6?1LKH=mlO3e$k~m{exE+`jofR^`FpUN zr*YS2RWlN*3?JkO7B)=Q`zwwu<=_BI=|mw&T$NT#OQy|I zx{+BDw$f^nBx$qpp|{gA^xQAkOb?e14%8HBc-P+NhR`rv_>^H=?k^j`yBo)@xVJ*p z1_>G0T2%G{;dcWjLeVT84DE$Q+Z#=iJR2O_GZ{#i!C$LPqr{|C#q zpG@Yt`^$d(hs%X*`aCMes^m2NAF4^rSq_wJ{CI?@$V9^Y6G9Z+@Rue;2F3i34N8Nx0ZEm}Y6>-){nIGSxL-?aCop{S=)7h%))mY69d@Klt;c zFVj^Mhut?F8eL{fC={md-Cy$%d1*L;yTKND#Q54cNYGu;&YhtkhM~&BvogukE9ZYf zthIOaT000D8UB#0Qj^Qnl(I;mezzk|_j_Y??8ZiF>PGCB=GQsQE7{e58*3 zA?enLd}F6tFOy{ts|Lqeu)kT0f`52)y$Gcsk(3|8dhDV;XBobQ@fKCtV#H(E_eHYg zMT>ngAU1BU&@~B29mm z&eH4ZBg1x61mMx@Fgv+>AesXVohUY=_;7gAuQY%Xqy->cr6cpHg>eIxp03!s zZCXT}Bz@$h;URTq}P6vKEpmUE>Z9zm{i%zple57QM0W0O=exe zovzf7VN2|#YXb&j@NfoxYT*y^0``dtD*N>g3{7G;sf8LCft01_V5=c;_wgtAMXulm z0w;--VH4znjDsv3@lvjaJo|Z(Nd2aNm#^x(2m^Gd`B2E<2c6|}&$d1%=ip{lRHRtp zw<&0^)GpPsbMDGyQBl%Iyc2iTJkN!w`(~g2Q!F#!F1?OR8;3RN(CakM;*-G;3cVFd z47uN(lCXiAlFHe{#};7}XZEZgSfRrQ&!ZgpNq_D#&Ln^$W$EB5R4KF3J%4LWS-IvV z&@F-&HL-l!R}Iln?cAHlw*MWCtnV4cnfGTP#4qAMw1ZQG4TLTesEJ?1HO4!JZlDlhtmugNq8-r;5RQ-&>MH->#?&b0jGUXHiVH^2(*} zBwaO=gc_XR5rS(QJ(IZ3ed*a#w5$1ls%JI{i&0yU?o`o_Z|C!Y6E$J-*Jn-%w=!4* zcuHDO-S1fCGu%|=m0yng#3)8ERan#~!oulTeu`9&H6UX1L={GT-aVaD`}emV2d%r8 z!!-M{7y8AC-hehyK*Z}+;!{1rJn39_z;8@?2NeP|xVdo`n8jkaz6ewQMSFkXPRgEbyoZkAIV+yEc^$baHA%2xqv`?g7LQnbnS;zz zU&b#vL%~O1j!ygw1=XN{oW1FarRb6*+H^12$+1uDHE4--zxJW^KcQAzT6mM}cO>6| zn7}=!M?&TQiz1+Uxm*N?*w-;^x;ze>f&63ZFt&LCdnrfg!ty0Xv23t52Ui+t&sTj22v<|j+ryv z;MG(j^QJ^A48zoEBitemCs59va{n)P0ZB4G?u;7b>n{rtAWg^GPsRqpt&0Qsv=U8+ zb`XHdVeRN58%5uDckn*MeSfH84(q69QFcK`2e+*+FPt^do|ZKw`%tCJ;j_3Q8n2&n zhgmamsLT3=e&UN!qtRO(e^*M_(V#y`QoVDM=j#{BRXFj$*l2)T5D{ydZXd;xdQ`w+ zb|u#Pg|MEPXjQBC=Y-4J_jGXeuVK~C_6}HT9Ey)dt6rBJc#dqU3}P9tZGx5mO-=HS zct19NQz1wHQ&B|zEu3a7!X2YV@SU=Lvg5WE8XrWw2*K~Z`j z1d+>D$v8MkcIs?04`)bs2}N6##jEhnX|bEWFY>wlnA(C+OB%5Cax1J0d1q;FtZcIX zzRQ8l`}Fz_{&0>PadE!pNNG893AR@9@eCT0>GDjg2j>wwio$f{ZHzg?cr!PJ|wX-Yv*&WGVl)c#gz*0f2cYbmVk zx?bW#yVx?f;Fqk0^Gb#45_dM$GQI|8@#)9B?P2c?)g^Cf#XMuvSs(dER{M7LdPImd zud{EaDnDSxk>oi81fi5SO6^~D(6!8w zeAZYDQLBx!vhQ~B4!MsUByMb?bFvp{mqaEUG5$tZE# z41>Nr78L-FNz%5E{ZaJu^ydtYw;7Ubg*L?{sNj9bb#Aq~;`&D%w@^8`+F#9mf9=!~u&>n1Di^RWrU{ka{PFwn}Jwq`ZxzIJ_Y<40q07#l$$^#WjL1cq}Do6Ti9 zHYD3QgDTsVG-V`=>r!?~X}X;>!!tk-%hCdAKRP^AeqW5C)$5H)U8&#MXit7I?g)Juc&ALp3mF#OUnFAF zEAvVXUVRgmWmWQYinRRH@QdUTVgf5Fs^tlAlnR}TL{DK<;0#B{_-pZ9%r+l6JBI?yEq<&%| zQ*jUE;_g6dw!uG}|KW8IEH|^vy03)$$aciEg0sTqff_X=%p{aKKGdkolxVNhli7ZbFf*_&iNTK{fYbxdQ&bW^xD1v#0J`l zGvb2W-e=vh7YJiPHH%zS9g~Yx(TXj$W~!UQoeq-96KVbz1dd?Ge!d>cZ0ftv5K3{0 zJWPMihqT=b-LZS(1ev7;B6*lAd`{iHUC?^r`uhq?bk10vy9gUu(DRschFFluI_JVF z5WKzCm0YowIJkeV{(xOWG-Wlmx>0B+Rf0s!9!lhLNz{s`^657!Z4Dlpj<{p8C*hBT zC=x$HZlK(vJC_rv-Q9YJO5uq9w{%K-Q=)#q9$mfFN*5mf<}c>m0OZ3@0LyG~nb<7x zDlhR3R;_OOQYB{9no#_nI-5xl#xZ(vx=#>yE~w3&JY~9n^|;$ATrZ{1Lpki{*@bDpiU0Zn>#kO^G~+h?rF-gdsd(JV9PS8!>0 z{~Q+}&$zWxlc&+atr+zKTeQ*3Z$%B4>31HMUg$6^d7tD7#p?pUBKFrhRx2|o-*L2I z3$CWY_3SAWr4v$`rk9)NM)V;oh(o;!FG95Gl#r`ED17`F-adf!-%$Z!?}vV>Y6)Kd zV6ruJ5vy5`R-$wsLMR-Pe7N#0-@sEUh{J{=;{rXU*t9;FHdZ=K)y z*MA&6z8~H<|HL-G(IvLGG~;+L>4CbMHo?Iz(}OR`RMFIBv(8^^@E^xPiOcyWLn-zB zF^wjD4G{Pxxo^t+8C>m9YWT|cpJItN3)-y9h+D^DvqytDa^ln#MN=-_y0{QWOavB! znVf7#xDI*fJAc^reUC14JJ}YAG_%PRGb<&T{J8b-lfbVbCuU7<#!evJp^1wpOEmAV z~GjD#v+Ob_ZaRV}k=bXy~ z3>1iQRby_g_kpCLT66PMe#{+R~C zOMUs%3*dF(0M&m(G{Wj}NtDH@6)U7m(dX)C?_d}xXd+jH-xN`|-jm=Jh!NHy&zdwd zo_^QWSVc275Ty#6g@0d0%rS%psO;AUA=@rE{17(Ps6%8MO`S=TiqZOOK!2)>tgB}v z-cCFZZH&J>c>~k+8NALKrFdcc0J)b67HLt+AFXj56n{*Vtkq9CA=PH3M;67A4!u`= z9X#a9lzbgi>2(3+IGAGa{ONu4Az9(z3R8LtR|u!uGDgJuKE0iHE!I&iYSIpTJI;SS z`>*&v)j6A{;o;%n%Eoeyf0u0Mh8;s5>b;+{8R_A49Lt8ixPxP~mWfjbPD`W%4(ya5 zX%(iinm|zf3($ER%wrH%zLL68)!cG%w21}R5V5{H8UJG2S7zmi8NiFIwq`4);?Afa zBfoKWX}YluK!UH@k2!opwg7(D?ci7GCnMlQ7F@n=R!Z%xS@1IAN@vRuNs!C{v>nun7F=t|Xkw6r%O}WzxA&Y#~pCMJfFZ>(3tuL!V zZJH!GZ-Jj7>V#B{5GK@mR^gQv2ST&lAY32Sh9= zO{`>#{&?>dg??*PR}1qJKbt(yoiRHHp!P>MsRNLZj?CbLgM;)V66_orRgY;C=DTCz z!CK#S_2MK=-`aVhqxZ1vEjLc*5WqUlFYkCu=87Q8Kiz9| zx8Le@N@7{_Aes|=4YI(^_CP(ymk1JZgT)t4WCAmAJY!hDf(sd5Q{44=x~3XF&XzZg z$VoJK3;K>NRkqNYZ0A3NfVC&{p*n3l$(0ja=6BGcZ!cEgQHG9Obd^mDbQJ7QaY06DB;EXX1 z=-|;Ftf2Gs+$a13hDG!T?Us($PA6ta6-Xq}I6B|HyfP+cgkw=QKk#yikgfcgX;94^ zySOLQty~Jj8v!DI5++%zIT~fJy?M!n+XoDf3{=S1pwW!{*})8YyWuBnAa_OD5v1 ziox0k8vSv>vcwn2U4pv35HSC3wDCK3epZ5wcnxR>1-+wsAY&Dbij(p_Zp4K*KgpZC zz_aSn{U(QGiYfa~f<@=fJw&C@XGDE8*x}m0e5yIYWbxfm90}{5hLxML0r+S`tB}C296?+;aU7vsV4;Aym?AcN zFFpQNu;PjzE;7U&z_h^Q2M}Olkw{j?r;iKNwEf2tBzrdWGO0M3rAAXuEob%o3#L<^ zwbn{JC+Mvb!(vd{aN(E1uM1}f(ylxfVDttsgJmw zZvHkDrjP+-$q)3~ET2#9Skj7746Lbq%AWO+dw1?8aBk~21nK#c)4NT4U20Py2Z%JN z&&(8DAVZ&Hvb3KSOiKrgKgCZoTP`i~eHQSjrndh62B?{D7tGcyQ3>doO=^ zD6cT6YB3)xz37_p`<(0Lp`@8bvD*qwOo2&&Hv9hAMK^NZbID~zl$tiBPs(2F0@M`g zkvvQO9vyNJ>vkoV8_qe5dI66SM;d{+suQI3xz+aHthH86;aAH)q__x!Rt?dt((rq* zY|*cEeB?1l?lAj>a)Lcd(rqYg7ODtT7O+(O)xj7e!YGIzky zE@snG6e1R*gDbg-?z{v_-h@M{-U3+}&F>s2I@eA5Cx1+wefNtAj6!85Rg6MHV*6im zKe|$<-uH&tT{)sdie`*t+}h-2D`&~XKNk~(89jsy^fos#6C9NMJ}B@ni@JNvT{&J9 zeSc4wAQ`F$G4fO=7X*RMBxQvL2(_qWB!2lSS@zR-g7DIB{qz4eE)KAON{OX#5}OX1 zyYcEdE>qDC3?74kBAzY&5R%u|@ z_2akqo2!^4rsH(qAY-%wOi}01Rl*;yuu@b*N_Dt>j)q=6pWKoV5dq*gp>e2XlEFq| z&((BMEC0~hh$Tv^5`5)czz%4MKD$J21A|nmf@l`jv-)g>k6%gbxBI*e~DG18H#WH9MrJ z*#0rO#58#k&i?nmJoPcvd{q6klKF&f)5}YoJ`ri(5n!K)n`w*=Tm}1W;p6F(zn$E; zMLPN~hD%@glBKqN%7X(Js`tGfLWKZ>9%+hvK1WNLboLfK2e7H69+FjO!pFd1j|geK zQE626jGO&@ySD*fT=4@1an=Q&Fl4w7pj~tU;EL%%%xh=e!wr3HxJCxk?=!OGTyG&S z?)sg6X4eUki#fi1G7En(dA|U>C$lb>;^532UT=i1<5{hnw@iY^q!|OULEw^^QgG0ZYf6QnQ%ddM zk_DjV?+MBeoivcj@Eq%+q|AsGX-XoFFc79`=w;yqurVyK-75Qo(DJBEA}kHF}WK z17X(HxCEtf0E2rQ47TPzBzEIO(yw5C2k^4-F=T}=pz>8|df^L`&WWtn;UJc-4UBKV zcUvYQUtjZK^0Ldf=R9D$uROH026;|EgHdQIT(-PKnEliJ=>E}d;BFAK?i_j+_2n$T zxc6$S<5>za_Lz9jh_HOQOEwc&cVx}{wVE|OO7F;W=W{XYbEgZ?F`C&Mr8_{tChKJ(~8S|(qt+asPkRF|AfkkA8Q2{DU+mkFjUe0 zL&2Jdh!}lGVBrb0@xUe&5QB8uwPVjJ)|o_CH`QD6-sC&0A-gNs2GPQ?WnFt!#+mz; z8_!G5aNwulQE`l((03*W*zTSOqMh8G9on#p)Z`k|OvQ_06pxXDrgKZYVCZ2r9vKVT z^_P@Yf9m7-4yCDkv*9XP#MnxWOAy#|<2y-sh_@#Y)K;?C%|4K?Y#i3$PUQSLgP z;gJ1^$t|S(+LnhpIj*}nanfI&%5z-@^Wdd%1nn%7zs}zDN*;oqZcW~yFwAp1<`eNb zAm4X196PKl^6cvor6dM2%}30XvX^};nvwaYK<_(h(WaaW%b*Hi@OBg}i*JKnff1hM z=?R6Ox2!~I+4-E?j+&G@<`V;niVdFu&adA~-d!VPa{KJQL2&trq7^&yHz&)b5_b_8 zb$&me+vu+`pv-lbW6`@|$bTJUgxkPFDgHP2V(+z~8kBUEPHXYx#sQ`OJOTu9o+8a7@rY*^D(LDnn(j8YQw4^jk>wJmYY75ssvVl3Wrl4O?lgvRNmNm*sLaff>ExVCb6((ahmdV z;xYSjmxBZ^Tsa1mo^2p!xEOFy?$22G*e%9y>Z-e>|L&Y&hS#lIoo_G{!z;2WuiQ`k zLBPXkkM)nU+Bjx|*ocSQl};0-)zH7kK$_cY{riWd$o9=ZdajOWsdMSGZ8S~*CxcPN zXM{dR_vRwrNs`-2g4`L?Dy~rUP~MHi9t}f^bP*-ZhcQXa2)bA+?hi!5sx+^8l2ds1 zZ#AAgmSRXqjDyS#rkx)j2KH zEZaM+j|rKQNS=xGz9)GEHn|_%U&dL)#}-7u#MggMWThyrnJkq=Edy?(L*0|ROw?A* z60HWi6aMyrD)mNQ`K;^qO8B$(Yp4(mM^!*@oVY@D%Y_FWGDWl{E-+s+{iHuWQJ&Q% z4KPDQl`&zIqeU-lSdR3d@5l)Ri^}lFm~q;hHhvVz3ORK?hRt0N$sg|*@@b&C&msB63Vxuo?AaB%a2 zBZTzFlGnxPj7G;!+29usfwq!bDJe4@YAZm!(t{O~jpWZ;f?2SG;m0m`HujtR=Ke~; z0l~Ua67G4r#E$K>1_xGbOL!NeokMn9KODiZ{wIpm%*1q5a8S@FHacaciJ6IJ#l~nK z`*KONRJ!(bw8D=Wu9)1U!3B;@OgMPVRl*c*aQ69(^`CDlH}g?ycn3t@G|#>b915Q5 zc<%Y(Z}IJK4mj)1;XgO)m!(*=-rlTNP3j6@!<*&8!s~>K0Lfp?(0fsG3#qjS++!sl zwW+jBq07elKzOSvz*3yh<``rUq{inJt5`WALL&fGYT!z;UJaaZMob!QgzOX=&}MyU z`LBI`jVsbW@W%J(Z(8;gcR1Ba9l<|%Yd?JCU(D5vS-KHhOdpMu&7a8{ORqI9fsl zDUsS}=@1bFMkAoK0fHi3GD-o(0%UXz1SH;lfA8P>JbUi@IdPx+oa!jJHLsh@2=BmZcw~r2B#6M)@Ax*_BoCoQ>dPEL z*KP$;2w+|n?g0$bqHPrMI-Ty+9S=cNLa6{@c+%;VJE07(t_x0Qe=x&$;aA~qp}?H` z1_$F(wmy@>&Ic~mR^;B37QKJ-_Yia>h&n+BhHM|%#;vPAjT{F~-sTc!K8+7kGW@IkHja%qgY3mDA zrlc5WKOEOD6cBj^^rWt0g|dja&6O^C^-IIN*^7$f=#ABH0@3+iT=6|N6er< zd2;|c4N|hCh~;yf(iq?=9umNBf@b zY$S=ht*z#caG?fY%glGowhZIp^HG--I421i9X!u4(H9(t6>PiCJb=$@2=7( zT2&xElR*t{C*%U~+N~2KvT<=57xA{|gFPfXP6D9UTY&SDp7xE*D#%A^7O-I=i5^#B zi4@n#SQ5{$`!5VL2?HbzXvme55w8Lg5C9>wFn!?+m_t2G@OBaKsJda@tnT$|-``FT zf0w@QZj55oyp#RCVfXvxNu6_hV@own^<5*=e+W^G$E67L%`%o?7zBv5!{Q+Yhxm=SghpU-isw%{g-`qc!cTt16H$hV)CkUucdtdMMiQx0MiP^C?!N@ka3Yw=NA~$C zw2p~#i(>zCYGjtf7MhE`i8VMEIY5kGHnNHJIqrz(0Cb;K9kRYUH)Iz`({aNXxl0El zhCf$zL0sg~bJteD;v1eE=gr>2&#XjY^0v`i0Dn4e;^xig5wKZ%u8r0Ubz^(--#zdVSiJJQNN^%(&2 z92`2)9?3DCu0@rg^@q2ODmiM zk7u+&B7!u}r`8)kCy8BQ@-A?j{pmwNPj!H(($MUyO)T z1UY}m)LqtMiUYX1(;8k4KSa{g)x!-{3L&QC8Aiq*v#N;3XvYQtpX#rFF{Ce)$mFvUpvHJcz+lYLvZC=h-}qNF$$Gs=Yj?l_WDj0)Z z)%RF}7^_3;P#@_~W#BF)()zyaloQ1f`$DZ9w^ZIR%mDXJQ7(`Hb4~&^K=DCe;LFBa z%$Br%XP3nvFC^**0&nFB%UF?U_)}4yyo?h$Eb1^Nl;%o@w#Hq`40$0_0A7_4uo3a!8C$c^!V!{0J zH&3}4*y&v~rbKv>I?rLgieAEWo*YkZ@mc<$g^3dLogUz*dO$<$(sEDN7QjQufk6*D@pWz+<%ogr_fPyq zdl3=#Ml={_MNE-5&~}^5OdD2v{{e#sUHpYi19Yw#h(SCwaCk>wZJ%?~^6&3}^`-oi zl#{8)z|+|q@tU-s!4!x*zfkIb{6Jgc6@?k`IwD|{m?5dDJ9xS$Vxo})W!kUOhn_mo z?OVZW^(}D;^aut#uWXUvl{EXrJ1URKV`Ov6zy~n>c2(A|o@*WaGD(I1U3c$=10u25 z%LJas?h0|C*Kgy%Os_UcWSmMrR6#-m^~G3k5!;SC(_c~|GZGO`-N#R7eE3zc><$by z)sT|gnBGkq#MF)kR`@28a5uic_(55{USaX9|I&#rao%_JF|D!)zA z8g2h>Cap*hQ{otiufwX3wBojFTF)njd=4D}z~~iWCq9&S#4IP&Rk7Z4r)F1fcyE6l z1ej|*&70yKA$gI@*GbG$G9uks9*a46XBUOPqb+;0!VIG

__Lx3|DXw9wFWbOjfVaZ2TUl3 zdnUkm^~&IRB+H+QeF>Pgb6yfhQ<;sXlE%hG!0AYXKYJp|9V+-(^Oec+6;*Pkcnw9gd#8xDe4|qU#8mYo< zd+xu96NZaSVP#|Ld*?1Uco3&N*`zq@t|#~@-R3yPq-Zaii}=dGNs z4$HPVFeG6+$kWx3-gHb2E&dw-f*6Re4*Ib$LI}gD*#0yPuXInT_Fq!m1=3SNO_Dgx5xun`K!v= zy64I8WkW6!0ga>AAeDH>!7uE%lo3<5)!h_|H1mFv4a7Dvnt+P6uHO}FjxSHpBld4Z zO%by_(9qy`h{8!4SNn5hmN05KfAF&wnU*6!P{{93BXuE{bau(WU}OO>loBEIi8dzBJNtg&wv0t85TdHqhl2*@S?XHaZ%2|TC${{N1- zb}@x*6q68-l6<8KcD)lQXRG&G7zxwjNJsoV?Ih3BLI0!NKxo(fbslA}hE`yte_t84 z>N24xqTzAURvwXeGnZW%o6O1Cw=qH@WA>4TACohZ*!5ps3+@DW0P@g_MDV2MvY;~F zfzPo7asC6uJOk;-`Be3*7`VqYVDVPrsvaA!0+P|B6&Tg-Hjod5HoW47je#k2h0q2B zrZ7s-igJK|CKvNg#G5*(Y9!*3b9upW;hD zmb8|^aIBVwK)}<>-1dWK03)<$>y!U>LVgN)MF?B@bWEpG5{l|I`F9;`T=6g6hY^Z@=QArL;r|=Zd;fX8rA=? zBpw1N?NEHpJGE2D;vS$Sp|#P5x8;jF2^s|oCC z@Y=bh3u0LWNa&Yo;A0}=36zZ%exsYMZZAHW z_dcR{H-3PTe_C#1S6UUvAOA@_p1VKgm(hi&gU9lZ6a`~;0ar_8Ls6j! zT6nvrxDXHk(}{?wcplUp`yYLT6Oq(mmPAiT=hy`P6_>pETd1ElcGQ70XcCrZ%RY^KP3`|NQJC<@TLaQGS=36f z_RanFcIoq@e4_{b1)*X?1brf?3~~`Ep{R;AAulr|hm+LC!v{~L*zoMJl(8V3IPugZ zVSR$9eQ>9{VsftMnN z_sdi>{Ft9glC`E%w`&9yGG>P$l1p1b?D8~orzF5OKC zS(=Gr2I71*0Q#Te$x*=rNEC?7s-yqr+${P*eETclL+Ld6bnRbm9V8=D?;Qgv-ZzPN z#*TgiQU-Y!9tqw`-CuR*w@N8hCLBR2iIb^gU7h?dqgVhSG+!T#bT-_TeIV)qZIXR| z3|1(CH@W&wj^>aVK3V69L!tBg3CX_D&bqP#L7rOhfadl`!o7%{-3@n=Vjz~szR+3g z83mvZp8V-|5?loyqBaUB^?l-<Eej(oJ7JWrROk$@*5D&?p z@#3MerAY083@}6DCh);{CryKam{i|)xxb77_r23PkKOnHgp!DeMA$EKdJU6Jb&Ih*jF;od<5kPHSi2(DiW z;(ZTcg4+IdFjR}TB|qGlKZrl}gvHyA^7_JOCOBt>wJ$m}nDJ2nn)Al@n~d=jWN$;M zYe(%VV#lbBskGH#YjYswbWgC=p4Ts-JFZ>n66Y}b!iZfeH>Zx7OofU=m4E2%rXf zz7yHfRlGNMN&ZOwbG}EwF5*40%P1S%*r*AB{LTMqFfcvmK9fqF=g7k=s0RM<7}y_A_J&C zOW^%dNsDN#qTSeXjE?J^DMTpUTpUzrzW09=5>M zwH>PzCOi<6YB-n6aFSz|47aOF|5Dkw;Fa)9_c3?F1n{8k;<*D_kpy9t@o_^~O#k0xUs;ApYP*Y}O>~*6V}-*rVSK-kRwgm?IN)45&<7A0WAH{yCTJ zJD8QJ<85!bN4#H3f;2l;POv0UQBI~d1Fk2_(b+%>>u|o-%c0 zZ}?TpECh<={jzc#r6@r$%5*VUIu+;g=FzQ|AwQ*ycCFBi%3k zZR^$!SL=1oRp%Z2C57_Zhu`)C8EY%E>#K(6C>|7_c4Bcjb5LomkBCOfk4itq1*MO> z=uEs$^%j)6SfoxyQ39XO!T~Ss=lKpfdi^0PmslFX?mZ#}Qxd8$oAyiF3e34^$p$wwnihF{z*GY84~=lFfNf z{v%sQngntR(W%cOl9GPS;I8GPwh?L(lCON0qvZ%o{qr}0OVDT-Uf~z* z6Iw#EBYp*}N8t<=|8fwVh(Q>?gp6NV;IDUK%zmNWz3gPLPrtLXe`IfVZralYlM^Tf_|=drKPF5xae7Pu#Pna<>t>Aa51z4r9> zUoB3+)T@~^3Cd`dT#bKHdL!4ZcRb$r92N0Y$6*;m^r|}n|DLCkRq-i)pVjzE{B~VVG6A72Em~IT@ zA3|RE2wgJ-%+F z>&Ch5d|u;y!l zi{mbGO;aej2tVz+im#QCRk{H|WJ^E8#8pT4+7(;gSX|N-f zYUcZm@Xw`)&kR($S$h-jC(Q>xiRz?lYN8rmIA)vSnt3Gu_##2^D|FTMmY6HIP*kdh zfD7)HUU_E+X=X2$+7;LEzS;ZY+)YVl>n`uBlk98)ZR&4u6)Lf-8K{fvn1z7Kgf&NcxcM4fn zlbl`9g=Av4=VzP0AIvs0gzm7IDpihKUoPf>A{{eWF^0KFdiAFh5E4Exw5qMp5uR(1 zt@|VA#lyc5VONnczpAaYCn%`p5V?|%o=*nXP*vN1N8j;6<0|9aHTEi)!oF${y_Va| zkz|H#oD%(s$n0%6giNm5SRT-pT;k8bF4 z7~J|X3dj{VRG_V2W5)ZT3#-0tp8WZB`LEG@>oTg<^rwv~X~5qvUnWSN!@c-e(`Qzg zjC|r!yJ&-C7>qb&F)?uPD&xosleX{HvHEgIZuRrRk>`%}U!Dq+?})E{*%S_wnC{@4 z)R;_Su2plktNO{LzDF+mNijI92mud zUNuUC(8}3#D!RmpBf?cskrOj>H?V}*L2 zn+VJP4tYwl6sTBfvKud8Utne8u5A|99?1sluxb3XOro7cn&TZtKcby!Taaa+N*)Ob z(Gl>vp-Kl-Mez?g+a<|R@QZvWi*jxb<7{QoqpkRMBrlv-`#A(HHsvk$I9EQq6kb!a zPVC_&8K3(8V4uE9NLEkcM|?&8pofZTy%c9l2>lX2uU3wf@&19R)02b|PXPp` zTWq-!s&N{ru^1mj63U?O)P_)?9{XXEX-0P2aP?%kRRkK?6==1 z!<&|iR1|vQZ2F{n-;7P&Qo-t~JhK}Y1KU=ETo6<;X}mH;w@Y(f*gh&JN2m>9T1;yA z)Q4m~3X3^;Nwp>kxeClXq_h6a*pHb*Q+8~mr|3nB9%D6`;z8K9UTYDYumUnP`NWgR z6_s3`J{_6LbDuvqMU0xZANt@h^mVUV3G>>C@Lxpq%mU?_i9-GKx$k2x2KuXLhfuZW zU3O^2Qgv}|T99$)rVmN#-J`91hA@HoN=`#oMpQO(Vy45vqP1)A2ZVz`&hEa@fF$ey1Tp$K8Ko0i7# zGLDvK-{syz(m#Opw@Hse6_1H#TL=2nq-I89}i!4ggZNPFxCKdmMQIGRsPKUn!{K8oR z9QW=Wg^g~mhI|KWV$;D-s@_xg0Ld$PEAS266gS>7&HnQ3_=SopTGNbvu9`vq(=Dd) z8R-!t#yvWgIRC{~9=>nE zl=^f?{}3gs1yNqVXBRJyM?Uo#GR$KuMf4uNr%u971~lS~pOY+Y8E&7Mn!0YENf~QD z;oQ~QtNBW6hb<4|G@b^&XNu|G#uKN<6FzW~xAJ0?83HO>o1oaV*Hsj4TE{afkHcP} zWRWxq%kCa@3HmJ)3pE?>Gs-Vtxd&bGmi<-?To4kmjZ<~KN&{e!pDLiy1?<)DWxLK^ zz^6sz5Me(nOqi?MG~J)j%hx0g7_x>;a;&77&h(mkwGB@tm8;B`FVd|)+~|0rHE=}9 zD1Q?abTB*lMJfcK5(8yytrvJtrt3GsoAry4R3@O>Urk#O0&-=6RHtEeeX*3HfFHdmF9#!$N|%rb=^rxL-V{%zpd3ottYfSrA2V;VI5vbrU@4nU^?aeaL_* zLo#Kz%njYUjF3tec_~suYu?m-snMtXi7Wz3ewBkgp{;{cE8L&z+L`f8$Ty}(nk6u8s^kvV~9!ExOa^t7`Enl7j}3$Q-V)Pcjv|(i{-k>>c#I%iTW)p zL@<$YO2I%Xnili z3DeG1v*=>kV*|DQ5xlRFBGm@55Kq^-ZXDVMlHN4^cd&3l?}vM?HR#J4;oxCVg}9=P zg&0m~qj7pOLZrimjsRAzdOOf)kz@x{oxXkTHHBY)$?Uh27{Aeu7E3?{|2Ruq$_ShZUG2o4oh7IW zUrfa@%MKs;Q6xo0t1(3y>4yYSC@Lgp>y5AfC}WJw zqCTJy#gJ{tG5PYDC(`ngCT9&WC$rd;iaooU{La4iDy!d;NhDA4Ro!*_bP~E#t z^sla$#U4Y=xW~HIq2K?hWBmj#S9%jw3FDx9l740t4QS}gbR;#VdoMo*Zr={`U(3dm z=wIgPG)bb_O#Qj<@jo&=Q_&8bD9J1^)pi0sD-r|+(cX$iRU8z1@u zWfRpGVx6wzD>Olatg%sR0T0CBfm#^lXGm@+)74M4N8Cybq(5(|6bSxvc&zu^`!bta zAZyL)Xt4rOQ*cxEkgA`$@v6EU$#wpiROJbNEJrKj9^NGk7x4%#G=3mK=|qEiZ^}&; zi;H-u2BRt01pGMEbGgBlS{BXWu_nS2wn{p*TohZ2tm8r{CooO;B zZ|x!xNa6l`laW4DHkIa-B8fY9Sn8SJG>fLVmS;=hB{n3)s9)ROG@7l|tW%!YRdL;2 zJylXJ`Q)}MnOUQ8y$fGGt2U?z3=l}RCja%`wDOB?7~6epnGSnEsmw>%`-?V+>;_PV zG2eEmyD4+?43D6@ye5vq6#PRP3(8@diM^ywwsU=fZBzbjKrheO`sXSf+JnVp;YY8g zZPjT~U(sMSD=NR+znaG3ueW*IDd?T-#UWzB=IjkpImAD0AOJ>by?;y}%S|2viRanIp zt49&-alHep!XT(Zrx~%<$gjoqu5Aq8lF+)v_J%Us-h+9t?FrB zeUV5!|B=!&5dIkv6)X^yVf#a&VrC~*^Rt#1n{(+vsQUeN#$zB;Tk7Hpj>Y=7@QW=X zOdZc;e0;x0ge}zWFvW@d>qFXp!q#UoxcF6_yj*XS1I;SE?qdJHwzB?oA8mlA6}pAP2axJ{L10% z+X_ME(X1Gc6XX&ZM;VJ(+NykcfKA=e#JsCp2o^N_&Bi^ZY56RodQr1p#WMjLE5M5? zpyB3!{HPA8dm5}5lAIU@-Az%@DREuK8kluj2#`)Pc;mDv~_B#v%N!QP119+;ofsX;F2 zvqCZD>veLyEOn}*uJc~cg0*HT{nYb{@B>1M_=|ohdVTCp>-?Kd`GIZ@Y~Kk!I`f14 z2@`RDXa?EZ}XN`Fr98N{d{i3OUSw7lxdc| zOjk_v=h_@iVbUPInr5`ex@h4sBpO~ap-wad-x;?v&jCU=>LKW31R(YJVuGIf`cGHv zhcMKmvX7QavjYJTi62+QtBSd$RwO~xznCHj!j?w;G|gmC(BWCyBZL25e$J%HSV$3n zs0LGG!ysVf9fzrAG?-DJ{k_2TIP&xq2A%uBPjz?FiCmV9jq zi3El#IifYMPp@rg7UUUd`yDYqP^e*_+}tGVq4;L{7s*C>OsE;OGDnTKox(m}arpfc zrdz)@vE(P2{o?CGvzo2J_xH_zM)^e24~)!bxmpz-Ke6yAO_APSPUFST`Y>_t_=}D^ zZ$gtN!{16g8{0Jp9aEmjQ=_h_dUit_G{R+kIrRc5KGq7f(?ySD5MA~nA(&)U0oxJJ z(8pWTgogBL^YHI8(qW3EwmuU=BWZ2=EQr&zXh{UlW9bFL7d~CreJs~6+P>QG5J2B zbx$J|eeYT$|)x>G>)t>f<5BKF7yvqGF5t0Txu^F-!~3}YrBW|uujyFigavv(({P} zxl|qDS>bIfo8G6+S!tS5=zGJ2zHfS|{m{YrV{DXOIHXG9uBnjOLBAN&HI;#6Kx1(;UmMl^ovWwQ380#s$Wcx>TNnLdwtdS8JV)xSj0k?en}n?EeYMa3T? z{e`mjk5Nv~E+r}I;Y&~rwKn;DRyjGmq;({9BXlUZ8Lf#$p^1JuoF^a3kUjK##)SS0ay)Bf`8&%?EkxF)^+&usxSn z%yh!t)jnFhV4a_1;xgq;LhkMDtzmBumT&4R+s z7zPB&oj+TE_MZpCx)kO=&8{jd3nZPFbuJ%#SIm~){gpVy{>^jKbsYEM^0GXN;&uUUmT^OmOxPekceGUz-au=%&F?lpFeHoM=2t!>MCmpUVt*73e}oKj(c1;%55GK%$|hX{FSaCjwLoOcGlR zBErqpI#?Y3F-@UqeLthP$~R)vP-^v4ILSh#R^QbLWr0u7VfE2?qS^4F|IP5Q1B0+Y z^nk^Q)PN=4QYBOr>BXMdEn&QR5${uoJP_J9vbNWIOdDGeY*=6nX38}pD}Yea|4i3i zF{#(_wVl`c>n$hZV`0-i@o`cRU@VZhP5wZ~`8Al&>#qUF1C7+-h~Xk}G=zHI+Jrfd zEo5Eeq>PYFQ7`SJo$>+1R|00yd5->FL6N7rBk0Kaz<7w#@4xd;w3+0se}fs#s$|n` zZo96wX|>4IZHv8rgB88oQ(hZ-zL*lz3E>`mO_|V9tup_J4U&l~H&XY$3!9#`lL+eG zgx|DO(ZH_li9gqeWb+2$f|G0}A`>G&j1__kU_6qnNKo50>o574GXK*iIOtxVc@I25 z+TKYSBq zge5X1zVFW)j)pLAs0Z!YiVAi5!gkM-yE{B@6NIg$COs70U72-HlZMH7o~3l;r2I5| z0r%I<)6h34W><#lQe(J^K8TjD#Jw`;`AT@3d&_ph=RfcLqO4Nd02(BQeN^zC){6)7 zixw|8I4phN$jIt{PDTh)&=b@!@y#a%`}h<@YELk8dnod30aS-ZXNu!*K& z0V<8vN`ap4r&8aJe7wqaFG=OEfX@S8w($RStm&r#bBY&jvUk%X6*u$fe2~YHN@9yC zCLv)#&ICkXn0JKUmuZn>I{9X2hqG3kLRh5S(H{tt_2hc26GB<%g8(9Ro$fJggCg#a zzcO(AsfSst^#0!;Ge>#!b0%*uT7^Y3v`J4W#8J<8(X7T)I8HOV`%N1Quvl?Jmx{6s z%HD?D9=ZGaV;P}p5PIdPq!9^+U_59to$?@wMZ+D#l|u4-ddvOqgf-gNCI%Di4JTKK zN9<^)M0{~RQq1KSqsg(3^wXQO>n%4jv+f$Fhz~{HDF5kKbx$aBV=bs%;Qo(RmcUQ$ z0&0Mc9sBpMQ*sczo|y%6h31P<)i` zu34+Z55>q@6_)&#UnAyrS-~p~%E{(0>ay2*;8F(ZyzGg&Y7(ATOLfoBrUdUO#+mAj zTW^xttiR}XPu(+Ou!JCL>`J{B61E($R{e>`^o0xAsnCZ@yD__s%8s-0ua`})6tjsp zIn_?h#B8v%=^x)=X&9R8V}1V?vhz?e!%*~ng}+pk4Fzmuh4rPNw8=CDrHo}?3Rl^@ za5`4p;<7X7E0AUzw7P)l;8hVQ}FswT-_Yk6C`lt*;z1vQ?;`!JoI_e zF`0T{7<{YzG~oS5?x9`gL4DW|rHaNFXVlPn#>q{2KIg*oL$)%fO83x2tl>`)n=aT{ zt_pSklPBB@v|f5!R7^22vQxrdoo(JfkYLn1=%yyNY5u&$Kv70sX9Yl2n2)aj1x99z`PumW z^4^zfhL688PTr6*tc@b?B1{o4(~C8`T)1K8%#z;%bM{1cKU93}oF_6LpPj5oF zZ%Cxbix>5uvnXZ@0x>7Tw7!qvpNK3ujC(h2}+>|v;BcrDwTcvbR+7Q{dd zh-Jqm2X1Ov%kLE_Iy5@G+0+cGkzo{=(B9Pr;m4~AXvxc?b6Cs(v~^heTQ8T14#ReU z8I z+1|%^*^AEUNyRy=1WxBhE}D~&Br{1>GN6M|{e(@T3!dU5H_Pm&EYbEkN`!;P=C?)Y~r2?TZicZ*6nypiff9!*! z4J($h=wmF}m$4dKVHl=K4h(Sn{Ad zN!(*Ri-cm(H^zB>M2%Aiwck9IO3dy7AdwV%N?z9b78j!cH8$3T#I?K?Ub zF{~q+#QaK!sXSDs@Z_xhUve?xiO@7WR+~#paH{s!o4T)J2X(e7VRwhh*^bOLF5dR| zDqIcR?lA~2Kv2q_rb5xC9wyn+CyeNv|5igm^A(CiMT0~D|VPNgY zCOI469zJNDI*z z2BrH?6N-pV`AMSptcsP*D{igpbg*s~V7rq`YVvJ$eq+Ep5MApziud$a8(;}B1>^c z{SnH>_kNfr{bxB`&D+od^+216;IsQjPsw5YIje7nLy=`o3W=cHK_xCajSTy@rRI;w z1MP`MXtQze$n)>4_!qR0At6T@>QP>&m?YGdpL;8TXZfp1!RdVS*Vk`ytzu|AZp%t+ z!c#Mpl-7b*xDFlUf9El9-%ey285I@xVO9T9WmL_!bj;>S@o?v%EzwSIs!qV{^KSkI zUvtFX;j2%x#w1FKN?1thk-FT%!Rn&?k=KfO$T8jjHdt!@3|TTvS>eEmeb(a~-W8wY z5DBusQ&KCe@a@N3|A*D-_W#M%yf2#uN_z;!3M@{`j_}=0rGM66sdl=!UmsUNpdr)P zWJ!o~(Xg*5srk>9g*uxTsy|Yb&gl)?%Y2|%$;O^3Rz5ef=9ns(3dpYSNpYM*F!Vl_ ziF2nj{m&n5niAg073i216dZ6zIsO)AgfmIQl5r3DWdt7WQ;^v7e<~>*;#NC5AEXNd z+%T(K^Gf5k8farS&air@wI!Z~HIr=hYziM;t(tC{bgX~>r(dVk@GmW|IPb}x*4Swc zQDHVhRbyhq3`_wOmEKK)q%sy!+!bCiH?6_x@sFf_rAo9JJs!z;`k6$~ zjTgWFmyEtmka6bKNFbNacb5Kt3cdm?ytI3n5Q30FC}(8NfBx5UT<~y}`AYXYUq55! zPjJ8u0r#lustNEx6^KSs|1`d8;8za+?S#ht_W70jun)$J{%@@{c@uq;5TGh|`$D`= zjd$aB;dvmb7=yu=3`w55G!I(n(ae>ohSTgd4z*67Er9(wUB|QLh_ARZuvFec^JQ_- z{c?#rA?w?M7u&B8T{k1%{|(Ee4c315<4>TlajpG@McdtDh~;fJi4~4={gTkF(zAPh zc&c&5p4@?8%bwP>@Gw^CuPh@BUBa|j-OLZt?S>+E1jbJU$H%^W324dF?c z#Hu>$k59tk>I&>h3@!vkhS?=di8bnpdB zbjF*ggAc+Aj%gT#`vgClR1;k?$z>$hKGspMc_0`% zrw3m$M=!v10wh-0KE8~#%V6SkO%YJ>1PjC%e!0y2bVi?R!|!i&CpXgA%7zg?^Nx~Q zIsL64#n<|cv4 zZVP!nK*##CFQ;QH7j2n-vNwFh_eXq`mc}G#w_s7E=G)hrR8ze2WT8RGAe3>-t|@?*V<29gzx-kj*m*c10O z=gflAK{TP{S0*LUsv`$adr2TY2}$JpK$dEmL#I`2lCOxL7@0(R1z~U1CNqIQYBTl zJ@p_~2Xm@_3cmHv>p((CcPD$!UtbM`t`rOsNCL<3iF&`rf+eY1iiJu240P+?*Ru7| zmGqgCJSxx`kq-sM8e)D^zAC1{CGzs6a`O}86{|AFBBQXVJJ79vUk55%ABkjelY~#< zQbHx4?1lJQbJ-$(yjlX8)Gwj7w$R!GGQqHPcj_%p(%=~==@kMoSb1ZD zo4V^6MrA=liJ<-=p4J9B5EfUM;|h*$*4y+%qUZXDr9EnmNR{K*RXYD@P;92~srW(t z5^8G?1vo!CQa3c$p2$RYjL(^a7jwQ^g`iFR0duV0P z5PoJlhIqPPZh$dIz^ zERj~7=c+r$WE)BJFj8HK=rh#1Pk4s-&v^976pPYHJ@I zjJownWId^#^*YI)VaCKLa%{#QlE=v7)<_wiyNFrxi3=Cur=NjtZKwdnr9*rvk~uOjQ}#FrYem{%STifJ*B{fTJJ7BFM)sT&t!XlmgfU^gq9LscgNEdh)yq(% zf*>Sv>V=?&RQ>)tX8l7vt*vyR`u>+eL62lIA^IB*WkJo1#LrVCeU#X#Z;+8fKXr?rvhM#ou=@EOizgnvgj8ZU`RLZ2DLT`kE|PiApM!I2~)|C3|b=k7qa_ECXP z*#$WnmWL?DmwBH&i22<_D`KgR6-GOfHrlkY4R-##h-$#s~- z21DYW1p$v%|hHgyB)E(&7 zW~%Rgx$3MzyhG=UBl76~88LJ_(gX$BGFgPaft<;Jgh{}g;{KZPEF z4#6C$OjF|Ae*Tu2my_Kp`_EZ&D3K<#5H|)%l-1Lk88E@alpu!+B3fS>OES}A{Bv^D zj{vncl*g*d7VDu^xR}f=?~5;?g%v~w z`Y^^Agy3y2NgmJ=#t1G9P_pyG&D8sccv>4ujtr-XTPEiGi9jQqm zQgJd;b)2`IYjZmk3Xi-gXv(GsANgz|2#Wdd<^QOJr`rEDm|~Ro}5Ul0rs| zIqQ9i!V6_$Nsp-%nlmOxDiUlMbBuitBfv_+in;^c+EU;1$LJA~Y7fY)T!?HF-7Tr2 zBoB!&l1tu0jI}+)Qq~}c3}O(+)u!|e2(fto{x!#JQ)51K2fDSRDpJarCV|sR%~Uy$ zE%m!eB!Xm2&4kd9)vWr9^e7cm4_J}dNj*L{rVkXrOB1~NF(HqGlTmZASesYlv;ZpFKATs~i01h_09~=mx&>iU3 zo;nXoo~gH!16VD_XfrYOKE0ot4xp58n~i9a zN|c2`9?1NAeRe>&u?r&WXP{fV>TKt;MoxVNkuf7ODsZ~H3-tIx0Kqh_V^(6^5s94j zdFr67z-nGc$^B4ocsqM$aXYT>H}D7S1rsjC__`hq|;{%tw*w?dXqC<3Mt`oT2A13 zE!apQM!I;mqO$%MSprA|CC)nXA z#E2Qj8Anh=$@_&AvP)E$7Dy>_hAGCs)U*049Ic&oI5cHE{$h0Hl!eslCF?OS|6b6F zo|t5nF~g_k4#%1~DsRFPC$S$Sh7MUIf%+Nf*2X#*;Fw?ot07Mim=(5;xyVNidCqqVtK&R`s;KU)~@*-ewYKq&tZ=+&?<9V zK{Bb3N9b7B%PrV~OC)|!eX+HFiLkY`nBUyK#TYF1}{CIeerq<)FI%5!C1T77t$GYn~XK#6HW0!w$K;qtJFOR75>P+>8HBVj~k1Vv&j{^!LMc^HwY z=olE>%M8HBp^8o43D*{&!u4U|leX9uEmE1m4Q4L##xIUugSH3R@&--RoS4fVGfuIo{dH+8+M|_e(HQam1kU505Z(4^?3rnE6X^<;Q ztBH!x1XMN1k02>tp~IW7PmveTMOP=T{8&f@YCMeDTCWOpVFjQn#?vEUJJAH4$Pygw z8P-pMM4))feYRrTn@u7Lr2+J^}HH;$B z!H + +## Feature comparison + + +We'll start comparing Scrapy and Crawlee by looking at language and development environments, and then features to make the scraping process easier for developers, like autoscaling, headless browsing, queue management, and more. + + +### Language and development environments + +Scrapy is written in Python, making it easier for the data science community to integrate it with various tools. While Scrapy offers very detailed documentation, it can take a lot of work to get started with Scrapy. One of the reasons why it is considered not so beginner-friendly[[1]](https://towardsdatascience.com/web-scraping-with-scrapy-theoretical-understanding-f8639a25d9cd)[[2]](https://www.accordbox.com/blog/scrapy-tutorial-1-scrapy-vs-beautiful-soup/#:~:text=Since%20Scrapy%20does%20no%20only,to%20become%20a%20Scrapy%20expert.)[[3]](https://www.udemy.com/tutorial/scrapy-tutorial-web-scraping-with-python/scrapy-vs-beautiful-soup-vs-selenium//1000) is its [complex architecture](https://docs.scrapy.org/en/latest/topics/architecture.html), which consists of various components like spiders, middleware, item pipelines, and settings. These can be challenging for beginners. + +Crawlee is one of the few web scraping and automation libraries that supports JavaScript and TypeScript. Crawlee supports CLI just like Scrapy, but it also provides [pre-built templates](https://github.com/apify/crawlee/tree/master/packages/templates/templates) in TypeScript and JavaScript with support for Playwright and Puppeteer. These templates help beginners to quickly understand the file structure and how it works. + +### Headless browsing and JS rendering + +Scrapy does not support headless browsers natively, but it supports them with its plugin system, similarly it does not support scraping JavaScript rendered websites, but the plugin system makes this possible. One of the best examples is its [Playwright plugin](https://github.com/scrapy-plugins/scrapy-playwright/tree/main). + +Apify Store is a JavaScript rendered website, so we will scrape it in this example using the `scrapy-playwright` integration. + +For installation and to make changes to [`settings.py`], please follow the instructions on the `scrapy-playwright` [repository on GitHub](https://github.com/scrapy-plugins/scrapy-playwright/tree/main?tab=readme-ov-file#installation). + +Then, create a spider with this code to scrape the data: + + +```py title="spider.py" +import scrapy + +class ActorSpider(scrapy.Spider): + name = 'actor_spider' + start_urls = ['https://apify.com/store'] + + def start_requests(self): + for url in self.start_urls: + yield scrapy.Request( + url, + meta={"playwright": True, "playwright_include_page": True}, + callback=self.parse_playwright + ) + + async def parse_playwright(self, response): + page = response.meta['playwright_page'] + await page.wait_for_selector('.ActorStoreItem-title-wrapper') + actor_card = await page.query_selector('.ActorStoreItem-title-wrapper') + + if actor_card: + actor_text = await actor_card.text_content() + yield { + 'actor': actor_text.strip() if actor_text else 'N/A' + } + + await page.close() +``` + +One of the drawbacks of this plugin is its [lack of native support for windows](https://github.com/scrapy-plugins/scrapy-playwright/tree/main?tab=readme-ov-file#lack-of-native-support-for-windows). + +In Crawlee, you can scrape JavaScript rendered websites using the built-in headless [Puppeteer](https://github.com/puppeteer/puppeteer/) and [Playwright](https://github.com/microsoft/playwright) browsers. It is important to note that, by default, Crawlee scrapes in headless mode. If you don't want headless, then just set `headless: false`. + + + + +```js title="crawler.js" +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + async requestHandler({ page }) { + const actorCard = page.locator('.ActorStoreItem-title-wrapper').first(); + const actorText = await actorCard.textContent(); + await crawler.pushData({ + 'actor': actorText + }); + }, +}); + +await crawler.run(['https://apify.com/store']); +``` + + + + +```js title="crawler.js" +import { PuppeteerCrawler } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + async requestHandler({ page }) { + await page.waitForSelector('.ActorStoreItem-title-wrapper'); + const actorText = await page.$eval('.ActorStoreItem-title-wrapper', (el) => { + return el.textContent; + }); + await crawler.pushData({ + 'actor': actorText + }); + }, +}); + +await crawler.run(['https://apify.com/store']); +``` + + + + +### Autoscaling support + +Autoscaling refers to the capability of a library to automatically adjusting the number of concurrent tasks (such as browser instances, HTTP requests, etc.) based on the current load and system resources. This feature is particularly useful when handling web scraping and crawling tasks that may require dynamically scaled resources to optimize performance, manage system load, and handle rate limitations efficiently. + +Scrapy does not have built-in autoscaling capabilities, but it can be done using external services like [Scrapyd](https://scrapyd.readthedocs.io/en/latest/) or deployed in a distributed manner with Scrapy Cluster. + +Crawlee has [built-in autoscaling](https://crawlee.dev/api/core/class/AutoscaledPool) with `AutoscaledPool`. It increases the number of requests that are processed concurrently within one crawler. + +### Queue management + +Scrapy supports both breadth-first and depth-first crawling strategies using a disk-based queuing system. By default, it uses the LIFO queue for the pending requests, which means it is using depth-first order, but if you want to use breadth-first order, you can do it by changing these settings: + +```py title="settings.py" +DEPTH_PRIORITY = 1 +SCHEDULER_DISK_QUEUE = "scrapy.squeues.PickleFifoDiskQueue" +SCHEDULER_MEMORY_QUEUE = "scrapy.squeues.FifoMemoryQueue" +``` + +Crawlee uses breadth-first by default and you can override it on a per-request basis by using the `forefront: true` argument in `addRequest` and its derivatives. If you use `forefront: true` for all requests, it becomes a depth-first process. + +### CLI support + +Scrapy has a [powerful command-line interface](https://docs.scrapy.org/en/latest/topics/commands.html#command-line-tool) that offers functionalities like starting a project, generating spiders, and controlling the crawling process. + +Scrapy CLI comes with Scrapy. Just run this command, and you are good to go: + +```bash +pip install scrapy +``` + +Crawlee also [includes a CLI tool](https://crawlee.dev/docs/quick-start#installation-with-crawlee-cli) (`crawlee-cli`) that facilitates project setup, crawler creation and execution, streamlining the development process for users familiar with Node.js environments. The command for installation is: + +```bash +npx crawlee create my-crawler +``` + +### Proxy rotation and storage management + +Scrapy handles it via custom middleware. You have to install their [`scrapy-rotating-proxies`](https://pypi.org/project/scrapy-rotating-proxies/) package using pip. + +```bash +pip install scrapy-rotating-proxies +``` + +Then in the `settings.py` file, add `ROTATING_PROXY_LIST` and the middleware to the `DOWNLOADER_MIDDLEWARES` and specify the list of proxy servers. For example: + +```py title="settings.py" +DOWNLOADER_MIDDLEWARES = { + # Lower value means higher priority + 'scrapy.downloadermiddlewares.retry.RetryMiddleware': 90, + 'scrapy_rotating_proxies.middlewares.RotatingProxyMiddleware': 610, + 'scrapy_rotating_proxies.middlewares.BanDetectionMiddleware': 620, +} + +ROTATING_PROXY_LIST = [ + 'proxy1.com:8000', + 'proxy2.com:8031', + # Add more proxies as needed +] +``` + +Now create a spider with the code you want to scrape any site and the `ROTATING_PROXY_LIST` in `settings.py` will manage which proxy to use for each request. Here middleware will treat each proxy initially as valid and then when a request is made, the middleware selects a proxy from the list of available proxies. The selection isn't purely sequential but is influenced by the recent history of proxy performance. The middleware has mechanisms to detect when a proxy might be banned or rendered ineffective. When such conditions are detected, the proxy is temporarily deactivated and put into a cooldown period. After the cooldown period expires, the proxy is reconsidered for use. + +In Crawlee, you can [use your own proxy servers](https://crawlee.dev/docs/guides/proxy-management) or proxy servers acquired from third-party providers. If you already have your proxy URLs, you can start using them like this: + +```js title="crawler.js" +import { ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: [ + 'http://proxy1.example.com', + 'http://proxy2.example.com', + ] +}); +const crawler = new CheerioCrawler({ + proxyConfiguration, + // ... +}); +``` + +Crawlee also has [`SessionPool`](https://crawlee.dev/api/core/class/SessionPool), a built-in allocation system for proxies. It handles the rotation, creation, and persistence of user-like sessions. It creates a pool of session instances that are randomly rotated. + +### Data storage + +One of the most frequently required features when implementing scrapers is being able to store the scraped data as an "export file". + +Scrapy provides this functionality out of the box with the [`Feed Exports`](https://docs.scrapy.org/en/latest/topics/feed-exports.html), which allows it to generate feeds with the scraped items, using multiple serialization formats and storage backends. It supports `CSV, JSON, JSON Lines, and XML.` + +To do this, you need to modify your `settings.py` file and enter: + +```py title="settings.py" +# To store in CSV format +FEEDS = { + 'data/crawl_data.csv': {'format': 'csv', 'overwrite': True} +} + +# OR to store in JSON format + +FEEDS = { + 'data/crawl_data.json': {'format': 'json', 'overwrite': True} +} +``` + +Crawlee's storage can be divided into two categories: Request Storage (Request Queue and Request List) and Results Storage (Datasets and Key Value Stores). Both are stored locally by default in the `./storage` directory. + +Also, remember that Crawlee, by default, clears its storages before starting a crawler run. This action is taken to prevent old data from interfering with new crawling sessions. + +Let's see how Crawlee stores the result: + +- You can use local storage with dataset + + ```js title="crawler.js" + import { PlaywrightCrawler } from 'crawlee'; + + const crawler = new PlaywrightCrawler({ + requestHandler: async ({ page }) => { + + const title = await page.title(); + const price = await page.textContent('.price'); + + await crawler.pushData({ + url: request.url, + title, + price + }); + } + }) + + await crawler.run(['http://example.com']); + ``` + +- Using Key-Value Store + + ```js title="crawler.js" + import { KeyValueStore } from 'crawlee'; + //... Code to crawl the data + await KeyValueStore.setValue('key', { foo: 'bar' }); + ``` + +### Anti-blocking and fingerprints + +In Scrapy, handling anti-blocking strategies like [IP rotation](https://pypi.org/project/scrapy-rotated-proxy/), [user-agent rotation](https://python.plainenglish.io/rotating-user-agent-with-scrapy-78ca141969fe), custom solutions via middleware, and plugins are needed. + +Crawlee provides HTTP crawling and [browser fingerprints](https://crawlee.dev/docs/guides/avoid-blocking) with zero configuration necessary; fingerprints are enabled by default and available in `PlaywrightCrawler` and `PuppeteerCrawler` but also work with `CheerioCrawler` and the other HTTP Crawlers. + +### Error handling + +Both libraries support error-handling practices like automatic retries, logging, and custom error handling. + +In Scrapy, you can handle errors using middleware and [signals](https://docs.scrapy.org/en/latest/topics/signals.html). There are also [exceptions](https://docs.scrapy.org/en/latest/topics/exceptions.html) like `IgnoreRequest`, which can be raised by Scheduler or any downloader middleware to indicate that the request should be ignored. Similarly, a spider callback can raise' CloseSpider' to close the spider. + +Scrapy has built-in support for retrying failed requests. You can configure the retry policy (e.g., the number of retries, retrying on particular HTTP codes) via settings such as `RETRY_TIMES`, as shown in the example: + +```py title="settings.py" +RETRY_ENABLED = True +RETRY_TIMES = 2 # Number of retry attempts +RETRY_HTTP_CODES = [500, 502, 503, 504, 522, 524] # HTTP error codes to retry +``` + +In Crawlee, you can also set up a custom error handler. For retries, `maxRequestRetries` controls how often Crawlee will retry a request before marking it as failed. To set it up, you just need to add the following line of code in your crawler. + +```js title="crawler.js" +const crawler = new CheerioCrawler({ + maxRequestRetries: 3 // Crawler will retry three times. + // ... +}) +``` + +There is also `noRetry`. If set to `true` then the request will not be automatically tried. + +Crawlee also provides a built-in [logging mechanism](https://crawlee.dev/api/core/class/Log) via `log`, allowing you to log warnings, errors, and other information effectively. + +### Deployment using Docker + +Scrapy can be containerized using Docker, though it typically requires manual setup to create Dockerfiles and configure environments. While Crawlee includes [ready-to-use Docker configurations](https://crawlee.dev/docs/guides/docker-images), making deployment straightforward across various environments without additional configuration. + +## Community + +Both projects are open source. Scrapy benefits from a large and well-established community. It has been around since 2008 and has attracted a lot of attention among developers, particularly those in the Python ecosystem. + +Crawlee started its journey as Apify SDK in 2018. It now has more than [12K stars on GitHub](https://github.com/apify/crawlee), a community of more than 7,000 developers in its [Discord Community](https://apify.com/discord), and is used by the TypeScript and JavaScript community. + +## So which is better - Scrapy or Crawlee? + +Both frameworks can handle a wide range of scraping tasks, and the best choice will depend on specific technical needs like language preference, project requirements, ease of use, etc. + +If you are comfortable with Python and want to work only with it, go with Scrapy. It has very detailed documentation, and it is one of the oldest and most stable libraries in the space. + +But if you want to explore or are comfortable working with TypeScript or JavaScript, our recommendation is Crawlee. With all the valuable features like a single interface for HTTP requests and headless browsing, making it work well with JavaScript rendered websites, autoscaling and fingerprint support, it is the best choice for scraping websites that can be complex, resource intensive, using JavaScript, or even have blocking methods. + +As promised, this is just the first of the many articles comparing Scrapy and Crawlee. With the upcoming articles, you will learn more about every technical detail. + +Meanwhile, if you want to learn more about Crawlee, read our [introduction to Crawlee](https://crawlee.dev/docs/introduction) or Apify's [Crawlee web scraping tutorial](https://blog.apify.com/crawlee-web-scraping-tutorial/). diff --git a/website/package.json b/website/package.json index f87724625eaa..a80e3c5458a3 100644 --- a/website/package.json +++ b/website/package.json @@ -16,8 +16,8 @@ "devDependencies": { "@apify/eslint-config-ts": "^0.4.0", "@apify/tsconfig": "^0.1.0", - "@docusaurus/module-type-aliases": "3.2.1", - "@docusaurus/types": "3.2.1", + "@docusaurus/module-type-aliases": "3.3.2", + "@docusaurus/types": "3.3.2", "@types/react": "^18.0.28", "@typescript-eslint/eslint-plugin": "^7.0.0", "@typescript-eslint/parser": "^7.0.0", @@ -32,10 +32,10 @@ }, "dependencies": { "@apify/utilities": "^2.8.0", - "@docusaurus/core": "3.2.1", - "@docusaurus/mdx-loader": "3.2.1", - "@docusaurus/plugin-client-redirects": "3.2.1", - "@docusaurus/preset-classic": "3.2.1", + "@docusaurus/core": "3.3.2", + "@docusaurus/mdx-loader": "3.3.2", + "@docusaurus/plugin-client-redirects": "3.3.2", + "@docusaurus/preset-classic": "3.3.2", "@giscus/react": "^3.0.0", "@mdx-js/react": "^3.0.1", "axios": "^1.5.0", @@ -54,5 +54,5 @@ "stream-browserify": "^3.0.0", "unist-util-visit": "^5.0.0" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.2.2" } diff --git a/website/src/components/Gradients.jsx b/website/src/components/Gradients.jsx new file mode 100644 index 000000000000..1c63f540fe27 --- /dev/null +++ b/website/src/components/Gradients.jsx @@ -0,0 +1,46 @@ +import React from 'react'; + +export default function Gradients() { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/website/src/components/Highlights.jsx b/website/src/components/Highlights.jsx index 00177fdf5c65..6c561f04446f 100644 --- a/website/src/components/Highlights.jsx +++ b/website/src/components/Highlights.jsx @@ -1,6 +1,7 @@ import React from 'react'; import clsx from 'clsx'; import styles from './Highlights.module.css'; +import Gradients from './Gradients'; const FeatureList = [ { @@ -10,7 +11,7 @@ const FeatureList = [ <> We believe websites are best scraped in the language they're written in. Crawlee runs on Node.js and it's built in TypeScript to improve code completion in your IDE, - even if you don't use TypeScript yourself. + even if you don't use TypeScript yourself. Crawlee supports both TypeScript and JavaScript crawling. ), }, @@ -86,10 +87,9 @@ function Feature({ Svg, title, description }) { } export default function Highlights() { - const Svg = require('../../static/img/features/gradient.svg').default; return (

- {} +
{FeatureList.map((props, idx) => ( diff --git a/website/static/img/features/gradient.svg b/website/static/img/features/gradient.svg deleted file mode 100644 index 3bbc695d749f..000000000000 --- a/website/static/img/features/gradient.svg +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/website/versioned_docs/version-3.10/api-packages.json b/website/versioned_docs/version-3.10/api-packages.json new file mode 100644 index 000000000000..836731603af7 --- /dev/null +++ b/website/versioned_docs/version-3.10/api-packages.json @@ -0,0 +1 @@ +[{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/core","packagePath":"packages/core","packageSlug":"core","packageName":"@crawlee/core","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/browser-pool","packagePath":"packages/browser-pool","packageSlug":"browser-pool","packageName":"@crawlee/browser-pool","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/basic-crawler","packagePath":"packages/basic-crawler","packageSlug":"basic-crawler","packageName":"@crawlee/basic","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/browser-crawler","packagePath":"packages/browser-crawler","packageSlug":"browser-crawler","packageName":"@crawlee/browser","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/http-crawler","packagePath":"packages/http-crawler","packageSlug":"http-crawler","packageName":"@crawlee/http","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/cheerio-crawler","packagePath":"packages/cheerio-crawler","packageSlug":"cheerio-crawler","packageName":"@crawlee/cheerio","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/puppeteer-crawler","packagePath":"packages/puppeteer-crawler","packageSlug":"puppeteer-crawler","packageName":"@crawlee/puppeteer","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/playwright-crawler","packagePath":"packages/playwright-crawler","packageSlug":"playwright-crawler","packageName":"@crawlee/playwright","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/jsdom-crawler","packagePath":"packages/jsdom-crawler","packageSlug":"jsdom-crawler","packageName":"@crawlee/jsdom","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/linkedom-crawler","packagePath":"packages/linkedom-crawler","packageSlug":"linkedom-crawler","packageName":"@crawlee/linkedom","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/memory-storage","packagePath":"packages/memory-storage","packageSlug":"memory-storage","packageName":"@crawlee/memory-storage","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/utils","packagePath":"packages/utils","packageSlug":"utils","packageName":"@crawlee/utils","packageVersion":"3.10.0"},{"entryPoints":{"index":{"label":"Index","path":"src/index.ts"}},"packageRoot":"/Users/adamek/htdocs/apify/crawlee/packages/types","packagePath":"packages/types","packageSlug":"types","packageName":"@crawlee/types","packageVersion":"3.10.0"}] \ No newline at end of file diff --git a/website/versioned_docs/version-3.10/api-typedoc.json b/website/versioned_docs/version-3.10/api-typedoc.json new file mode 100644 index 000000000000..c684a2cfa3b2 --- /dev/null +++ b/website/versioned_docs/version-3.10/api-typedoc.json @@ -0,0 +1,335371 @@ +{ + "id": 0, + "name": "@crawlee/root", + "variant": "project", + "kind": 1, + "flags": {}, + "children": [ + { + "id": 3, + "name": "basic-crawler/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 6522, + "name": "AddRequestsBatchedOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "target": 3010 + }, + { + "id": 6523, + "name": "AddRequestsBatchedResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "target": 3016 + }, + { + "id": 6401, + "name": "AutoscaledPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ], + "target": 200 + }, + { + "id": 6400, + "name": "AutoscaledPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ], + "target": 176 + }, + { + "id": 6485, + "name": "BLOCKED_STATUS_CODES", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "target": 2334 + }, + { + "id": 6406, + "name": "ClientInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ], + "target": 396 + }, + { + "id": 6410, + "name": "Configuration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ], + "target": 490 + }, + { + "id": 6409, + "name": "ConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ], + "target": 448 + }, + { + "id": 6393, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 59 + }, + { + "id": 6412, + "name": "CrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "target": 620 + }, + { + "id": 6482, + "name": "CreateSession", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "target": 2112 + }, + { + "id": 6396, + "name": "CriticalError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "target": 98 + }, + { + "id": 6498, + "name": "Dataset", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "target": 2572 + }, + { + "id": 6499, + "name": "DatasetConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "target": 2647 + }, + { + "id": 6503, + "name": "DatasetContent", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "target": 2669 + }, + { + "id": 6494, + "name": "DatasetDataOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ], + "target": 2537 + }, + { + "id": 6495, + "name": "DatasetExportOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "target": 2546 + }, + { + "id": 6497, + "name": "DatasetExportToOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "target": 2563 + }, + { + "id": 6496, + "name": "DatasetIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "target": 2553 + }, + { + "id": 6500, + "name": "DatasetMapper", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "target": 2652 + }, + { + "id": 6502, + "name": "DatasetOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ], + "target": 2665 + }, + { + "id": 6501, + "name": "DatasetReducer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "target": 2658 + }, + { + "id": 6428, + "name": "EnqueueLinksOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "target": 973 + }, + { + "id": 6429, + "name": "EnqueueStrategy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ], + "target": 990 + }, + { + "id": 6421, + "name": "ErrnoException", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "target": 873 + }, + { + "id": 6425, + "name": "ErrorSnapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ], + "target": 923 + }, + { + "id": 6423, + "name": "ErrorTracker", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ], + "target": 890 + }, + { + "id": 6422, + "name": "ErrorTrackerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ], + "target": 882 + }, + { + "id": 6450, + "name": "EventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "target": 1060 + }, + { + "id": 6448, + "name": "EventType", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ], + "target": 1053 + }, + { + "id": 6449, + "name": "EventTypeName", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "target": 1059 + }, + { + "id": 6407, + "name": "FinalStatistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ], + "target": 400 + }, + { + "id": 6471, + "name": "GetUserDataFromRequest", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "target": 1929 + }, + { + "id": 6444, + "name": "GlobInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "target": 1045 + }, + { + "id": 6443, + "name": "GlobObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "target": 1042 + }, + { + "id": 6524, + "name": "IStorage", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "target": 3019 + }, + { + "id": 6506, + "name": "KeyConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "target": 2761 + }, + { + "id": 6505, + "name": "KeyValueStore", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ], + "target": 2684 + }, + { + "id": 6509, + "name": "KeyValueStoreIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ], + "target": 2774 + }, + { + "id": 6507, + "name": "KeyValueStoreOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ], + "target": 2768 + }, + { + "id": 6451, + "name": "LocalEventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "target": 1103 + }, + { + "id": 6453, + "name": "Log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L5" + } + ], + "target": 1182 + }, + { + "id": 6455, + "name": "LogLevel", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L7" + } + ], + "target": 1252 + }, + { + "id": 6456, + "name": "Logger", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L8" + } + ], + "target": 1260 + }, + { + "id": 6457, + "name": "LoggerJson", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L9" + } + ], + "target": 1416 + }, + { + "id": 6454, + "name": "LoggerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L6" + } + ], + "target": 1244 + }, + { + "id": 6458, + "name": "LoggerText", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L10" + } + ], + "target": 1573 + }, + { + "id": 6487, + "name": "MAX_POOL_SIZE", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "target": 2336 + }, + { + "id": 6395, + "name": "NonRetryableError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "target": 77 + }, + { + "id": 6486, + "name": "PERSIST_STATE_KEY", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "target": 2335 + }, + { + "id": 6416, + "name": "PersistenceOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ], + "target": 756 + }, + { + "id": 6463, + "name": "ProxyConfiguration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ], + "target": 1756 + }, + { + "id": 6459, + "name": "ProxyConfigurationFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "target": 1735 + }, + { + "id": 6460, + "name": "ProxyConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ], + "target": 1741 + }, + { + "id": 6462, + "name": "ProxyInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ], + "target": 1748 + }, + { + "id": 6388, + "name": "PseudoUrl", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 16, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L16" + } + ], + "target": 14 + }, + { + "id": 6442, + "name": "PseudoUrlInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "target": 1041 + }, + { + "id": 6441, + "name": "PseudoUrlObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "target": 1038 + }, + { + "id": 6467, + "name": "PushErrorMessageOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ], + "target": 1885 + }, + { + "id": 6394, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 68, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 73 + }, + { + "id": 6508, + "name": "RecordOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ], + "target": 2772 + }, + { + "id": 6446, + "name": "RegExpInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "target": 1049 + }, + { + "id": 6445, + "name": "RegExpObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "target": 1046 + }, + { + "id": 6465, + "name": "Request", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "target": 1808 + }, + { + "id": 6413, + "name": "RequestHandlerResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ], + "target": 657 + }, + { + "id": 6513, + "name": "RequestList", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ], + "target": 2787 + }, + { + "id": 6512, + "name": "RequestListOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ], + "target": 2778 + }, + { + "id": 6515, + "name": "RequestListSourcesFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "target": 2886 + }, + { + "id": 6514, + "name": "RequestListState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ], + "target": 2882 + }, + { + "id": 6466, + "name": "RequestOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "target": 1867 + }, + { + "id": 6516, + "name": "RequestProvider", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "target": 2889 + }, + { + "id": 6517, + "name": "RequestProviderOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "target": 2984 + }, + { + "id": 6489, + "name": "RequestQueue", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 6, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L6" + } + ], + "target": 2431 + }, + { + "id": 6520, + "name": "RequestQueueOperationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "target": 3002 + }, + { + "id": 6518, + "name": "RequestQueueOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "target": 2989 + }, + { + "id": 6488, + "name": "RequestQueueV1", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 5, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L5" + } + ], + "target": 2337 + }, + { + "id": 6490, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2525 + }, + { + "id": 6464, + "name": "RequestState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ], + "target": 1799 + }, + { + "id": 6447, + "name": "RequestTransform", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "target": 1050 + }, + { + "id": 6411, + "name": "RestrictedCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "target": 590 + }, + { + "id": 6398, + "name": "RetryRequestError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "target": 140 + }, + { + "id": 6473, + "name": "Router", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "target": 1939 + }, + { + "id": 6470, + "name": "RouterHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "target": 1894 + }, + { + "id": 6472, + "name": "RouterRoutes", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "target": 1931 + }, + { + "id": 6481, + "name": "Session", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ], + "target": 2047 + }, + { + "id": 6399, + "name": "SessionError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "target": 158 + }, + { + "id": 6480, + "name": "SessionOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ], + "target": 2033 + }, + { + "id": 6484, + "name": "SessionPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "target": 2127 + }, + { + "id": 6483, + "name": "SessionPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ], + "target": 2118 + }, + { + "id": 6479, + "name": "SessionState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ], + "target": 2022 + }, + { + "id": 6424, + "name": "SnapshotResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ], + "target": 920 + }, + { + "id": 6403, + "name": "Snapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ], + "target": 308 + }, + { + "id": 6402, + "name": "SnapshotterOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ], + "target": 298 + }, + { + "id": 6468, + "name": "Source", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "target": 1887 + }, + { + "id": 6419, + "name": "StatisticPersistedState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "target": 832 + }, + { + "id": 6420, + "name": "StatisticState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ], + "target": 856 + }, + { + "id": 6417, + "name": "Statistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ], + "target": 758 + }, + { + "id": 6418, + "name": "StatisticsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ], + "target": 825 + }, + { + "id": 6392, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 31 + }, + { + "id": 6526, + "name": "StorageManagerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ], + "target": 3092 + }, + { + "id": 6404, + "name": "SystemInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ], + "target": 378 + }, + { + "id": 6408, + "name": "SystemStatus", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ], + "target": 411 + }, + { + "id": 6405, + "name": "SystemStatusOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ], + "target": 388 + }, + { + "id": 6461, + "name": "TieredProxy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ], + "target": 1745 + }, + { + "id": 6440, + "name": "UrlPatternObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "target": 1034 + }, + { + "id": 6530, + "name": "UseStateOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ], + "target": 3111 + }, + { + "id": 6536, + "name": "checkStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "target": 3119 + }, + { + "id": 6426, + "name": "enqueueLinks", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "target": 950 + }, + { + "id": 6437, + "name": "filterRequestsByPatterns", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "target": 1022 + }, + { + "id": 6452, + "name": "log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L4" + } + ], + "target": 1181 + }, + { + "id": 6527, + "name": "purgeDefaultStorages", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "target": 3096 + }, + { + "id": 6439, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 10, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L10" + } + ], + "target": 1030 + }, + { + "id": 6528, + "name": "useState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "target": 3102 + }, + { + "id": 6537, + "name": "withCheckedStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "target": 3121 + }, + { + "id": 6657, + "name": "BasicCrawler", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a simple framework for parallel crawling of web pages.\nThe URLs to crawl are fed either from a static list of URLs\nor from a dynamic queue of URLs enabling recursive crawling of websites.\n\n" + }, + { + "kind": "code", + "text": "`BasicCrawler`" + }, + { + "kind": "text", + "text": " is a low-level tool that requires the user to implement the page\ndownload and data extraction functionality themselves.\nIf we want a crawler that already facilitates this functionality,\nwe should consider using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "`BasicCrawler`" + }, + { + "kind": "text", + "text": " invokes the user-provided " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "\nfor each " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object, which represents a single URL to crawl.\nThe " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects are fed from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ninstances provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestList|`requestList`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestQueue|`requestQueue`" + }, + { + "kind": "text", + "text": "\nconstructor options, respectively. If neither " + }, + { + "kind": "code", + "text": "`requestList`" + }, + { + "kind": "text", + "text": " nor " + }, + { + "kind": "code", + "text": "`requestQueue`" + }, + { + "kind": "text", + "text": " options are provided,\nthe crawler will open the default request queue either when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called,\nor if " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter (representing the initial requests) of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function is provided.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestList|`requestList`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestQueue|`requestQueue`" + }, + { + "kind": "text", + "text": " options are used,\nthe instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them\nto the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes if there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\nNew requests are only dispatched when there is enough free CPU and memory available,\nusing the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\nAll " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.autoscaledPoolOptions|`autoscaledPoolOptions`" + }, + { + "kind": "text", + "text": "\nparameter of the " + }, + { + "kind": "code", + "text": "`BasicCrawler`" + }, + { + "kind": "text", + "text": " constructor.\nFor user convenience, the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " options of the\nunderlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor are available directly in the " + }, + { + "kind": "code", + "text": "`BasicCrawler`" + }, + { + "kind": "text", + "text": " constructor.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nimport { BasicCrawler, Dataset } from 'crawlee';\n\n// Create a crawler instance\nconst crawler = new BasicCrawler({\n async requestHandler({ request, sendRequest }) {\n // 'request' contains an instance of the Request class\n // Here we simply fetch the HTML of the page and store it to a dataset\n const { body } = await sendRequest({\n url: request.url,\n method: request.method,\n body: request.payload,\n headers: request.headers,\n });\n\n await Dataset.pushData({\n url: request.url,\n html: body,\n })\n },\n});\n\n// Enqueue the initial requests and run the crawler\nawait crawler.run([\n 'http://www.example.com/page-1',\n 'http://www.example.com/page-2',\n]);\n```" + } + ] + }, + "children": [ + { + "id": 6687, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 545, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L545" + } + ], + "signatures": [ + { + "id": 6688, + "name": "new BasicCrawler", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`BasicCrawler`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 545, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L545" + } + ], + "typeParameter": [ + { + "id": 6689, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "CrawlingContext", + "package": "@crawlee/core" + }, + "default": { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + } + ], + "parameters": [ + { + "id": 6690, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6627, + "typeArguments": [ + { + "type": "reference", + "target": 6689, + "name": "Context", + "package": "@crawlee/basic", + "qualifiedName": "BasicCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "BasicCrawlerOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + }, + { + "id": 6691, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6689, + "name": "Context", + "package": "@crawlee/basic", + "qualifiedName": "BasicCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + } + ] + }, + { + "id": 6696, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + } + }, + { + "id": 6722, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 545, + "character": 69, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L545" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + }, + { + "id": 6699, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 6693, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + } + }, + { + "id": 6694, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + }, + { + "id": 6697, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 6689, + "name": "Context", + "package": "@crawlee/basic", + "qualifiedName": "BasicCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "..." + }, + { + "id": 6698, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 6695, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + } + }, + { + "id": 6692, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + } + }, + { + "id": 6752, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 6753, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 6754, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 6755, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 6766, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 6767, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 6768, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 6769, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6770, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 6771, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 6763, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 6764, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 6765, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 6760, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 6761, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 6762, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 6746, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 6747, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 6756, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 6757, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 6758, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 6759, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 6742, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 6743, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 6744, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 6745, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 6729, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 6730, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 6731, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6732, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 6748, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 6749, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 6750, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 6751, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 6687 + ] + }, + { + "title": "Properties", + "children": [ + 6696, + 6722, + 6699, + 6693, + 6694, + 6697, + 6698, + 6695, + 6692 + ] + }, + { + "title": "Methods", + "children": [ + 6752, + 6766, + 6763, + 6760, + 6746, + 6756, + 6742, + 6729, + 6748 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 431, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L431" + } + ], + "typeParameters": [ + { + "id": 6862, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "name": "CrawlingContext", + "package": "@crawlee/core" + }, + "default": { + "type": "reference", + "target": 6550, + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 7160, + "name": "BrowserCrawler" + }, + { + "type": "reference", + "target": 7801, + "name": "HttpCrawler" + } + ] + }, + { + "id": 6627, + "name": "BasicCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 6641, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + } + }, + { + "id": 6634, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 202, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L202" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 6654, + "name": "Context", + "package": "@crawlee/basic", + "qualifiedName": "BasicCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 6652, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + } + }, + { + "id": 6635, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 212, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L212" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 6654, + "name": "Context", + "package": "@crawlee/basic", + "qualifiedName": "BasicCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 6645, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6643, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6637, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6640, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6644, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6639, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6642, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6628, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that performs the logic of the crawler. It is called for each URL to crawl.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as an argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " represents the URL to crawl.\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\nIf all the retries fail, the crawler calls the function\nprovided to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.failedRequestHandler|`failedRequestHandler`" + }, + { + "kind": "text", + "text": " parameter.\nTo make this work, we should **always**\nlet our function throw exceptions rather than catch them.\nThe exceptions are logged to the request using the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.pushErrorMessage|`Request.pushErrorMessage()`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L139" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 6654, + "name": "Context", + "package": "@crawlee/basic", + "qualifiedName": "BasicCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 6632, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6630, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + } + }, + { + "id": 6631, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + }, + { + "id": 6650, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6638, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6647, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + } + }, + { + "id": 6653, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + } + }, + { + "id": 6649, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + } + }, + { + "id": 6648, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6646, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6641, + 6634, + 6652, + 6635, + 6645, + 6643, + 6637, + 6640, + 6644, + 6639, + 6642, + 6628, + 6632, + 6630, + 6631, + 6650, + 6638, + 6647, + 6653, + 6649, + 6648, + 6646 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 121, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L121" + } + ], + "typeParameters": [ + { + "id": 6654, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "name": "CrawlingContext", + "package": "@crawlee/core" + }, + "default": { + "type": "reference", + "target": 6550, + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 7656, + "name": "HttpCrawlerOptions" + } + ] + }, + { + "id": 6550, + "name": "BasicCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 6588, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6589, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 6590, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 6591, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 6592, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 6594, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 6593, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6594, + 6593 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 6595, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 641, + "name": "CrawlingContext.addRequests" + } + }, + { + "id": 6574, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 624, + "name": "CrawlingContext.crawler" + } + }, + { + "id": 6575, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6576, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 6577, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 6578, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 628, + "name": "CrawlingContext.getKeyValueStore" + } + }, + { + "id": 6571, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 621, + "name": "CrawlingContext.id" + } + }, + { + "id": 6601, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": 654, + "name": "CrawlingContext.log" + } + }, + { + "id": 6573, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 623, + "name": "CrawlingContext.proxyInfo" + } + }, + { + "id": 6583, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 6602, + "name": "UserData", + "package": "@crawlee/basic", + "qualifiedName": "BasicCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 636, + "name": "CrawlingContext.request" + } + }, + { + "id": 6572, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 622, + "name": "CrawlingContext.session" + } + }, + { + "id": 6596, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6597, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 6598, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 6599, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 6600, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 649, + "name": "CrawlingContext.useState" + } + }, + { + "id": 6551, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L88" + } + ], + "signatures": [ + { + "id": 6552, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n urls: [...],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L88" + } + ], + "parameters": [ + { + "id": 6553, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 6554, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 6561, + "name": "baseUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A base URL that will be used to resolve relative URLs when using Cheerio. Ignored when using Puppeteer,\nsince the relative URL resolution is done inside the browser automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6563, + "name": "exclude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings, regexp patterns or plain objects\ncontaining patterns matching URLs that will **never** be enqueued.\n\nThe plain objects must include either the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property or the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nGlob matching is always case-insensitive.\nIf you need case-sensitive matching, provide a regexp." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 75, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L75" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + ] + } + } + } + }, + { + "id": 6568, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L756" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6562, + "name": "globs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings or plain objects\ncontaining glob pattern strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property, which holds the glob pattern string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nThe matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " are also not defined, then the function\nenqueues the links with the same subdomain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L63" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 6559, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.label" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L36" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6555, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Limit the amount of actually enqueued URLs to this number. Useful for testing across the entire crawling scope." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L21" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6565, + "name": "pseudoUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "*NOTE:* In future versions of SDK the options will be removed.\nPlease use " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead.\n\nAn array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings or plain objects\ncontaining " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`purl`" + }, + { + "kind": "text", + "text": " property, which holds the pseudo-URL string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nWith a pseudo-URL string, the matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues the links with the same subdomain." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "prefer using " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 107, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L107" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1041, + "name": "PseudoUrlInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 6564, + "name": "regexps", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of regular expressions or plain objects\ncontaining regular expressions matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property, which holds the regular expression.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nIf " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " are also not defined, then the function\nenqueues the links with the same subdomain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L87" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 6556, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A request queue to which the URLs will be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L27" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + }, + { + "id": 6557, + "name": "selector", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A CSS selector matching links to be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L30" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6560, + "name": "skipNavigation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", tells the crawler to skip navigation and process the request directly." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 42, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6567, + "name": "strategy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The strategy to use when enqueueing the urls.\n\nDepending on the strategy you select, we will only check certain parts of the URLs found. Here is a diagram of each URL part and their name:\n\n" + }, + { + "kind": "code", + "text": "```md\nProtocol Domain\n┌────┐ ┌─────────┐\nhttps://example.crawlee.dev/...\n│ └─────────────────┤\n│ Hostname │\n│ │\n└─────────────────────────┘\n Origin\n```" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nEnqueueStrategy.SameHostname\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 153, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L153" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 990, + "name": "EnqueueStrategy", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "all" + }, + { + "type": "literal", + "value": "same-domain" + }, + { + "type": "literal", + "value": "same-hostname" + }, + { + "type": "literal", + "value": "same-origin" + } + ] + } + }, + { + "id": 6566, + "name": "transformRequestFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Just before a new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " is constructed and enqueued to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ", this function can be used\nto remove it or modify its contents such as " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`payload`" + }, + { + "kind": "text", + "text": " or, most importantly " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": ". This is useful\nwhen you need to enqueue multiple " + }, + { + "kind": "code", + "text": "`Requests`" + }, + { + "kind": "text", + "text": " to the queue that share the same URL, but differ in methods or payloads,\nor to dynamically update or create " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ".\n\nFor example: by adding " + }, + { + "kind": "code", + "text": "`keepUrlFragment: true`" + }, + { + "kind": "text", + "text": " to the " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " object, URL fragments will not be removed\nwhen " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is computed.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```javascript\n{\n transformRequestFunction: (request) => {\n request.userData.foo = 'bar';\n request.keepUrlFragment = true;\n return request;\n }\n}\n```" + }, + { + "kind": "text", + "text": "\n\nNote that " + }, + { + "kind": "code", + "text": "`transformRequestFunction`" + }, + { + "kind": "text", + "text": " has a priority over request options\nspecified in " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " objects,\nand thus some options could be over-written by " + }, + { + "kind": "code", + "text": "`transformRequestFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 133, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L133" + } + ], + "type": { + "type": "reference", + "target": 1050, + "name": "RequestTransform", + "package": "@crawlee/core" + } + }, + { + "id": 6570, + "name": "urls", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of URLs to enqueue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 24, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L24" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + }, + { + "id": 6558, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.userData" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L33" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6561, + 6563, + 6568, + 6562, + 6559, + 6555, + 6565, + 6564, + 6556, + 6557, + 6560, + 6567, + 6566, + 6570, + 6558 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/type-fest/source/simplify.d.ts", + "line": 58, + "character": 26 + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 626, + "name": "CrawlingContext.enqueueLinks" + } + } + ], + "overwrites": { + "type": "reference", + "target": 625, + "name": "CrawlingContext.enqueueLinks" + } + }, + { + "id": 6584, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 6585, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 6586, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 6587, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 638, + "name": "CrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 637, + "name": "CrawlingContext.pushData" + } + }, + { + "id": 6579, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 6580, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 6581, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 6582, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 633, + "name": "CrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 632, + "name": "CrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6588, + 6574, + 6575, + 6571, + 6601, + 6573, + 6583, + 6572, + 6596 + ] + }, + { + "title": "Methods", + "children": [ + 6551, + 6584, + 6579 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 62, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L62" + } + ], + "typeParameters": [ + { + "id": 6602, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 620, + "typeArguments": [ + { + "type": "reference", + "target": 6657, + "name": "BasicCrawler", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6602, + "name": "UserData", + "package": "@crawlee/basic", + "qualifiedName": "BasicCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "CrawlingContext", + "package": "@crawlee/core" + } + ] + }, + { + "id": 6867, + "name": "CrawlerAddRequestsOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 6869, + "name": "batchSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 782, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L782" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3012, + "name": "AddRequestsBatchedOptions.batchSize" + } + }, + { + "id": 6871, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L756" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 3014, + "name": "AddRequestsBatchedOptions.forefront" + } + }, + { + "id": 6870, + "name": "waitBetweenBatchesMillis", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 787, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L787" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3013, + "name": "AddRequestsBatchedOptions.waitBetweenBatchesMillis" + } + }, + { + "id": 6868, + "name": "waitForAllRequestsToBeAdded", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to wait for all the provided requests to be added, instead of waiting just for the initial batch of up to " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 777, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L777" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 3011, + "name": "AddRequestsBatchedOptions.waitForAllRequestsToBeAdded" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6869, + 6871, + 6870, + 6868 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1643, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1643" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 3010, + "name": "AddRequestsBatchedOptions", + "package": "@crawlee/core" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions" + } + ] + }, + { + "id": 6873, + "name": "CrawlerAddRequestsResult", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 6874, + "name": "addedRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 791, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L791" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13690, + "name": "ProcessedRequest", + "package": "@crawlee/types" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 3017, + "name": "AddRequestsBatchedResult.addedRequests" + } + }, + { + "id": 6875, + "name": "waitForAllRequestsToBeAdded", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A promise which will resolve with the rest of the requests that were added to the queue.\n\nAlternatively, we can set " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AddRequestsBatchedOptions.waitForAllRequestsToBeAdded|`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "\nin the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " options.\n\n**Example:**\n\n" + }, + { + "kind": "code", + "text": "```ts\n// Assuming `requests` is a list of requests.\nconst result = await crawler.addRequests(requests);\n\n// If we want to wait for the rest of the requests to be added to the queue:\nawait result.waitForAllRequestsToBeAdded;\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 808, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L808" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 13690, + "name": "ProcessedRequest", + "package": "@crawlee/types" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3018, + "name": "AddRequestsBatchedResult.waitForAllRequestsToBeAdded" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6874, + 6875 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1645, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1645" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 3016, + "name": "AddRequestsBatchedResult", + "package": "@crawlee/core" + } + ] + }, + { + "id": 6655, + "name": "CrawlerExperiments", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A set of options that you can toggle to enable experimental features in Crawlee.\n\nNOTE: These options will not respect semantic versioning and may be removed or changed at any time. Use at your own risk.\nIf you do use these and encounter issues, please report them to us." + } + ] + }, + "children": [ + { + "id": 6656, + "name": "requestLocking", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "This experiment is now enabled by default, and this flag will be removed in a future release.\nIf you encounter issues due to this change, please:\n- report it to us: https://github.com/apify/crawlee\n- set " + }, + { + "kind": "code", + "text": "`requestLocking`" + }, + { + "kind": "text", + "text": " to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " in the " + }, + { + "kind": "code", + "text": "`experiments`" + }, + { + "kind": "text", + "text": " option of the crawler" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 364, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L364" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6656 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 357, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L357" + } + ] + }, + { + "id": 6876, + "name": "CrawlerRunOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 6879, + "name": "batchSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 782, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L782" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6869, + "name": "CrawlerAddRequestsOptions.batchSize" + } + }, + { + "id": 6881, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L756" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 6871, + "name": "CrawlerAddRequestsOptions.forefront" + } + }, + { + "id": 6877, + "name": "purgeRequestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to purge the RequestQueue before running the crawler again. Defaults to true, so it is possible to reprocess failed requests.\nWhen disabled, only new requests will be considered. Note that even a failed request is considered as handled." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1653, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1653" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6880, + "name": "waitBetweenBatchesMillis", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 787, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L787" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6870, + "name": "CrawlerAddRequestsOptions.waitBetweenBatchesMillis" + } + }, + { + "id": 6878, + "name": "waitForAllRequestsToBeAdded", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to wait for all the provided requests to be added, instead of waiting just for the initial batch of up to " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 777, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L777" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 6868, + "name": "CrawlerAddRequestsOptions.waitForAllRequestsToBeAdded" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6879, + 6881, + 6877, + 6880, + 6878 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1647, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1647" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + } + ] + }, + { + "id": 6863, + "name": "CreateContextOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 6866, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1640, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1640" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + } + }, + { + "id": 6864, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1638, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1638" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + }, + { + "id": 6865, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1639, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1639" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6866, + 6864, + 6865 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1637, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1637" + } + ] + }, + { + "id": 6614, + "name": "StatusMessageCallbackParams", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 6616, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 111, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L111" + } + ], + "type": { + "type": "reference", + "target": 6620, + "name": "Crawler", + "package": "@crawlee/basic", + "qualifiedName": "StatusMessageCallbackParams.Crawler", + "refersToTypeParameter": true + } + }, + { + "id": 6618, + "name": "message", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 113, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L113" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6617, + "name": "previousState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 112, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L112" + } + ], + "type": { + "type": "reference", + "target": 856, + "name": "StatisticState", + "package": "@crawlee/core" + } + }, + { + "id": 6615, + "name": "state", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L110" + } + ], + "type": { + "type": "reference", + "target": 856, + "name": "StatisticState", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6616, + 6618, + 6617, + 6615 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 106, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L106" + } + ], + "typeParameters": [ + { + "id": 6619, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "name": "CrawlingContext", + "package": "@crawlee/core" + }, + "default": { + "type": "reference", + "target": 6550, + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + }, + { + "id": 6620, + "name": "Crawler", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + }, + "default": { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6619, + "name": "Context", + "package": "@crawlee/basic", + "qualifiedName": "StatusMessageCallbackParams.Context", + "refersToTypeParameter": true + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + } + ] + }, + { + "id": 6608, + "name": "ErrorHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "typeParameters": [ + { + "id": 6613, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "name": "CrawlingContext", + "package": "@crawlee/core" + }, + "default": { + "type": "reference", + "target": 6550, + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6609, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 83, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "signatures": [ + { + "id": 6610, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 6611, + "name": "inputs", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6613, + "name": "Context", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + }, + { + "id": 6612, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ] + } + } + }, + { + "id": 6603, + "name": "RequestHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "typeParameters": [ + { + "id": 6607, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "name": "CrawlingContext", + "package": "@crawlee/core" + }, + "default": { + "type": "reference", + "target": 6550, + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6604, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 85, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "signatures": [ + { + "id": 6605, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 6606, + "name": "inputs", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6607, + "name": "Context", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ] + } + } + }, + { + "id": 6621, + "name": "StatusMessageCallback", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 116, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L116" + } + ], + "typeParameters": [ + { + "id": 6625, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "name": "CrawlingContext", + "package": "@crawlee/core" + }, + "default": { + "type": "reference", + "target": 6550, + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + }, + { + "id": 6626, + "name": "Crawler", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + }, + "default": { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6625, + "name": "Context", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6622, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 119, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L119" + } + ], + "signatures": [ + { + "id": 6623, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 6624, + "name": "params", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6614, + "typeArguments": [ + { + "type": "reference", + "target": 6625, + "name": "Context", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 6626, + "name": "Crawler", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "StatusMessageCallbackParams", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ] + } + } + }, + { + "id": 6883, + "name": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Additional number of seconds used in " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawler" + }, + { + "kind": "text", + "text": " to set a reasonable\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandlerTimeoutSecs|`requestHandlerTimeoutSecs`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler" + }, + { + "kind": "text", + "text": "\nthat would not impare functionality (not timeout before crawlers)." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/constants.ts", + "line": 6, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/constants.ts#L6" + } + ], + "type": { + "type": "literal", + "value": 10 + }, + "defaultValue": "10" + }, + { + "id": 6545, + "name": "createBasicRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "signatures": [ + { + "id": 6546, + "name": "createBasicRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that works based on request labels.\nThis instance can then serve as a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " of our " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler" + }, + { + "kind": "text", + "text": ".\nDefaults to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": ".\n\n> Serves as a shortcut for using " + }, + { + "kind": "code", + "text": "`Router.create()`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { BasicCrawler, createBasicRouter } from 'crawlee';\n\nconst router = createBasicRouter();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new BasicCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "typeParameter": [ + { + "id": 6547, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + "default": { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + }, + { + "id": 6548, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 6547, + "name": "Context", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 6549, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 6547, + "name": "Context", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 6548, + "name": "UserData", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 6547, + "name": "Context", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 6522, + 6523, + 6401, + 6400, + 6485, + 6406, + 6410, + 6409, + 6393, + 6412, + 6482, + 6396, + 6498, + 6499, + 6503, + 6494, + 6495, + 6497, + 6496, + 6500, + 6502, + 6501, + 6428, + 6429, + 6421, + 6425, + 6423, + 6422, + 6450, + 6448, + 6449, + 6407, + 6471, + 6444, + 6443, + 6524, + 6506, + 6505, + 6509, + 6507, + 6451, + 6453, + 6455, + 6456, + 6457, + 6454, + 6458, + 6487, + 6395, + 6486, + 6416, + 6463, + 6459, + 6460, + 6462, + 6388, + 6442, + 6441, + 6467, + 6394, + 6508, + 6446, + 6445, + 6465, + 6413, + 6513, + 6512, + 6515, + 6514, + 6466, + 6516, + 6517, + 6489, + 6520, + 6518, + 6488, + 6490, + 6464, + 6447, + 6411, + 6398, + 6473, + 6470, + 6472, + 6481, + 6399, + 6480, + 6484, + 6483, + 6479, + 6424, + 6403, + 6402, + 6468, + 6419, + 6420, + 6417, + 6418, + 6392, + 6526, + 6404, + 6408, + 6405, + 6461, + 6440, + 6530, + 6536, + 6426, + 6437, + 6452, + 6527, + 6439, + 6528, + 6537 + ] + }, + { + "title": "Classes", + "children": [ + 6657 + ] + }, + { + "title": "Interfaces", + "children": [ + 6627, + 6550, + 6867, + 6873, + 6655, + 6876, + 6863, + 6614 + ] + }, + { + "title": "Type Aliases", + "children": [ + 6608, + 6603, + 6621 + ] + }, + { + "title": "Variables", + "children": [ + 6883 + ] + }, + { + "title": "Functions", + "children": [ + 6545 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 6657 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 6522, + 6523, + 6401, + 6400, + 6485, + 6406, + 6410, + 6409, + 6393, + 6412, + 6482, + 6396, + 6498, + 6499, + 6503, + 6494, + 6495, + 6497, + 6496, + 6500, + 6502, + 6501, + 6428, + 6429, + 6421, + 6425, + 6423, + 6422, + 6450, + 6448, + 6449, + 6407, + 6471, + 6444, + 6443, + 6524, + 6506, + 6505, + 6509, + 6507, + 6451, + 6453, + 6455, + 6456, + 6457, + 6454, + 6458, + 6487, + 6395, + 6486, + 6416, + 6463, + 6459, + 6460, + 6462, + 6388, + 6442, + 6441, + 6467, + 6394, + 6508, + 6446, + 6445, + 6465, + 6413, + 6513, + 6512, + 6515, + 6514, + 6466, + 6516, + 6517, + 6489, + 6520, + 6518, + 6488, + 6490, + 6464, + 6447, + 6411, + 6398, + 6473, + 6470, + 6472, + 6481, + 6399, + 6480, + 6484, + 6483, + 6479, + 6424, + 6403, + 6402, + 6468, + 6419, + 6420, + 6417, + 6418, + 6392, + 6526, + 6404, + 6408, + 6405, + 6461, + 6440, + 6530, + 6536, + 6426, + 6437, + 6452, + 6527, + 6439, + 6528, + 6537, + 6627, + 6550, + 6867, + 6873, + 6655, + 6876, + 6863, + 6614, + 6608, + 6603, + 6621, + 6883, + 6545 + ] + } + ], + "sources": [ + { + "fileName": "packages/basic-crawler/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/index.ts#L1" + } + ] + }, + { + "id": 4, + "name": "browser-crawler/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 7018, + "name": "AddRequestsBatchedOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "target": 3010 + }, + { + "id": 7019, + "name": "AddRequestsBatchedResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "target": 3016 + }, + { + "id": 6897, + "name": "AutoscaledPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ], + "target": 200 + }, + { + "id": 6896, + "name": "AutoscaledPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ], + "target": 176 + }, + { + "id": 7054, + "name": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/constants.ts", + "line": 6, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/constants.ts#L6" + } + ], + "target": 6883 + }, + { + "id": 6981, + "name": "BLOCKED_STATUS_CODES", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "target": 2334 + }, + { + "id": 7049, + "name": "BasicCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 431, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L431" + } + ], + "target": 6657 + }, + { + "id": 7047, + "name": "BasicCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 121, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L121" + } + ], + "target": 6627 + }, + { + "id": 7042, + "name": "BasicCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 62, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L62" + } + ], + "target": 6550 + }, + { + "id": 6902, + "name": "ClientInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ], + "target": 396 + }, + { + "id": 6906, + "name": "Configuration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ], + "target": 490 + }, + { + "id": 6905, + "name": "ConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ], + "target": 448 + }, + { + "id": 6889, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 59 + }, + { + "id": 7051, + "name": "CrawlerAddRequestsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1643, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1643" + } + ], + "target": 6867 + }, + { + "id": 7052, + "name": "CrawlerAddRequestsResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1645, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1645" + } + ], + "target": 6873 + }, + { + "id": 7048, + "name": "CrawlerExperiments", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 357, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L357" + } + ], + "target": 6655 + }, + { + "id": 7053, + "name": "CrawlerRunOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1647, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1647" + } + ], + "target": 6876 + }, + { + "id": 6908, + "name": "CrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "target": 620 + }, + { + "id": 7050, + "name": "CreateContextOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1637, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1637" + } + ], + "target": 6863 + }, + { + "id": 6978, + "name": "CreateSession", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "target": 2112 + }, + { + "id": 6892, + "name": "CriticalError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "target": 98 + }, + { + "id": 6994, + "name": "Dataset", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "target": 2572 + }, + { + "id": 6995, + "name": "DatasetConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "target": 2647 + }, + { + "id": 6999, + "name": "DatasetContent", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "target": 2669 + }, + { + "id": 6990, + "name": "DatasetDataOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ], + "target": 2537 + }, + { + "id": 6991, + "name": "DatasetExportOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "target": 2546 + }, + { + "id": 6993, + "name": "DatasetExportToOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "target": 2563 + }, + { + "id": 6992, + "name": "DatasetIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "target": 2553 + }, + { + "id": 6996, + "name": "DatasetMapper", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "target": 2652 + }, + { + "id": 6998, + "name": "DatasetOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ], + "target": 2665 + }, + { + "id": 6997, + "name": "DatasetReducer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "target": 2658 + }, + { + "id": 6924, + "name": "EnqueueLinksOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "target": 973 + }, + { + "id": 6925, + "name": "EnqueueStrategy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ], + "target": 990 + }, + { + "id": 6917, + "name": "ErrnoException", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "target": 873 + }, + { + "id": 7044, + "name": "ErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "target": 6608 + }, + { + "id": 6921, + "name": "ErrorSnapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ], + "target": 923 + }, + { + "id": 6919, + "name": "ErrorTracker", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ], + "target": 890 + }, + { + "id": 6918, + "name": "ErrorTrackerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ], + "target": 882 + }, + { + "id": 6946, + "name": "EventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "target": 1060 + }, + { + "id": 6944, + "name": "EventType", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ], + "target": 1053 + }, + { + "id": 6945, + "name": "EventTypeName", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "target": 1059 + }, + { + "id": 6903, + "name": "FinalStatistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ], + "target": 400 + }, + { + "id": 6967, + "name": "GetUserDataFromRequest", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "target": 1929 + }, + { + "id": 6940, + "name": "GlobInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "target": 1045 + }, + { + "id": 6939, + "name": "GlobObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "target": 1042 + }, + { + "id": 7020, + "name": "IStorage", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "target": 3019 + }, + { + "id": 7002, + "name": "KeyConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "target": 2761 + }, + { + "id": 7001, + "name": "KeyValueStore", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ], + "target": 2684 + }, + { + "id": 7005, + "name": "KeyValueStoreIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ], + "target": 2774 + }, + { + "id": 7003, + "name": "KeyValueStoreOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ], + "target": 2768 + }, + { + "id": 6947, + "name": "LocalEventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "target": 1103 + }, + { + "id": 6949, + "name": "Log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L5" + } + ], + "target": 1182 + }, + { + "id": 6951, + "name": "LogLevel", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L7" + } + ], + "target": 1252 + }, + { + "id": 6952, + "name": "Logger", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L8" + } + ], + "target": 1260 + }, + { + "id": 6953, + "name": "LoggerJson", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L9" + } + ], + "target": 1416 + }, + { + "id": 6950, + "name": "LoggerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L6" + } + ], + "target": 1244 + }, + { + "id": 6954, + "name": "LoggerText", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L10" + } + ], + "target": 1573 + }, + { + "id": 6983, + "name": "MAX_POOL_SIZE", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "target": 2336 + }, + { + "id": 6891, + "name": "NonRetryableError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "target": 77 + }, + { + "id": 6982, + "name": "PERSIST_STATE_KEY", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "target": 2335 + }, + { + "id": 6912, + "name": "PersistenceOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ], + "target": 756 + }, + { + "id": 6959, + "name": "ProxyConfiguration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ], + "target": 1756 + }, + { + "id": 6955, + "name": "ProxyConfigurationFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "target": 1735 + }, + { + "id": 6956, + "name": "ProxyConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ], + "target": 1741 + }, + { + "id": 6958, + "name": "ProxyInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ], + "target": 1748 + }, + { + "id": 6884, + "name": "PseudoUrl", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 16, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L16" + } + ], + "target": 14 + }, + { + "id": 6938, + "name": "PseudoUrlInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "target": 1041 + }, + { + "id": 6937, + "name": "PseudoUrlObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "target": 1038 + }, + { + "id": 6963, + "name": "PushErrorMessageOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ], + "target": 1885 + }, + { + "id": 6890, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 68, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 73 + }, + { + "id": 7004, + "name": "RecordOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ], + "target": 2772 + }, + { + "id": 6942, + "name": "RegExpInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "target": 1049 + }, + { + "id": 6941, + "name": "RegExpObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "target": 1046 + }, + { + "id": 6961, + "name": "Request", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "target": 1808 + }, + { + "id": 7043, + "name": "RequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "target": 6603 + }, + { + "id": 6909, + "name": "RequestHandlerResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ], + "target": 657 + }, + { + "id": 7009, + "name": "RequestList", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ], + "target": 2787 + }, + { + "id": 7008, + "name": "RequestListOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ], + "target": 2778 + }, + { + "id": 7011, + "name": "RequestListSourcesFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "target": 2886 + }, + { + "id": 7010, + "name": "RequestListState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ], + "target": 2882 + }, + { + "id": 6962, + "name": "RequestOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "target": 1867 + }, + { + "id": 7012, + "name": "RequestProvider", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "target": 2889 + }, + { + "id": 7013, + "name": "RequestProviderOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "target": 2984 + }, + { + "id": 6985, + "name": "RequestQueue", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 6, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L6" + } + ], + "target": 2431 + }, + { + "id": 7016, + "name": "RequestQueueOperationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "target": 3002 + }, + { + "id": 7014, + "name": "RequestQueueOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "target": 2989 + }, + { + "id": 6984, + "name": "RequestQueueV1", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 5, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L5" + } + ], + "target": 2337 + }, + { + "id": 6986, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2525 + }, + { + "id": 6960, + "name": "RequestState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ], + "target": 1799 + }, + { + "id": 6943, + "name": "RequestTransform", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "target": 1050 + }, + { + "id": 6907, + "name": "RestrictedCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "target": 590 + }, + { + "id": 6894, + "name": "RetryRequestError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "target": 140 + }, + { + "id": 6969, + "name": "Router", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "target": 1939 + }, + { + "id": 6966, + "name": "RouterHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "target": 1894 + }, + { + "id": 6968, + "name": "RouterRoutes", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "target": 1931 + }, + { + "id": 6977, + "name": "Session", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ], + "target": 2047 + }, + { + "id": 6895, + "name": "SessionError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "target": 158 + }, + { + "id": 6976, + "name": "SessionOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ], + "target": 2033 + }, + { + "id": 6980, + "name": "SessionPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "target": 2127 + }, + { + "id": 6979, + "name": "SessionPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ], + "target": 2118 + }, + { + "id": 6975, + "name": "SessionState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ], + "target": 2022 + }, + { + "id": 6920, + "name": "SnapshotResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ], + "target": 920 + }, + { + "id": 6899, + "name": "Snapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ], + "target": 308 + }, + { + "id": 6898, + "name": "SnapshotterOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ], + "target": 298 + }, + { + "id": 6964, + "name": "Source", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "target": 1887 + }, + { + "id": 6915, + "name": "StatisticPersistedState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "target": 832 + }, + { + "id": 6916, + "name": "StatisticState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ], + "target": 856 + }, + { + "id": 6913, + "name": "Statistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ], + "target": 758 + }, + { + "id": 6914, + "name": "StatisticsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ], + "target": 825 + }, + { + "id": 7046, + "name": "StatusMessageCallback", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 116, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L116" + } + ], + "target": 6621 + }, + { + "id": 7045, + "name": "StatusMessageCallbackParams", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 106, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L106" + } + ], + "target": 6614 + }, + { + "id": 6888, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 31 + }, + { + "id": 7022, + "name": "StorageManagerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ], + "target": 3092 + }, + { + "id": 6900, + "name": "SystemInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ], + "target": 378 + }, + { + "id": 6904, + "name": "SystemStatus", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ], + "target": 411 + }, + { + "id": 6901, + "name": "SystemStatusOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ], + "target": 388 + }, + { + "id": 6957, + "name": "TieredProxy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ], + "target": 1745 + }, + { + "id": 6936, + "name": "UrlPatternObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "target": 1034 + }, + { + "id": 7026, + "name": "UseStateOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ], + "target": 3111 + }, + { + "id": 7032, + "name": "checkStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "target": 3119 + }, + { + "id": 7041, + "name": "createBasicRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "target": 6545 + }, + { + "id": 6922, + "name": "enqueueLinks", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "target": 950 + }, + { + "id": 6933, + "name": "filterRequestsByPatterns", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "target": 1022 + }, + { + "id": 6948, + "name": "log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L4" + } + ], + "target": 1181 + }, + { + "id": 7023, + "name": "purgeDefaultStorages", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "target": 3096 + }, + { + "id": 6935, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 10, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L10" + } + ], + "target": 1030 + }, + { + "id": 7024, + "name": "useState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "target": 3102 + }, + { + "id": 7033, + "name": "withCheckedStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "target": 3121 + }, + { + "id": 7160, + "name": "BrowserCrawler", + "variant": "declaration", + "kind": 128, + "flags": { + "isAbstract": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a simple framework for parallel crawling of web pages\nusing headless browsers with [Puppeteer](https://github.com/puppeteer/puppeteer)\nand [Playwright](https://github.com/microsoft/playwright).\nThe URLs to crawl are fed either from a static list of URLs\nor from a dynamic queue of URLs enabling recursive crawling of websites.\n\nSince " + }, + { + "kind": "code", + "text": "`BrowserCrawler`" + }, + { + "kind": "text", + "text": " uses headless (or even headful) browsers to download web pages and extract data,\nit is useful for crawling of websites that require to execute JavaScript.\nIf the target website doesn't need JavaScript, we should consider using the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ",\nwhich downloads the pages using raw HTTP requests and is about 10x faster.\n\nThe source URLs are represented by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects that are fed from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instances\nprovided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.requestList|`requestList`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.requestQueue|`requestQueue`" + }, + { + "kind": "text", + "text": "\nconstructor options, respectively. If neither " + }, + { + "kind": "code", + "text": "`requestList`" + }, + { + "kind": "text", + "text": " nor " + }, + { + "kind": "code", + "text": "`requestQueue`" + }, + { + "kind": "text", + "text": " options are provided,\nthe crawler will open the default request queue either when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called,\nor if " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter (representing the initial requests) of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function is provided.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.requestList|`requestList`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.requestQueue|`requestQueue`" + }, + { + "kind": "text", + "text": " options are used,\nthe instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them\nto the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes when there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\n" + }, + { + "kind": "code", + "text": "`BrowserCrawler`" + }, + { + "kind": "text", + "text": " opens a new browser page (i.e. tab or window) for each " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object to crawl\nand then calls the function provided by user as the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " option.\n\nNew pages are only opened when there is enough free CPU and memory available,\nusing the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\nAll " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.autoscaledPoolOptions|`autoscaledPoolOptions`" + }, + { + "kind": "text", + "text": "\nparameter of the " + }, + { + "kind": "code", + "text": "`BrowserCrawler`" + }, + { + "kind": "text", + "text": " constructor.\nFor user convenience, the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " options of the\nunderlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor are available directly in the " + }, + { + "kind": "code", + "text": "`BrowserCrawler`" + }, + { + "kind": "text", + "text": " constructor.\n\n> *NOTE:* the pool of browser instances is internally managed by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "children": [ + { + "id": 7271, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6696, + "name": "BasicCrawler.autoscaledPool" + } + }, + { + "id": 7208, + "name": "browserPool", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's browsers." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 317, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L317" + } + ], + "type": { + "type": "reference", + "target": 5407, + "typeArguments": [ + { + "type": "reference", + "target": 7408, + "name": "InternalBrowserPoolOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.InternalBrowserPoolOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "browserPlugins" + }, + "objectType": { + "type": "reference", + "target": 7408, + "name": "InternalBrowserPoolOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.InternalBrowserPoolOptions", + "refersToTypeParameter": true + } + }, + { + "type": "tuple" + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createController" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "browserPlugins" + }, + "objectType": { + "type": "reference", + "target": 7408, + "name": "InternalBrowserPoolOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.InternalBrowserPoolOptions", + "refersToTypeParameter": true + } + }, + { + "type": "tuple" + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createLaunchContext" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "browserPlugins" + }, + "objectType": { + "type": "reference", + "target": 7408, + "name": "InternalBrowserPoolOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.InternalBrowserPoolOptions", + "refersToTypeParameter": true + } + }, + { + "type": "tuple" + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createController" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "browserPlugins" + }, + "objectType": { + "type": "reference", + "target": 7408, + "name": "InternalBrowserPoolOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.InternalBrowserPoolOptions", + "refersToTypeParameter": true + } + }, + { + "type": "tuple" + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + } + ], + "name": "Parameters", + "package": "typescript" + } + }, + { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createController" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "browserPlugins" + }, + "objectType": { + "type": "reference", + "target": 7408, + "name": "InternalBrowserPoolOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.InternalBrowserPoolOptions", + "refersToTypeParameter": true + } + }, + { + "type": "tuple" + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPool", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 7216, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 348, + "character": 90, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 6722, + "name": "BasicCrawler.config" + } + }, + { + "id": 7274, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 6699, + "name": "BasicCrawler.hasFinishedBefore" + } + }, + { + "id": 7209, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 319, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L319" + } + ], + "type": { + "type": "reference", + "target": 7412, + "typeArguments": [ + { + "type": "reference", + "target": 7409, + "name": "LaunchOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.LaunchOptions", + "refersToTypeParameter": true + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "BrowserLaunchContext", + "package": "@crawlee/browser" + } + }, + { + "id": 7207, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 312, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L312" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + } + }, + { + "id": 7268, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6693, + "name": "BasicCrawler.requestList" + } + }, + { + "id": 7269, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6694, + "name": "BasicCrawler.requestQueue" + } + }, + { + "id": 7272, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 7410, + "name": "Context", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 6697, + "name": "BasicCrawler.router" + } + }, + { + "id": 7273, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 6698, + "name": "BasicCrawler.running" + } + }, + { + "id": 7270, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6695, + "name": "BasicCrawler.sessionPool" + } + }, + { + "id": 7267, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6692, + "name": "BasicCrawler.stats" + } + }, + { + "id": 7311, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 7312, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 7313, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 7314, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6753, + "name": "BasicCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6752, + "name": "BasicCrawler.addRequests" + } + }, + { + "id": 7325, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 7326, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 7327, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 7328, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 7329, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 7330, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6767, + "name": "BasicCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6766, + "name": "BasicCrawler.exportData" + } + }, + { + "id": 7322, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 7323, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 7324, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6764, + "name": "BasicCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6763, + "name": "BasicCrawler.getData" + } + }, + { + "id": 7319, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 7320, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 7321, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6761, + "name": "BasicCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6760, + "name": "BasicCrawler.getDataset" + } + }, + { + "id": 7305, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 7306, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6747, + "name": "BasicCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6746, + "name": "BasicCrawler.getRequestQueue" + } + }, + { + "id": 7315, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 7316, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 7317, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 7318, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6757, + "name": "BasicCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6756, + "name": "BasicCrawler.pushData" + } + }, + { + "id": 7301, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 7302, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 7303, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 7304, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6743, + "name": "BasicCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6742, + "name": "BasicCrawler.run" + } + }, + { + "id": 7297, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 7298, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 7299, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 7300, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6730, + "name": "BasicCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6729, + "name": "BasicCrawler.setStatusMessage" + } + }, + { + "id": 7307, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 7308, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 7309, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 7310, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6749, + "name": "BasicCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6748, + "name": "BasicCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7271, + 7208, + 7216, + 7274, + 7209, + 7207, + 7268, + 7269, + 7272, + 7273, + 7270, + 7267 + ] + }, + { + "title": "Methods", + "children": [ + 7311, + 7325, + 7322, + 7319, + 7305, + 7315, + 7301, + 7297, + 7307 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 302, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L302" + } + ], + "typeParameters": [ + { + "id": 7408, + "name": "InternalBrowserPoolOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5347, + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5347, + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 7409, + "name": "LaunchOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 7410, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + }, + "default": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + } + }, + { + "id": 7411, + "name": "GoToOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 7410, + "name": "Context", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 9612, + "name": "PuppeteerCrawler" + }, + { + "type": "reference", + "target": 10600, + "name": "PlaywrightCrawler" + } + ] + }, + { + "id": 7119, + "name": "BrowserCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 7143, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.autoscaledPoolOptions" + } + }, + { + "id": 7126, + "name": "browserPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " constructor.\nWe can tweak those to fine-tune browser management." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 189, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L189" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5347, + "typeArguments": [ + { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5397, + "typeArguments": [ + { + "type": "reference", + "target": 7158, + "name": "__BrowserControllerReturn", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.__BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7159, + "name": "__LaunchContextReturn", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.__LaunchContextReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 7158, + "name": "__BrowserControllerReturn", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.__BrowserControllerReturn", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPoolHooks", + "package": "@crawlee/browser-pool" + } + ], + "name": "Partial", + "package": "typescript" + } + ] + } + }, + { + "id": 7123, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L158" + } + ], + "type": { + "type": "reference", + "target": 7110, + "typeArguments": [ + { + "type": "reference", + "target": 7155, + "name": "Context", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "BrowserErrorHandler", + "package": "@crawlee/browser" + } + }, + { + "id": 7153, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.experiments" + } + }, + { + "id": 7124, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "code", + "text": "`option.maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 7110, + "typeArguments": [ + { + "type": "reference", + "target": 7155, + "name": "Context", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "BrowserErrorHandler", + "package": "@crawlee/browser" + } + }, + { + "id": 7132, + "name": "headless", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to run browser in headless mode. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ".\nCan be also set via " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Configuration" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 254, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L254" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "boolean" + }, + { + "type": "literal", + "value": "new" + }, + { + "type": "literal", + "value": "old" + } + ] + } + }, + { + "id": 7133, + "name": "ignoreShadowRoots", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore custom elements (and their #shadow-roots) when processing the page content via " + }, + { + "kind": "code", + "text": "`parseWithCheerio`" + }, + { + "kind": "text", + "text": " helper.\nBy default, they are expanded automatically. Use this option to disable this behavior." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 260, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L260" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 7147, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.keepAlive" + } + }, + { + "id": 7120, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L85" + } + ], + "type": { + "type": "reference", + "target": 7412, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "BrowserLaunchContext", + "package": "@crawlee/browser" + } + }, + { + "id": 7145, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxConcurrency" + } + }, + { + "id": 7139, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxRequestRetries" + } + }, + { + "id": 7142, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxRequestsPerCrawl" + } + }, + { + "id": 7146, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxRequestsPerMinute" + } + }, + { + "id": 7141, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxSessionRotations" + } + }, + { + "id": 7144, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.minConcurrency" + } + }, + { + "id": 7130, + "name": "navigationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which page navigation needs to finish, in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 242, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L242" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 7131, + "name": "persistCookiesPerSession", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether the cookies should be persisted for sessions.\nThis can only be used when " + }, + { + "kind": "code", + "text": "`useSessionPool`" + }, + { + "kind": "text", + "text": " is set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 248, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L248" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 7129, + "name": "postNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated after the navigation. Good for checking if the navigation was successful.\nThe function accepts " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " as the only parameter.\n\n**Example:**\n\n" + }, + { + "kind": "code", + "text": "```js\npostNavigationHooks: [\n async (crawlingContext) => {\n const { page } = crawlingContext;\n if (hasCaptcha(page)) {\n await solveCaptcha(page);\n }\n },\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L237" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 7112, + "typeArguments": [ + { + "type": "reference", + "target": 7155, + "name": "Context", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.Context", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BrowserHook", + "package": "@crawlee/browser" + } + } + }, + { + "id": 7128, + "name": "preNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated before the navigation. Good for setting additional cookies\nor browser properties before navigation. The function accepts two parameters, " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`gotoOptions`" + }, + { + "kind": "text", + "text": ",\nwhich are passed to the " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": " function the crawler calls to navigate.\n\n**Example:**\n\n" + }, + { + "kind": "code", + "text": "```js\npreNavigationHooks: [\n async (crawlingContext, gotoOptions) => {\n const { page } = crawlingContext;\n await page.evaluate((attr) => { window.foo = attr; }, 'bar');\n gotoOptions.timeout = 60_000;\n gotoOptions.waitUntil = 'domcontentloaded';\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nModyfing " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " is supported only in Playwright incognito.\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PrePageCreateHook" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 218, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L218" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 7112, + "typeArguments": [ + { + "type": "reference", + "target": 7155, + "name": "Context", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.Context", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BrowserHook", + "package": "@crawlee/browser" + } + } + }, + { + "id": 7127, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set, the crawler will be configured for all connections to use\nthe Proxy URLs provided and rotated according to the configuration." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 195, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L195" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + } + }, + { + "id": 7121, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Function that is called to process each request.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as an argument, where:\n- " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " is an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object\nwith details about the URL to open, HTTP method etc;\n- " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.page|`page`" + }, + { + "kind": "text", + "text": " is an instance of the\nPuppeteer [Page](https://pptr.dev/api/puppeteer.page) or\nPlaywright [Page](https://playwright.dev/docs/api/class-page);\n- " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.browserController|`browserController`" + }, + { + "kind": "text", + "text": " is an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": ";\n- " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.response|`response`" + }, + { + "kind": "text", + "text": " is an instance of the\nPuppeteer [Response](https://pptr.dev/api/puppeteer.httpresponse) or\nPlaywright [Response](https://playwright.dev/docs/api/class-response),\nwhich is the main resource response as returned by the respective " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": " function.\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\nIf all the retries fail, the crawler calls the function\nprovided to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.failedRequestHandler|`failedRequestHandler`" + }, + { + "kind": "text", + "text": " parameter.\nTo make this work, we should **always**\nlet our function throw exceptions rather than catch them.\nThe exceptions are logged to the request using the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.pushErrorMessage|`Request.pushErrorMessage()`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L114" + } + ], + "type": { + "type": "reference", + "target": 7108, + "typeArguments": [ + { + "type": "reference", + "target": 7155, + "name": "Context", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "BrowserRequestHandler", + "package": "@crawlee/browser" + } + }, + { + "id": 7137, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestHandlerTimeoutSecs" + } + }, + { + "id": 7136, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestList" + } + }, + { + "id": 7134, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestQueue" + } + }, + { + "id": 7152, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.retryOnBlocked" + } + }, + { + "id": 7140, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.sameDomainDelaySecs" + } + }, + { + "id": 7149, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.sessionPoolOptions" + } + }, + { + "id": 7154, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.statisticsOptions" + } + }, + { + "id": 7151, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.statusMessageCallback" + } + }, + { + "id": 7150, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.statusMessageLoggingInterval" + } + }, + { + "id": 7148, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.useSessionPool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7143, + 7126, + 7123, + 7153, + 7124, + 7132, + 7133, + 7147, + 7120, + 7145, + 7139, + 7142, + 7146, + 7141, + 7144, + 7130, + 7131, + 7129, + 7128, + 7127, + 7121, + 7137, + 7136, + 7134, + 7152, + 7140, + 7149, + 7154, + 7151, + 7150, + 7148 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 68, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L68" + } + ], + "typeParameters": [ + { + "id": 7155, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + }, + "default": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + } + }, + { + "id": 7156, + "name": "InternalBrowserPoolOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5347, + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5347, + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 7157, + "name": "__BrowserPlugins", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5152, + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + }, + "default": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "browserPlugins" + }, + "objectType": { + "type": "reference", + "target": 7156, + "name": "InternalBrowserPoolOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.InternalBrowserPoolOptions", + "refersToTypeParameter": true + } + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 7158, + "name": "__BrowserControllerReturn", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createController" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 7157, + "name": "__BrowserPlugins", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.__BrowserPlugins", + "refersToTypeParameter": true + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + }, + { + "id": 7159, + "name": "__LaunchContextReturn", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5244, + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createLaunchContext" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 7157, + "name": "__BrowserPlugins", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlerOptions.__BrowserPlugins", + "refersToTypeParameter": true + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6627, + "name": "BasicCrawlerOptions", + "package": "@crawlee/basic" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "requestHandler" + }, + { + "type": "literal", + "value": "handleRequestFunction" + }, + { + "type": "literal", + "value": "failedRequestHandler" + }, + { + "type": "literal", + "value": "handleFailedRequestFunction" + }, + { + "type": "literal", + "value": "errorHandler" + } + ] + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 9574, + "name": "PuppeteerCrawlerOptions" + }, + { + "type": "reference", + "target": 10394, + "name": "PlaywrightCrawlerOptions" + } + ] + }, + { + "id": 7065, + "name": "BrowserCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 7089, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 7090, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 7091, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 7092, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 7093, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 7095, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 7094, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7095, + 7094 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 7096, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 641, + "name": "CrawlingContext.addRequests" + } + }, + { + "id": 7066, + "name": "browserController", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L54" + } + ], + "type": { + "type": "reference", + "target": 7106, + "name": "ProvidedController", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlingContext.ProvidedController", + "refersToTypeParameter": true + } + }, + { + "id": 7072, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 7103, + "name": "Crawler", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlingContext.Crawler", + "refersToTypeParameter": true + }, + "inheritedFrom": { + "type": "reference", + "target": 624, + "name": "CrawlingContext.crawler" + } + }, + { + "id": 7076, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 7077, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 7078, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 7079, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 628, + "name": "CrawlingContext.getKeyValueStore" + } + }, + { + "id": 7069, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 621, + "name": "CrawlingContext.id" + } + }, + { + "id": 7102, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": 654, + "name": "CrawlingContext.log" + } + }, + { + "id": 7067, + "name": "page", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 55, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L55" + } + ], + "type": { + "type": "reference", + "target": 7104, + "name": "Page", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlingContext.Page", + "refersToTypeParameter": true + } + }, + { + "id": 7071, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 623, + "name": "CrawlingContext.proxyInfo" + } + }, + { + "id": 7084, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 7107, + "name": "UserData", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 636, + "name": "CrawlingContext.request" + } + }, + { + "id": 7068, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L56" + } + ], + "type": { + "type": "reference", + "target": 7105, + "name": "Response", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlingContext.Response", + "refersToTypeParameter": true + } + }, + { + "id": 7070, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 622, + "name": "CrawlingContext.session" + } + }, + { + "id": 7097, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 7098, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 7099, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 7100, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 7101, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 649, + "name": "CrawlingContext.useState" + } + }, + { + "id": 7073, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 7074, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 7075, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 626, + "name": "CrawlingContext.enqueueLinks" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 625, + "name": "CrawlingContext.enqueueLinks" + } + }, + { + "id": 7085, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 7086, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 7087, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 7088, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 638, + "name": "CrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 637, + "name": "CrawlingContext.pushData" + } + }, + { + "id": 7080, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 7081, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 7082, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 7083, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 633, + "name": "CrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 632, + "name": "CrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7089, + 7066, + 7072, + 7076, + 7069, + 7102, + 7067, + 7071, + 7084, + 7068, + 7070, + 7097 + ] + }, + { + "title": "Methods", + "children": [ + 7073, + 7085, + 7080 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 47, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L47" + } + ], + "typeParameters": [ + { + "id": 7103, + "name": "Crawler", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 7104, + "name": "Page", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 7105, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 7106, + "name": "ProvidedController", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 7107, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 620, + "typeArguments": [ + { + "type": "reference", + "target": 7103, + "name": "Crawler", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlingContext.Crawler", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7107, + "name": "UserData", + "package": "@crawlee/browser", + "qualifiedName": "BrowserCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "CrawlingContext", + "package": "@crawlee/core" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 9488, + "name": "PuppeteerCrawlingContext" + }, + { + "type": "reference", + "target": 10317, + "name": "PlaywrightCrawlingContext" + } + ] + }, + { + "id": 7412, + "name": "BrowserLaunchContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 7415, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler respects the proxy url generated for the given request.\nThis aligns the browser-based crawlers with the " + }, + { + "kind": "code", + "text": "`HttpCrawler`" + }, + { + "kind": "text", + "text": ".\n\nMight cause performance issues, as Crawlee might launch too many browser instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "overwrites": { + "type": "reference", + "target": 5209, + "name": "BrowserPluginOptions.browserPerProxy" + } + }, + { + "id": 7417, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Like " + }, + { + "kind": "code", + "text": "`useIncognitoPages`" + }, + { + "kind": "text", + "text": ", but for persistent contexts, so cache is used for faster loading.\nWorks best with Firefox. Unstable on Chromium." + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L54" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "overwrites": { + "type": "reference", + "target": 5207, + "name": "BrowserPluginOptions.experimentalContainers" + } + }, + { + "id": 7421, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options that will be passed down to the automation library. E.g.\n" + }, + { + "kind": "code", + "text": "`puppeteer.launch(launchOptions);`" + }, + { + "kind": "text", + "text": ". This is a good place to set\noptions that you want to apply as defaults. To dynamically override\nthose options per-browser, see the " + }, + { + "kind": "code", + "text": "`preLaunchHooks`" + }, + { + "kind": "text", + "text": " of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L54" + } + ], + "type": { + "type": "reference", + "target": 7422, + "name": "TOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserLaunchContext.TOptions", + "refersToTypeParameter": true + }, + "inheritedFrom": { + "type": "reference", + "target": 5204, + "name": "BrowserPluginOptions.launchOptions" + } + }, + { + "id": 7420, + "name": "launcher", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The type of browser to be launched.\nBy default, " + }, + { + "kind": "code", + "text": "`chromium`" + }, + { + "kind": "text", + "text": " is used. Other browsers like " + }, + { + "kind": "code", + "text": "`webkit`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`firefox`" + }, + { + "kind": "text", + "text": " can be used." + } + ], + "blockTags": [ + { + "tag": "@example", + "content": [ + { + "kind": "code", + "text": "```ts\n// import the browser from the library first\nimport { firefox } from 'playwright';\n```" + }, + { + "kind": "text", + "text": "\n\nFor more details, check out the [example](https://crawlee.dev/docs/examples/playwright-crawler-firefox)." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 7423, + "name": "Launcher", + "package": "@crawlee/browser", + "qualifiedName": "BrowserLaunchContext.Launcher", + "refersToTypeParameter": true + } + }, + { + "id": 7413, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URL to an HTTP proxy server. It must define the port number,\nand it may also contain proxy username and password." + } + ], + "blockTags": [ + { + "tag": "@example", + "content": [ + { + "kind": "code", + "text": "```ts\n`http://bob:pass123@proxy.example.com:1234`.\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 22, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L22" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "target": 5205, + "name": "BrowserPluginOptions.proxyUrl" + } + }, + { + "id": 7414, + "name": "useChrome", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " and the " + }, + { + "kind": "code", + "text": "`executablePath`" + }, + { + "kind": "text", + "text": " option of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserLaunchContext.launchOptions|`launchOptions`" + }, + { + "kind": "text", + "text": " is not set,\nthe launcher will launch full Google Chrome browser available on the machine\nrather than the bundled Chromium. The path to Chrome executable\nis taken from the " + }, + { + "kind": "code", + "text": "`CRAWLEE_CHROME_EXECUTABLE_PATH`" + }, + { + "kind": "text", + "text": " environment variable if provided,\nor defaults to the typical Google Chrome executable location specific for the operating system." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L32" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 7416, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "With this option selected, all pages will be opened in a new incognito browser context.\nThis means they will not share cookies nor cache and their resources will not be throttled by one another." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 47, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L47" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "overwrites": { + "type": "reference", + "target": 5206, + "name": "BrowserPluginOptions.useIncognitoPages" + } + }, + { + "id": 7419, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`User-Agent`" + }, + { + "kind": "text", + "text": " HTTP header used by the browser.\nIf not provided, the function sets " + }, + { + "kind": "code", + "text": "`User-Agent`" + }, + { + "kind": "text", + "text": " to a reasonable default\nto reduce the chance of detection of the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L68" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 7418, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the [User Data Directory](https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md) path.\nThe user data directory contains profile data such as history, bookmarks, and cookies, as well as other per-installation local state.\nIf not specified, a temporary directory is used instead." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 61, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L61" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "target": 5208, + "name": "BrowserPluginOptions.userDataDir" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7415, + 7417, + 7421, + 7420, + 7413, + 7414, + 7416, + 7419, + 7418 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L14" + } + ], + "typeParameters": [ + { + "id": 7422, + "name": "TOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {} + }, + { + "id": 7423, + "name": "Launcher", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 5203, + "typeArguments": [ + { + "type": "reference", + "target": 7422, + "name": "TOptions", + "package": "@crawlee/browser", + "qualifiedName": "BrowserLaunchContext.TOptions", + "refersToTypeParameter": true + } + ], + "name": "BrowserPluginOptions", + "package": "@crawlee/browser-pool" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 9861, + "name": "PuppeteerLaunchContext" + }, + { + "type": "reference", + "target": 11110, + "name": "PlaywrightLaunchContext" + } + ] + }, + { + "id": 7110, + "name": "BrowserErrorHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 61, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L61" + } + ], + "typeParameters": [ + { + "id": 7111, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + }, + "default": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + } + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 7111, + "name": "Context", + "package": "@crawlee/browser", + "refersToTypeParameter": true + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 7112, + "name": "BrowserHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 63, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L63" + } + ], + "typeParameters": [ + { + "id": 7117, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + } + }, + { + "id": 7118, + "name": "GoToOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 7113, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 66, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L66" + } + ], + "signatures": [ + { + "id": 7114, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 7115, + "name": "crawlingContext", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 7117, + "name": "Context", + "package": "@crawlee/browser", + "refersToTypeParameter": true + } + }, + { + "id": 7116, + "name": "gotoOptions", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 7118, + "name": "GoToOptions", + "package": "@crawlee/browser", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ] + } + }, + "extendedBy": [ + { + "type": "reference", + "target": 9566, + "name": "PuppeteerHook" + }, + { + "type": "reference", + "target": 10382, + "name": "PlaywrightHook" + } + ] + }, + { + "id": 7108, + "name": "BrowserRequestHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 59, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L59" + } + ], + "typeParameters": [ + { + "id": 7109, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + }, + "default": { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + } + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 7109, + "name": "Context", + "package": "@crawlee/browser", + "refersToTypeParameter": true + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + }, + "extendedBy": [ + { + "type": "reference", + "target": 9570, + "name": "PuppeteerRequestHandler" + }, + { + "type": "reference", + "target": 10390, + "name": "PlaywrightRequestHandler" + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 7018, + 7019, + 6897, + 6896, + 7054, + 6981, + 7049, + 7047, + 7042, + 6902, + 6906, + 6905, + 6889, + 7051, + 7052, + 7048, + 7053, + 6908, + 7050, + 6978, + 6892, + 6994, + 6995, + 6999, + 6990, + 6991, + 6993, + 6992, + 6996, + 6998, + 6997, + 6924, + 6925, + 6917, + 7044, + 6921, + 6919, + 6918, + 6946, + 6944, + 6945, + 6903, + 6967, + 6940, + 6939, + 7020, + 7002, + 7001, + 7005, + 7003, + 6947, + 6949, + 6951, + 6952, + 6953, + 6950, + 6954, + 6983, + 6891, + 6982, + 6912, + 6959, + 6955, + 6956, + 6958, + 6884, + 6938, + 6937, + 6963, + 6890, + 7004, + 6942, + 6941, + 6961, + 7043, + 6909, + 7009, + 7008, + 7011, + 7010, + 6962, + 7012, + 7013, + 6985, + 7016, + 7014, + 6984, + 6986, + 6960, + 6943, + 6907, + 6894, + 6969, + 6966, + 6968, + 6977, + 6895, + 6976, + 6980, + 6979, + 6975, + 6920, + 6899, + 6898, + 6964, + 6915, + 6916, + 6913, + 6914, + 7046, + 7045, + 6888, + 7022, + 6900, + 6904, + 6901, + 6957, + 6936, + 7026, + 7032, + 7041, + 6922, + 6933, + 6948, + 7023, + 6935, + 7024, + 7033 + ] + }, + { + "title": "Classes", + "children": [ + 7160 + ] + }, + { + "title": "Interfaces", + "children": [ + 7119, + 7065, + 7412 + ] + }, + { + "title": "Type Aliases", + "children": [ + 7110, + 7112, + 7108 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 7160 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 7018, + 7019, + 6897, + 6896, + 7054, + 6981, + 7049, + 7047, + 7042, + 6902, + 6906, + 6905, + 6889, + 7051, + 7052, + 7048, + 7053, + 6908, + 7050, + 6978, + 6892, + 6994, + 6995, + 6999, + 6990, + 6991, + 6993, + 6992, + 6996, + 6998, + 6997, + 6924, + 6925, + 6917, + 7044, + 6921, + 6919, + 6918, + 6946, + 6944, + 6945, + 6903, + 6967, + 6940, + 6939, + 7020, + 7002, + 7001, + 7005, + 7003, + 6947, + 6949, + 6951, + 6952, + 6953, + 6950, + 6954, + 6983, + 6891, + 6982, + 6912, + 6959, + 6955, + 6956, + 6958, + 6884, + 6938, + 6937, + 6963, + 6890, + 7004, + 6942, + 6941, + 6961, + 7043, + 6909, + 7009, + 7008, + 7011, + 7010, + 6962, + 7012, + 7013, + 6985, + 7016, + 7014, + 6984, + 6986, + 6960, + 6943, + 6907, + 6894, + 6969, + 6966, + 6968, + 6977, + 6895, + 6976, + 6980, + 6979, + 6975, + 6920, + 6899, + 6898, + 6964, + 6915, + 6916, + 6913, + 6914, + 7046, + 7045, + 6888, + 7022, + 6900, + 6904, + 6901, + 6957, + 6936, + 7026, + 7032, + 7041, + 6922, + 6933, + 6948, + 7023, + 6935, + 7024, + 7033, + 7119, + 7065, + 7412, + 7110, + 7112, + 7108 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-crawler/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/index.ts#L1" + } + ] + }, + { + "id": 2, + "name": "browser-pool", + "variant": "declaration", + "kind": 2, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`browser-pool`" + }, + { + "kind": "text", + "text": " module exports three constructors. One for " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": "\nitself and two for the included Puppeteer and Playwright plugins.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```js\nimport {\n BrowserPool,\n PuppeteerPlugin,\n PlaywrightPlugin\n} from '@crawlee/browser-pool';\nimport puppeteer from 'puppeteer';\nimport playwright from 'playwright';\n\nconst browserPool = new BrowserPool({\n browserPlugins: [\n new PuppeteerPlugin(puppeteer),\n new PlaywrightPlugin(playwright.chromium),\n ]\n});\n```" + } + ] + }, + "children": [ + { + "id": 6386, + "name": "BROWSER_CONTROLLER_EVENTS", + "variant": "declaration", + "kind": 8, + "flags": { + "isConst": true + }, + "children": [ + { + "id": 6387, + "name": "BROWSER_CLOSED", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/events.ts", + "line": 11, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/events.ts#L11" + } + ], + "type": { + "type": "literal", + "value": "browserClosed" + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 6387 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/events.ts", + "line": 10, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/events.ts#L10" + } + ] + }, + { + "id": 6380, + "name": "BROWSER_POOL_EVENTS", + "variant": "declaration", + "kind": 8, + "flags": { + "isConst": true + }, + "children": [ + { + "id": 6383, + "name": "BROWSER_CLOSED", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/events.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/events.ts#L4" + } + ], + "type": { + "type": "literal", + "value": "browserClosed" + } + }, + { + "id": 6381, + "name": "BROWSER_LAUNCHED", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/events.ts", + "line": 2, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/events.ts#L2" + } + ], + "type": { + "type": "literal", + "value": "browserLaunched" + } + }, + { + "id": 6382, + "name": "BROWSER_RETIRED", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/events.ts", + "line": 3, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/events.ts#L3" + } + ], + "type": { + "type": "literal", + "value": "browserRetired" + } + }, + { + "id": 6385, + "name": "PAGE_CLOSED", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/events.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/events.ts#L7" + } + ], + "type": { + "type": "literal", + "value": "pageClosed" + } + }, + { + "id": 6384, + "name": "PAGE_CREATED", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/events.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/events.ts#L6" + } + ], + "type": { + "type": "literal", + "value": "pageCreated" + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 6383, + 6381, + 6382, + 6385, + 6384 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/events.ts", + "line": 1, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/events.ts#L1" + } + ] + }, + { + "id": 3194, + "name": "BrowserName", + "variant": "declaration", + "kind": 8, + "flags": {}, + "children": [ + { + "id": 3195, + "name": "chrome", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 65, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L65" + } + ], + "type": { + "type": "literal", + "value": "chrome" + } + }, + { + "id": 3198, + "name": "edge", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L68" + } + ], + "type": { + "type": "literal", + "value": "edge" + } + }, + { + "id": 3196, + "name": "firefox", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 66, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L66" + } + ], + "type": { + "type": "literal", + "value": "firefox" + } + }, + { + "id": 3197, + "name": "safari", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 67, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L67" + } + ], + "type": { + "type": "literal", + "value": "safari" + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 3195, + 3198, + 3196, + 3197 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 64, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L64" + } + ] + }, + { + "id": 3199, + "name": "DeviceCategory", + "variant": "declaration", + "kind": 8, + "flags": { + "isConst": true + }, + "children": [ + { + "id": 3201, + "name": "desktop", + "variant": "declaration", + "kind": 16, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Describes desktop computers and laptops. These devices usually have larger, horizontal screens and load full-sized versions of websites." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 113, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L113" + } + ], + "type": { + "type": "literal", + "value": "desktop" + } + }, + { + "id": 3200, + "name": "mobile", + "variant": "declaration", + "kind": 16, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Describes mobile devices (mobile phones, tablets...). These devices usually have smaller, vertical screens and load lighter versions of websites.\n> Note: Generating " + }, + { + "kind": "code", + "text": "`android`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`ios`" + }, + { + "kind": "text", + "text": " devices will not work without setting the device to " + }, + { + "kind": "code", + "text": "`mobile`" + }, + { + "kind": "text", + "text": " first." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L109" + } + ], + "type": { + "type": "literal", + "value": "mobile" + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 3201, + 3200 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 104, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L104" + } + ] + }, + { + "id": 3202, + "name": "OperatingSystemsName", + "variant": "declaration", + "kind": 8, + "flags": { + "isConst": true + }, + "children": [ + { + "id": 3206, + "name": "android", + "variant": "declaration", + "kind": 16, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`android`" + }, + { + "kind": "text", + "text": " is (mostly) a mobile operating system. You can use this option only together with the " + }, + { + "kind": "code", + "text": "`mobile`" + }, + { + "kind": "text", + "text": " device category." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 97, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L97" + } + ], + "type": { + "type": "literal", + "value": "android" + } + }, + { + "id": 3207, + "name": "ios", + "variant": "declaration", + "kind": 16, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`ios`" + }, + { + "kind": "text", + "text": " is a mobile operating system. You can use this option only together with the " + }, + { + "kind": "code", + "text": "`mobile`" + }, + { + "kind": "text", + "text": " device category." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 101, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L101" + } + ], + "type": { + "type": "literal", + "value": "ios" + } + }, + { + "id": 3203, + "name": "linux", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 91, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L91" + } + ], + "type": { + "type": "literal", + "value": "linux" + } + }, + { + "id": 3204, + "name": "macos", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 92, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L92" + } + ], + "type": { + "type": "literal", + "value": "macos" + } + }, + { + "id": 3205, + "name": "windows", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L93" + } + ], + "type": { + "type": "literal", + "value": "windows" + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 3206, + 3207, + 3203, + 3204, + 3205 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 90, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L90" + } + ] + }, + { + "id": 3208, + "name": "BrowserController", + "variant": "declaration", + "kind": 128, + "flags": { + "isAbstract": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": " serves two purposes. First, it is the base class that\nspecialized controllers like " + }, + { + "kind": "code", + "text": "`PuppeteerController`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`PlaywrightController`" + }, + { + "kind": "text", + "text": "\nextend. Second, it defines the public interface of the specialized classes\nwhich provide only private methods. Therefore, we do not keep documentation\nfor the specialized classes, because it's the same for all of them." + } + ], + "blockTags": [ + { + "tag": "@hideconstructor", + "content": [] + } + ] + }, + "children": [ + { + "id": 3210, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L90" + } + ], + "signatures": [ + { + "id": 3211, + "name": "new BrowserController", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L90" + } + ], + "typeParameter": [ + { + "id": 3212, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 3213, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 3214, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 3215, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 3216, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "parameters": [ + { + "id": 3217, + "name": "browserPlugin", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "TypedEmitter>.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "TypedEmitter>.constructor" + } + }, + { + "id": 3225, + "name": "activePages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L72" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 3220, + "name": "browser", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browser representation of the underlying automation library." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 51, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L51" + } + ], + "type": { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + "defaultValue": "..." + }, + { + "id": 3219, + "name": "browserPlugin", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserPlugin`" + }, + { + "kind": "text", + "text": " instance used to launch the browser." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 46, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L46" + } + ], + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 3218, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L41" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 3224, + "name": "isActive", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 70, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L70" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 3227, + "name": "lastPageOpenedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 3221, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration the browser was launched with." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L56" + } + ], + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "..." + }, + { + "id": 3222, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The proxy tier tied to this browser controller.\n" + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " if no tiered proxy is used." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 62, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L62" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3223, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The proxy URL used by the browser controller. This is set every time the browser controller uses proxy (even the tiered one).\n" + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " if no proxy is used" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L68" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3226, + "name": "totalPages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 74, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L74" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 3209, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 10, + "character": 11 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.defaultMaxListeners" + } + }, + { + "id": 3274, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 3275, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 11, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3276, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3277, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3276, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3278, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3276, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.addListener" + } + }, + { + "id": 3242, + "name": "close", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 127, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L127" + } + ], + "signatures": [ + { + "id": 3243, + "name": "close", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gracefully closes the browser and makes sure\nthere will be no lingering browser processes.\n\nEmits 'browserClosed' event." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 127, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L127" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 3312, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 19, + "character": 4 + } + ], + "signatures": [ + { + "id": 3313, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 19, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3314, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3315, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3314, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3316, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3314, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.emit" + } + }, + { + "id": 3317, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 20, + "character": 4 + } + ], + "signatures": [ + { + "id": 3318, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 20, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3319, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 3319, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.eventNames" + } + }, + { + "id": 3253, + "name": "getCookies", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 177, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L177" + } + ], + "signatures": [ + { + "id": 3254, + "name": "getCookies", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 177, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L177" + } + ], + "parameters": [ + { + "id": 3255, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 59, + "name": "Cookie", + "package": "@crawlee/types" + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 3331, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 24, + "character": 4 + } + ], + "signatures": [ + { + "id": 3332, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.getMaxListeners" + } + }, + { + "id": 3244, + "name": "kill", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 152, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L152" + } + ], + "signatures": [ + { + "id": 3245, + "name": "kill", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Immediately kills the browser process.\n\nEmits 'browserClosed' event." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 152, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L152" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 3320, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 21, + "character": 4 + } + ], + "signatures": [ + { + "id": 3321, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 21, + "character": 4 + } + ], + "parameters": [ + { + "id": 3322, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.listenerCount" + } + }, + { + "id": 3323, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 22, + "character": 4 + } + ], + "signatures": [ + { + "id": 3324, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 22, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3325, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3326, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3325, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3325, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.listeners" + } + }, + { + "id": 3307, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 18, + "character": 4 + } + ], + "signatures": [ + { + "id": 3308, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 18, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3309, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3310, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3309, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3311, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3309, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.off" + } + }, + { + "id": 3302, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 17, + "character": 4 + } + ], + "signatures": [ + { + "id": 3303, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 17, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3304, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3305, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3304, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3306, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3304, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.on" + } + }, + { + "id": 3297, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 16, + "character": 4 + } + ], + "signatures": [ + { + "id": 3298, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 16, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3299, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3300, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3299, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3301, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3299, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.once" + } + }, + { + "id": 3279, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 3280, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 12, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3281, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3282, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3281, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3283, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3281, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.prependListener" + } + }, + { + "id": 3284, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 13, + "character": 4 + } + ], + "signatures": [ + { + "id": 3285, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 13, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3286, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3287, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3286, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3288, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3286, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.prependOnceListener" + } + }, + { + "id": 3327, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 23, + "character": 4 + } + ], + "signatures": [ + { + "id": 3328, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 23, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3329, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3330, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3329, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3329, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.rawListeners" + } + }, + { + "id": 3294, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 15, + "character": 4 + } + ], + "signatures": [ + { + "id": 3295, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 15, + "character": 4 + } + ], + "parameters": [ + { + "id": 3296, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.removeAllListeners" + } + }, + { + "id": 3289, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 14, + "character": 4 + } + ], + "signatures": [ + { + "id": 3290, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 14, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3291, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3292, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3291, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3293, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3291, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.removeListener" + } + }, + { + "id": 3249, + "name": "setCookies", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 173, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L173" + } + ], + "signatures": [ + { + "id": 3250, + "name": "setCookies", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 173, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L173" + } + ], + "parameters": [ + { + "id": 3251, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + }, + { + "id": 3252, + "name": "cookies", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 59, + "name": "Cookie", + "package": "@crawlee/types" + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 3333, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 25, + "character": 4 + } + ], + "signatures": [ + { + "id": 3334, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 25, + "character": 4 + } + ], + "parameters": [ + { + "id": 3335, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 3210 + ] + }, + { + "title": "Properties", + "children": [ + 3225, + 3220, + 3219, + 3218, + 3224, + 3227, + 3221, + 3222, + 3223, + 3226, + 3209 + ] + }, + { + "title": "Methods", + "children": [ + 3274, + 3242, + 3312, + 3317, + 3253, + 3331, + 3244, + 3320, + 3323, + 3307, + 3302, + 3297, + 3279, + 3284, + 3327, + 3294, + 3289, + 3249, + 3333 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 34, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L34" + } + ], + "typeParameters": [ + { + "id": 3336, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 3337, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 3338, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 3339, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 3340, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": 3212, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3213, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3214, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3215, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3216, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserController.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + ], + "name": "TypedEmitter", + "package": "tiny-typed-emitter" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 3351, + "name": "PuppeteerController" + }, + { + "type": "reference", + "target": 3466, + "name": "PlaywrightController" + } + ] + }, + { + "id": 5225, + "name": "BrowserLaunchError", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Errors of " + }, + { + "kind": "code", + "text": "`CriticalError`" + }, + { + "kind": "text", + "text": " type will shut down the whole crawler.\nError handlers catching CriticalError should avoid logging it, as it will be logged by Node.js itself at the end" + } + ] + }, + "children": [ + { + "id": 5236, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": { + "isPublic": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 281, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L281" + } + ], + "signatures": [ + { + "id": 5237, + "name": "new BrowserLaunchError", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 281, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L281" + } + ], + "parameters": [ + { + "id": 5238, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "message", + "isOptional": true, + "element": { + "type": "intrinsic", + "name": "string" + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": true, + "element": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "ErrorOptions" + }, + "name": "ErrorOptions", + "package": "typescript" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": 5225, + "name": "BrowserLaunchError", + "package": "@crawlee/browser-pool" + }, + "overwrites": { + "type": "reference", + "target": 110, + "name": "CriticalError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 109, + "name": "CriticalError.constructor" + } + }, + { + "id": 5242, + "name": "cause", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es2022.error.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "inheritedFrom": { + "type": "reference", + "target": 118, + "name": "CriticalError.cause" + } + }, + { + "id": 5240, + "name": "message", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1077, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 116, + "name": "CriticalError.message" + } + }, + { + "id": 5239, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1076, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 115, + "name": "CriticalError.name" + } + }, + { + "id": 5241, + "name": "stack", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1078, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 117, + "name": "CriticalError.stack" + } + }, + { + "id": 5230, + "name": "prepareStackTrace", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional override for formatting stack traces" + } + ], + "blockTags": [ + { + "tag": "@see", + "content": [ + { + "kind": "text", + "text": "https://v8.dev/docs/stack-trace-api#customizing-stack-traces" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5231, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "signatures": [ + { + "id": 5232, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "parameters": [ + { + "id": 5233, + "name": "err", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 5234, + "name": "stackTraces", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.NodeJS.CallSite" + }, + "name": "CallSite", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.CallSite" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 103, + "name": "CriticalError.prepareStackTrace" + } + }, + { + "id": 5235, + "name": "stackTraceLimit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 30, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 108, + "name": "CriticalError.stackTraceLimit" + } + }, + { + "id": 5226, + "name": "captureStackTrace", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "signatures": [ + { + "id": 5227, + "name": "captureStackTrace", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Create .stack property on a target object" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "parameters": [ + { + "id": 5228, + "name": "targetObject", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 5229, + "name": "constructorOpt", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 100, + "name": "CriticalError.captureStackTrace" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 99, + "name": "CriticalError.captureStackTrace" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 5236 + ] + }, + { + "title": "Properties", + "children": [ + 5242, + 5240, + 5239, + 5241, + 5230, + 5235 + ] + }, + { + "title": "Methods", + "children": [ + 5226 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 280, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L280" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 98, + "name": "CriticalError", + "package": "@crawlee/core" + } + ] + }, + { + "id": 5152, + "name": "BrowserPlugin", + "variant": "declaration", + "kind": 128, + "flags": { + "isAbstract": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserPlugin`" + }, + { + "kind": "text", + "text": " serves two purposes. First, it is the base class that\nspecialized controllers like " + }, + { + "kind": "code", + "text": "`PuppeteerPlugin`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`PlaywrightPlugin`" + }, + { + "kind": "text", + "text": " extend.\nSecond, it allows the user to configure the automation libraries and\nfeed them to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " for use." + } + ] + }, + "children": [ + { + "id": 5153, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L124" + } + ], + "signatures": [ + { + "id": 5154, + "name": "new BrowserPlugin", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L124" + } + ], + "typeParameter": [ + { + "id": 5155, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5156, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5157, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5158, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5159, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "parameters": [ + { + "id": 5160, + "name": "library", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + } + }, + { + "id": 5161, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5203, + "typeArguments": [ + { + "type": "reference", + "target": 5156, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LibraryOptions", + "refersToTypeParameter": true + } + ], + "name": "BrowserPluginOptions", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5156, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5158, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5159, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5169, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L122" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5168, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L120" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5164, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 112, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L112" + } + ], + "type": { + "type": "reference", + "target": 5156, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LibraryOptions", + "refersToTypeParameter": true + } + }, + { + "id": 5163, + "name": "library", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L110" + } + ], + "type": { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + } + }, + { + "id": 5162, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 108, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L108" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 5165, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L114" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5167, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 118, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L118" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5166, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 116, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L116" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5173, + "name": "createController", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 176, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L176" + } + ], + "signatures": [ + { + "id": 5174, + "name": "createController", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 176, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L176" + } + ], + "type": { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5156, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5158, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5159, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5170, + "name": "createLaunchContext", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L149" + } + ], + "signatures": [ + { + "id": 5171, + "name": "createLaunchContext", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " with all the information needed\nto launch a browser. Aside from library specific launch options,\nit also includes internal properties used by " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " for\nmanagement of the pool and extra features." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L149" + } + ], + "parameters": [ + { + "id": 5172, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5211, + "typeArguments": [ + { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5156, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5158, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5159, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "CreateLaunchContextOptions", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5156, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5158, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5159, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5175, + "name": "launch", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 183, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L183" + } + ], + "signatures": [ + { + "id": 5176, + "name": "launch", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Launches the browser using provided launch context." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 183, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L183" + } + ], + "parameters": [ + { + "id": 5177, + "name": "launchContext", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5156, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5158, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5159, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 5153 + ] + }, + { + "title": "Properties", + "children": [ + 5169, + 5168, + 5164, + 5163, + 5162, + 5165, + 5167, + 5166 + ] + }, + { + "title": "Methods", + "children": [ + 5173, + 5170, + 5175 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 101, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L101" + } + ], + "typeParameters": [ + { + "id": 5198, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5199, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5200, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5155, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5201, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5202, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5157, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPlugin.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin" + }, + { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin" + } + ] + }, + { + "id": 5407, + "name": "BrowserPool", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " class is the most important class of the " + }, + { + "kind": "code", + "text": "`browser-pool`" + }, + { + "kind": "text", + "text": " module.\nIt manages opening and closing of browsers and their pages and its constructor\noptions allow easy configuration of the browsers' and pages' lifecycle.\n\nThe most important and useful constructor options are the various lifecycle hooks.\nThose allow you to sequentially call a list of (asynchronous) functions at each\nstage of the browser / page lifecycle.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```js\nimport { BrowserPool, PlaywrightPlugin } from '@crawlee/browser-pool';\nimport playwright from 'playwright';\n\nconst browserPool = new BrowserPool({\n browserPlugins: [new PlaywrightPlugin(playwright.chromium)],\n preLaunchHooks: [(pageId, launchContext) => {\n // do something before a browser gets launched\n launchContext.launchOptions.headless = false;\n }],\n postLaunchHooks: [(pageId, browserController) => {\n // manipulate the browser right after launch\n console.dir(browserController.browser.contexts());\n }],\n prePageCreateHooks: [(pageId, browserController) => {\n if (pageId === 'my-page') {\n // make changes right before a specific page is created\n }\n }],\n postPageCreateHooks: [async (page, browserController) => {\n // update some or all new pages\n await page.evaluate(() => {\n // now all pages will have 'foo'\n window.foo = 'bar'\n })\n }],\n prePageCloseHooks: [async (page, browserController) => {\n // collect information just before a page closes\n await page.screenshot();\n }],\n postPageCloseHooks: [(pageId, browserController) => {\n // clean up or log after a job is done\n console.log('Page closed: ', pageId)\n }]\n});\n```" + } + ] + }, + "children": [ + { + "id": 5409, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 323, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L323" + } + ], + "signatures": [ + { + "id": 5410, + "name": "new BrowserPool", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 323, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L323" + } + ], + "typeParameter": [ + { + "id": 5411, + "name": "Options", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5347, + "typeArguments": [ + { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5347, + "typeArguments": [ + { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5412, + "name": "BrowserPlugins", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + }, + "default": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "browserPlugins" + }, + "objectType": { + "type": "reference", + "target": 5411, + "name": "Options", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.Options", + "refersToTypeParameter": true + } + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5413, + "name": "BrowserControllerReturn", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createController" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + }, + { + "id": 5414, + "name": "LaunchContextReturn", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createLaunchContext" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + }, + { + "id": 5415, + "name": "PageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5416, + "name": "PageReturn", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "parameters": [ + { + "id": 5417, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": 5411, + "name": "Options", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.Options", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5397, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5414, + "name": "LaunchContextReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.LaunchContextReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolHooks", + "package": "@crawlee/browser-pool" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": 5407, + "typeArguments": [ + { + "type": "reference", + "target": 5411, + "name": "Options", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.Options", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5414, + "name": "LaunchContextReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.LaunchContextReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5415, + "name": "PageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPool", + "package": "@crawlee/browser-pool" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "TypedEmitter>.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "TypedEmitter>.constructor" + } + }, + { + "id": 5434, + "name": "activeBrowserControllers", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 307, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L307" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2015.collection.d.ts", + "qualifiedName": "Set" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + ], + "name": "Set", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 5418, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 291, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L291" + } + ], + "type": { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + } + }, + { + "id": 5422, + "name": "closeInactiveBrowserAfterMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 295, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L295" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5439, + "name": "fingerprintCache", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 312, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L312" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/quick-lru/index.d.ts", + "qualifiedName": "QuickLRU" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/src/fingerprint-generator.ts", + "qualifiedName": "BrowserFingerprintWithHeaders" + }, + "name": "BrowserFingerprintWithHeaders", + "package": "fingerprint-generator" + } + ], + "name": "QuickLRU", + "package": "quick-lru" + } + }, + { + "id": 5438, + "name": "fingerprintGenerator", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 311, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L311" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/src/fingerprint-generator.ts", + "qualifiedName": "FingerprintGenerator" + }, + "name": "FingerprintGenerator", + "package": "fingerprint-generator" + } + }, + { + "id": 5437, + "name": "fingerprintInjector", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 310, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L310" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/src/fingerprint-injector.ts", + "qualifiedName": "FingerprintInjector" + }, + "name": "FingerprintInjector", + "package": "fingerprint-injector" + } + }, + { + "id": 5424, + "name": "fingerprintOptions", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 297, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L297" + } + ], + "type": { + "type": "reference", + "target": 5343, + "name": "FingerprintOptions", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5419, + "name": "maxOpenPagesPerBrowser", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 292, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L292" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5421, + "name": "operationTimeoutMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 294, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L294" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5431, + "name": "pageCounter", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 304, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L304" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 5433, + "name": "pageIds", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L306" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2015.collection.d.ts", + "qualifiedName": "WeakMap" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "WeakMap", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 5436, + "name": "pageToBrowserController", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 309, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L309" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2015.collection.d.ts", + "qualifiedName": "WeakMap" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + ], + "name": "WeakMap", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 5432, + "name": "pages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 305, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L305" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2015.collection.d.ts", + "qualifiedName": "Map" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "Map", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 5426, + "name": "postLaunchHooks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 299, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L299" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5363, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + ], + "name": "PostLaunchHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5430, + "name": "postPageCloseHooks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 303, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L303" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5391, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + ], + "name": "PostPageCloseHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5428, + "name": "postPageCreateHooks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L301" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5377, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "PostPageCreateHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5425, + "name": "preLaunchHooks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 298, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L298" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5357, + "typeArguments": [ + { + "type": "reference", + "target": 5414, + "name": "LaunchContextReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.LaunchContextReturn", + "refersToTypeParameter": true + } + ], + "name": "PreLaunchHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5429, + "name": "prePageCloseHooks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 302, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L302" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5384, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "PrePageCloseHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5427, + "name": "prePageCreateHooks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 300, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L300" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5369, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5415, + "name": "PageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageOptions", + "refersToTypeParameter": true + } + ], + "name": "PrePageCreateHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5420, + "name": "retireBrowserAfterPageCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 293, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L293" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5435, + "name": "retiredBrowserControllers", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 308, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L308" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2015.collection.d.ts", + "qualifiedName": "Set" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + ], + "name": "Set", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 5423, + "name": "useFingerprints", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5408, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 10, + "character": 11 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.defaultMaxListeners" + } + }, + { + "id": 5512, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 5513, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 11, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5514, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5515, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3276, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 5516, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3276, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.addListener" + } + }, + { + "id": 5475, + "name": "closeAllBrowsers", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 628, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L628" + } + ], + "signatures": [ + { + "id": 5476, + "name": "closeAllBrowsers", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Closes all managed browsers without waiting for pages to close." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 628, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L628" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 5477, + "name": "destroy", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 640, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L640" + } + ], + "signatures": [ + { + "id": 5478, + "name": "destroy", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Closes all managed browsers and tears down the pool." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 640, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L640" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 5550, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 19, + "character": 4 + } + ], + "signatures": [ + { + "id": 5551, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 19, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5552, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5553, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3314, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 5554, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3314, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.emit" + } + }, + { + "id": 5555, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 20, + "character": 4 + } + ], + "signatures": [ + { + "id": 5556, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 20, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5557, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 3319, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.eventNames" + } + }, + { + "id": 5452, + "name": "getBrowserControllerByPage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 511, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L511" + } + ], + "signatures": [ + { + "id": 5453, + "name": "getBrowserControllerByPage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": " for a given page. This is useful\nwhen you're working only with pages and need to access the browser\nmanipulation functionality.\n\nYou could access the browser directly from the page,\nbut that would circumvent " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " and most likely\ncause weird things to happen, so please always use " + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": "\nto control your browsers. The function returns " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " if the\nbrowser is closed." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 511, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L511" + } + ], + "parameters": [ + { + "id": 5454, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browser plugin page" + } + ] + }, + "type": { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + ] + } + } + ] + }, + { + "id": 5569, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 24, + "character": 4 + } + ], + "signatures": [ + { + "id": 5570, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.getMaxListeners" + } + }, + { + "id": 5455, + "name": "getPage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 521, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L521" + } + ], + "signatures": [ + { + "id": 5456, + "name": "getPage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If you provided a custom ID to one of your pages or saved the\nrandomly generated one, you can use this function to retrieve\nthe page. If the page is no longer open, the function will\nreturn " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 521, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L521" + } + ], + "parameters": [ + { + "id": 5457, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ] + } + } + ] + }, + { + "id": 5458, + "name": "getPageId", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 531, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L531" + } + ], + "signatures": [ + { + "id": 5459, + "name": "getPageId", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Page IDs are used throughout " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " as a method of linking\nevents. You can use a page ID to track the full lifecycle of the page.\nIt is created even before a browser is launched and stays with the page\nuntil it's closed." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 531, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L531" + } + ], + "parameters": [ + { + "id": 5460, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ] + }, + { + "id": 5558, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 21, + "character": 4 + } + ], + "signatures": [ + { + "id": 5559, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 21, + "character": 4 + } + ], + "parameters": [ + { + "id": 5560, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.listenerCount" + } + }, + { + "id": 5561, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 22, + "character": 4 + } + ], + "signatures": [ + { + "id": 5562, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 22, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5563, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5564, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3325, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3325, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.listeners" + } + }, + { + "id": 5443, + "name": "newPage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 415, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L415" + } + ], + "signatures": [ + { + "id": 5444, + "name": "newPage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens a new page in one of the running browsers or launches\na new browser and opens a page there, if no browsers are active,\nor their page limits have been exceeded." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 415, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L415" + } + ], + "parameters": [ + { + "id": 5445, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5580, + "typeArguments": [ + { + "type": "reference", + "target": 5415, + "name": "PageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageOptions", + "refersToTypeParameter": true + }, + { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + } + } + ], + "name": "BrowserPoolNewPageOptions", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 5446, + "name": "newPageInNewBrowser", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 448, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L448" + } + ], + "signatures": [ + { + "id": 5447, + "name": "newPageInNewBrowser", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unlike " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "newPage" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`newPageInNewBrowser`" + }, + { + "kind": "text", + "text": " always launches a new\nbrowser to open the page in. Use the " + }, + { + "kind": "code", + "text": "`launchOptions`" + }, + { + "kind": "text", + "text": " option to\nconfigure the new browser." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 448, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L448" + } + ], + "parameters": [ + { + "id": 5448, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5588, + "typeArguments": [ + { + "type": "reference", + "target": 5415, + "name": "PageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageOptions", + "refersToTypeParameter": true + }, + { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + } + } + ], + "name": "BrowserPoolNewPageInNewBrowserOptions", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 5449, + "name": "newPageWithEachPlugin", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 485, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L485" + } + ], + "signatures": [ + { + "id": 5450, + "name": "newPageWithEachPlugin", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens new pages with all available plugins and returns an array\nof pages in the same order as the plugins were provided to " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": ".\nThis is useful when you want to run a script in multiple environments\nat the same time, typically in testing or website analysis.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```js\nconst browserPool = new BrowserPool({\n browserPlugins: [\n new PlaywrightPlugin(playwright.chromium),\n new PlaywrightPlugin(playwright.firefox),\n new PlaywrightPlugin(playwright.webkit),\n ]\n});\n\nconst pages = await browserPool.newPageWithEachPlugin();\nconst [chromiumPage, firefoxPage, webkitPage] = pages;\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 485, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L485" + } + ], + "parameters": [ + { + "id": 5451, + "name": "optionsList", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5580, + "typeArguments": [ + { + "type": "reference", + "target": 5415, + "name": "PageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageOptions", + "refersToTypeParameter": true + }, + { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + } + } + ], + "name": "BrowserPoolNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "literal", + "value": "browserPlugin" + } + ], + "name": "Omit", + "package": "typescript" + } + }, + "defaultValue": "[]" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 5545, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 18, + "character": 4 + } + ], + "signatures": [ + { + "id": 5546, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 18, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5547, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5548, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3309, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 5549, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3309, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.off" + } + }, + { + "id": 5540, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 17, + "character": 4 + } + ], + "signatures": [ + { + "id": 5541, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 17, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5542, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5543, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3304, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 5544, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3304, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.on" + } + }, + { + "id": 5535, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 16, + "character": 4 + } + ], + "signatures": [ + { + "id": 5536, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 16, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5537, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5538, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3299, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 5539, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3299, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.once" + } + }, + { + "id": 5517, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 5518, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 12, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5519, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5520, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3281, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 5521, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3281, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.prependListener" + } + }, + { + "id": 5522, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 13, + "character": 4 + } + ], + "signatures": [ + { + "id": 5523, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 13, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5524, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5525, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3286, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 5526, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3286, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.prependOnceListener" + } + }, + { + "id": 5565, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 23, + "character": 4 + } + ], + "signatures": [ + { + "id": 5566, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 23, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5567, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5568, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3329, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3329, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.rawListeners" + } + }, + { + "id": 5532, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 15, + "character": 4 + } + ], + "signatures": [ + { + "id": 5533, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 15, + "character": 4 + } + ], + "parameters": [ + { + "id": 5534, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "unknown", + "name": "keyof BrowserPoolEvents" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.removeAllListeners" + } + }, + { + "id": 5527, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 14, + "character": 4 + } + ], + "signatures": [ + { + "id": 5528, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 14, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 5529, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "parameters": [ + { + "id": 5530, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3291, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 5531, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3291, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.removeListener" + } + }, + { + "id": 5473, + "name": "retireAllBrowsers", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 618, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L618" + } + ], + "signatures": [ + { + "id": 5474, + "name": "retireAllBrowsers", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes all active browsers from the pool. The browsers will be\nclosed after all their pages are closed." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 618, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L618" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 5470, + "name": "retireBrowserByPage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 609, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L609" + } + ], + "signatures": [ + { + "id": 5471, + "name": "retireBrowserByPage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes a browser from the pool. It will be\nclosed after all its pages are closed." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 609, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L609" + } + ], + "parameters": [ + { + "id": 5472, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 5467, + "name": "retireBrowserController", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 596, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L596" + } + ], + "signatures": [ + { + "id": 5468, + "name": "retireBrowserController", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes a browser controller from the pool. The underlying\nbrowser will be closed after all its pages are closed." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 596, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L596" + } + ], + "parameters": [ + { + "id": 5469, + "name": "browserController", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 5571, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 25, + "character": 4 + } + ], + "signatures": [ + { + "id": 5572, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 25, + "character": 4 + } + ], + "parameters": [ + { + "id": 5573, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "TypedEmitter.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 5409 + ] + }, + { + "title": "Properties", + "children": [ + 5434, + 5418, + 5422, + 5439, + 5438, + 5437, + 5424, + 5419, + 5421, + 5431, + 5433, + 5436, + 5432, + 5426, + 5430, + 5428, + 5425, + 5429, + 5427, + 5420, + 5435, + 5423, + 5408 + ] + }, + { + "title": "Methods", + "children": [ + 5512, + 5475, + 5477, + 5550, + 5555, + 5452, + 5569, + 5455, + 5458, + 5558, + 5561, + 5443, + 5446, + 5449, + 5545, + 5540, + 5535, + 5517, + 5522, + 5565, + 5532, + 5527, + 5473, + 5470, + 5467, + 5571 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L283" + } + ], + "typeParameters": [ + { + "id": 5574, + "name": "Options", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5347, + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5347, + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5575, + "name": "BrowserPlugins", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5152, + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + }, + "default": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "browserPlugins" + }, + "objectType": { + "type": "reference", + "target": 5411, + "name": "Options", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.Options", + "refersToTypeParameter": true + } + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5576, + "name": "BrowserControllerReturn", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createController" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + }, + { + "id": 5577, + "name": "LaunchContextReturn", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5244, + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "createLaunchContext" + }, + "objectType": { + "type": "indexedAccess", + "indexType": { + "type": "intrinsic", + "name": "number" + }, + "objectType": { + "type": "reference", + "target": 5412, + "name": "BrowserPlugins", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserPlugins", + "refersToTypeParameter": true + } + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + }, + { + "id": 5578, + "name": "PageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5579, + "name": "PageReturn", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5324, + "typeArguments": [ + { + "type": "reference", + "target": 5413, + "name": "BrowserControllerReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.BrowserControllerReturn", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5416, + "name": "PageReturn", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPool.PageReturn", + "refersToTypeParameter": true + } + ], + "name": "BrowserPoolEvents", + "package": "@crawlee/browser-pool" + } + ], + "name": "TypedEmitter", + "package": "tiny-typed-emitter" + } + ] + }, + { + "id": 5244, + "name": "LaunchContext", + "variant": "declaration", + "kind": 128, + "flags": {}, + "children": [ + { + "id": 5245, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L85" + } + ], + "signatures": [ + { + "id": 5246, + "name": "new LaunchContext", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L85" + } + ], + "typeParameter": [ + { + "id": 5247, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5248, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5247, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5249, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5247, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5250, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5249, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5251, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5249, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "parameters": [ + { + "id": 5252, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5279, + "typeArguments": [ + { + "type": "reference", + "target": 5247, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5248, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5249, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5250, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5251, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "LaunchContextOptions", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": 5247, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5248, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5249, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5250, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5251, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5257, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 74, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L74" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5254, + "name": "browserPlugin", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 71, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L71" + } + ], + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5247, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5248, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5249, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5250, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5251, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5258, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 75, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L75" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5263, + "name": "fingerprint", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L82" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/src/fingerprint-generator.ts", + "qualifiedName": "BrowserFingerprintWithHeaders" + }, + "name": "BrowserFingerprintWithHeaders", + "package": "fingerprint-generator" + } + }, + { + "id": 5253, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 70, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L70" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5255, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L72" + } + ], + "type": { + "type": "reference", + "target": 5248, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LibraryOptions", + "refersToTypeParameter": true + } + }, + { + "id": 5260, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 77, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L77" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5256, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 73, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L73" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5259, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5268, + "name": "proxyUrl", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 131, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L131" + }, + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 148, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L148" + } + ], + "getSignature": { + "id": 5269, + "name": "proxyUrl", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the proxy URL of the browser." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 148, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L148" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + "setSignature": { + "id": 5270, + "name": "proxyUrl", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets a proxy URL for the browser.\nUse " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " to unset existing proxy URL." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 131, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L131" + } + ], + "parameters": [ + { + "id": 5271, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 5264, + "name": "extend", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 117, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L117" + } + ], + "signatures": [ + { + "id": 5265, + "name": "extend", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Extend the launch context with any extra fields.\nThis is useful to keep state information relevant\nto the browser being launched. It ensures that\nno internal fields are overridden and should be\nused instead of property assignment." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 117, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L117" + } + ], + "typeParameter": [ + { + "id": 5266, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "PropertyKey" + }, + "name": "PropertyKey", + "package": "typescript" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + } + } + ], + "parameters": [ + { + "id": 5267, + "name": "fields", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5266, + "name": "T", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 5245 + ] + }, + { + "title": "Properties", + "children": [ + 5257, + 5254, + 5258, + 5263, + 5253, + 5255, + 5260, + 5256, + 5259 + ] + }, + { + "title": "Accessors", + "children": [ + 5268 + ] + }, + { + "title": "Methods", + "children": [ + 5264 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L63" + } + ], + "typeParameters": [ + { + "id": 5272, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5273, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5247, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5274, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5247, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5275, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5249, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5276, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5249, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContext.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "indexSignature": { + "id": 5277, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 83, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L83" + } + ], + "parameters": [ + { + "id": 5278, + "name": "K", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "PropertyKey" + }, + "name": "PropertyKey", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + }, + { + "id": 4971, + "name": "PlaywrightBrowser", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browser wrapper created to have consistent API with persistent and non-persistent contexts." + } + ] + }, + "children": [ + { + "id": 5012, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 19, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L19" + } + ], + "signatures": [ + { + "id": 5013, + "name": "new PlaywrightBrowser", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 19, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L19" + } + ], + "parameters": [ + { + "id": 5014, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "BrowserOptions" + }, + "name": "BrowserOptions", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reference", + "target": 4971, + "name": "PlaywrightBrowser", + "package": "@crawlee/browser-pool" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "EventEmitter.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "EventEmitter.constructor" + } + }, + { + "id": 5009, + "name": "captureRejectionSymbol", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: " + }, + { + "kind": "code", + "text": "`Symbol.for('nodejs.rejection')`" + }, + { + "kind": "text", + "text": "\n\nSee how to write a custom " + }, + { + "kind": "code", + "text": "`rejection handler`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 405, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1298, + "name": "captureRejectionSymbol", + "package": "@types/node", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.captureRejectionSymbol" + } + }, + { + "id": 5010, + "name": "captureRejections", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)\n\nChange the default " + }, + { + "kind": "code", + "text": "`captureRejections`" + }, + { + "kind": "text", + "text": " option on all new " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " objects." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 412, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.captureRejections" + } + }, + { + "id": 5011, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default, a maximum of " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners can be registered for any single\nevent. This limit can be changed for individual " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances\nusing the " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " method. To change the default\nfor _all_" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " property\ncan be used. If this value is not a positive number, a " + }, + { + "kind": "code", + "text": "`RangeError`" + }, + { + "kind": "text", + "text": " is thrown.\n\nTake caution when setting the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " because the\nchange affects _all_ " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, including those created before\nthe change is made. However, calling " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " still has\nprecedence over " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": ".\n\nThis is not a hard limit. The " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance will allow\nmore listeners to be added but will output a trace warning to stderr indicating\nthat a \"possible EventEmitter memory leak\" has been detected. For any single\n" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", the " + }, + { + "kind": "code", + "text": "`emitter.getMaxListeners()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " methods can be used to\ntemporarily avoid this warning:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.setMaxListeners(emitter.getMaxListeners() + 1);\nemitter.once('event', () => {\n // do stuff\n emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));\n});\n```" + }, + { + "kind": "text", + "text": "\n\nThe " + }, + { + "kind": "code", + "text": "`--trace-warnings`" + }, + { + "kind": "text", + "text": " command-line flag can be used to display the\nstack trace for such warnings.\n\nThe emitted warning can be inspected with " + }, + { + "kind": "code", + "text": "`process.on('warning')`" + }, + { + "kind": "text", + "text": " and will\nhave the additional " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`type`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`count`" + }, + { + "kind": "text", + "text": " properties, referring to\nthe event emitter instance, the event's name and the number of attached\nlisteners, respectively.\nIts " + }, + { + "kind": "code", + "text": "`name`" + }, + { + "kind": "text", + "text": " property is set to " + }, + { + "kind": "code", + "text": "`'MaxListenersExceededWarning'`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.11.2" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 451, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.defaultMaxListeners" + } + }, + { + "id": 5008, + "name": "errorMonitor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This symbol shall be used to install a listener for only monitoring " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " events. Listeners installed using this symbol are called before the regular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listeners are called.\n\nInstalling a listener using this symbol does not change the behavior once an " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is emitted. Therefore, the process will still crash if no\nregular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listener is installed." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 398, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1297, + "name": "errorMonitor", + "package": "@types/node", + "qualifiedName": "EventEmitter.errorMonitor" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.errorMonitor" + } + }, + { + "id": 5046, + "name": "[asyncDispose]", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 33, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L33" + } + ], + "signatures": [ + { + "id": 5047, + "name": "[asyncDispose]", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 33, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L33" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.[asyncDispose]" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.[asyncDispose]" + } + }, + { + "id": 5048, + "name": "[captureRejectionSymbol]", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "signatures": [ + { + "id": 5049, + "name": "[captureRejectionSymbol]", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "typeParameter": [ + { + "id": 5050, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5051, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 5052, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5053, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.[captureRejectionSymbol]" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.[captureRejectionSymbol]" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.[captureRejectionSymbol]" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.[captureRejectionSymbol]" + } + }, + { + "id": 5054, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "signatures": [ + { + "id": 5055, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.on(eventName, listener)`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5056, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5057, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5058, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 5059, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 5060, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 5061, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addListener" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addListener" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.addListener" + } + }, + { + "id": 5032, + "name": "browserType", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 58, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L58" + } + ], + "signatures": [ + { + "id": 5033, + "name": "browserType", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 58, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L58" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 5034, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.browserType" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.browserType" + } + }, + { + "id": 5020, + "name": "close", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 37, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L37" + } + ], + "signatures": [ + { + "id": 5021, + "name": "close", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 37, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L37" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.close" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.close" + } + }, + { + "id": 5022, + "name": "contexts", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L41" + } + ], + "signatures": [ + { + "id": 5023, + "name": "contexts", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L41" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserContext" + }, + "name": "BrowserContext", + "package": "playwright-core" + } + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.contexts" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.contexts" + } + }, + { + "id": 5110, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "signatures": [ + { + "id": 5111, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Synchronously calls each of the listeners registered for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", in the order they were registered, passing the supplied arguments\nto each.\n\nReturns " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the event had listeners, " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " otherwise.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEmitter = new EventEmitter();\n\n// First listener\nmyEmitter.on('event', function firstListener() {\n console.log('Helloooo! first listener');\n});\n// Second listener\nmyEmitter.on('event', function secondListener(arg1, arg2) {\n console.log(`event with parameters ${arg1}, ${arg2} in second listener`);\n});\n// Third listener\nmyEmitter.on('event', function thirdListener(...args) {\n const parameters = args.join(', ');\n console.log(`event with parameters ${parameters} in third listener`);\n});\n\nconsole.log(myEmitter.listeners('event'));\n\nmyEmitter.emit('event', 1, 2, 3, 4, 5);\n\n// Prints:\n// [\n// [Function: firstListener],\n// [Function: secondListener],\n// [Function: thirdListener]\n// ]\n// Helloooo! first listener\n// event with parameters 1, 2 in second listener\n// event with parameters 1, 2, 3, 4, 5 in third listener\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5112, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5113, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5114, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.emit" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.emit" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.emit" + } + }, + { + "id": 5136, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "signatures": [ + { + "id": 5137, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an array listing the events for which the emitter has registered\nlisteners. The values in the array are strings or " + }, + { + "kind": "code", + "text": "`Symbol`" + }, + { + "kind": "text", + "text": "s.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\n\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => {});\nmyEE.on('bar', () => {});\n\nconst sym = Symbol('symbol');\nmyEE.on(sym, () => {});\n\nconsole.log(myEE.eventNames());\n// Prints: [ 'foo', 'bar', Symbol(symbol) ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.eventNames" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.eventNames" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.eventNames" + } + }, + { + "id": 5100, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "signatures": [ + { + "id": 5101, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the current max listener value for the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " which is either\nset by " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " or defaults to " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "defaultMaxListeners", + "target": 5011 + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v1.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.getMaxListeners" + } + }, + { + "id": 5024, + "name": "isConnected", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 45, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L45" + } + ], + "signatures": [ + { + "id": 5025, + "name": "isConnected", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 45, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.isConnected" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.isConnected" + } + }, + { + "id": 5115, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "signatures": [ + { + "id": 5116, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the number of listeners listening for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\nIf " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " is provided, it will return how many times the listener is found\nin the list of the listeners of the event." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v3.2.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5117, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5118, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5119, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event handler function" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.listenerCount" + } + }, + { + "id": 5102, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "signatures": [ + { + "id": 5103, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\nconsole.log(util.inspect(server.listeners('connection')));\n// Prints: [ [Function] ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5104, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5105, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.listeners" + } + }, + { + "id": 5040, + "name": "newBrowserCDPSession", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 70, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L70" + } + ], + "signatures": [ + { + "id": 5041, + "name": "newBrowserCDPSession", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 70, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L70" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "never" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.newBrowserCDPSession" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.newBrowserCDPSession" + } + }, + { + "id": 5038, + "name": "newContext", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 66, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L66" + } + ], + "signatures": [ + { + "id": 5039, + "name": "newContext", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 66, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L66" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "never" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.newContext" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.newContext" + } + }, + { + "id": 5035, + "name": "newPage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 62, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L62" + } + ], + "signatures": [ + { + "id": 5036, + "name": "newPage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 62, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L62" + } + ], + "parameters": [ + { + "id": 5037, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.newPage" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.newPage" + } + }, + { + "id": 5086, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "signatures": [ + { + "id": 5087, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.removeListener()`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v10.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5088, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5089, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5090, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 5091, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 5092, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 5093, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.off" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.off" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.off" + } + }, + { + "id": 5062, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "signatures": [ + { + "id": 5063, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the end of the listeners array for the event\nnamed " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has already\nbeen added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => console.log('a'));\nmyEE.prependListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.101" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5064, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5065, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5066, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 5067, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 5068, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 5069, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.on" + } + }, + { + "id": 5070, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "signatures": [ + { + "id": 5071, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time** " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". The\nnext time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this listener is removed and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.once('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependOnceListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.once('foo', () => console.log('a'));\nmyEE.prependOnceListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5072, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5073, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5074, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 5075, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 5076, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 5077, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.once" + } + }, + { + "id": 5120, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "signatures": [ + { + "id": 5121, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the _beginning_ of the listeners array for the\nevent named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has\nalready been added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependListener('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5122, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5123, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5124, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 5125, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 5126, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 5127, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependListener" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependListener" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.prependListener" + } + }, + { + "id": 5128, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "signatures": [ + { + "id": 5129, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time**" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " to the _beginning_ of the listeners array. The next time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this\nlistener is removed, and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependOnceListener('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5130, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5131, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5132, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 5133, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 5134, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 5135, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependOnceListener" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependOnceListener" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.prependOnceListener" + } + }, + { + "id": 5106, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "signatures": [ + { + "id": 5107, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ",\nincluding any wrappers (such as those created by " + }, + { + "kind": "code", + "text": "`.once()`" + }, + { + "kind": "text", + "text": ").\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.once('log', () => console.log('log once'));\n\n// Returns a new Array with a function `onceWrapper` which has a property\n// `listener` which contains the original listener bound above\nconst listeners = emitter.rawListeners('log');\nconst logFnWrapper = listeners[0];\n\n// Logs \"log once\" to the console and does not unbind the `once` event\nlogFnWrapper.listener();\n\n// Logs \"log once\" to the console and removes the listener\nlogFnWrapper();\n\nemitter.on('log', () => console.log('log persistently'));\n// Will return a new Array with a single function bound by `.on()` above\nconst newListeners = emitter.rawListeners('log');\n\n// Logs \"log persistently\" twice\nnewListeners[0]();\nemitter.emit('log');\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v9.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5108, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5109, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.rawListeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.rawListeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.rawListeners" + } + }, + { + "id": 5094, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "signatures": [ + { + "id": 5095, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes all listeners, or those of the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nIt is bad practice to remove listeners added elsewhere in the code,\nparticularly when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance was created by some other\ncomponent or module (e.g. sockets or file streams).\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "parameters": [ + { + "id": 5096, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeAllListeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeAllListeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.removeAllListeners" + } + }, + { + "id": 5078, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "signatures": [ + { + "id": 5079, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the specified " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " from the listener array for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nconst callback = (stream) => {\n console.log('someone connected!');\n};\nserver.on('connection', callback);\n// ...\nserver.removeListener('connection', callback);\n```" + }, + { + "kind": "text", + "text": "\n\n" + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove, at most, one instance of a listener from the\nlistener array. If any single listener has been added multiple times to the\nlistener array for the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", then " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " must be\ncalled multiple times to remove each instance.\n\nOnce an event is emitted, all listeners attached to it at the\ntime of emitting are called in order. This implies that any " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`removeAllListeners()`" + }, + { + "kind": "text", + "text": " calls _after_ emitting and _before_ the last listener finishes execution\nwill not remove them from" + }, + { + "kind": "code", + "text": "`emit()`" + }, + { + "kind": "text", + "text": " in progress. Subsequent events behave as expected.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nclass MyEmitter extends EventEmitter {}\nconst myEmitter = new MyEmitter();\n\nconst callbackA = () => {\n console.log('A');\n myEmitter.removeListener('event', callbackB);\n};\n\nconst callbackB = () => {\n console.log('B');\n};\n\nmyEmitter.on('event', callbackA);\n\nmyEmitter.on('event', callbackB);\n\n// callbackA removes listener callbackB but it will still be called.\n// Internal listener array at time of emit [callbackA, callbackB]\nmyEmitter.emit('event');\n// Prints:\n// A\n// B\n\n// callbackB is now removed.\n// Internal listener array [callbackA]\nmyEmitter.emit('event');\n// Prints:\n// A\n```" + }, + { + "kind": "text", + "text": "\n\nBecause listeners are managed using an internal array, calling this will\nchange the position indices of any listener registered _after_ the listener\nbeing removed. This will not impact the order in which listeners are called,\nbut it means that any copies of the listener array as returned by\nthe " + }, + { + "kind": "code", + "text": "`emitter.listeners()`" + }, + { + "kind": "text", + "text": " method will need to be recreated.\n\nWhen a single function has been added as a handler multiple times for a single\nevent (as in the example below), " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove the most\nrecently added instance. In the example the " + }, + { + "kind": "code", + "text": "`once('ping')`" + }, + { + "kind": "text", + "text": " listener is removed:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst ee = new EventEmitter();\n\nfunction pong() {\n console.log('pong');\n}\n\nee.on('ping', pong);\nee.once('ping', pong);\nee.removeListener('ping', pong);\n\nee.emit('ping');\nee.emit('ping');\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 5080, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 5081, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 5082, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 5083, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 5084, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 5085, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeListener" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeListener" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.removeListener" + } + }, + { + "id": 5097, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "signatures": [ + { + "id": 5098, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s will print a warning if more than " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners are\nadded for a particular event. This is a useful default that helps finding\nmemory leaks. The " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " method allows the limit to be\nmodified for this specific " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance. The value can be set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": " (or " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": ") to indicate an unlimited number of listeners.\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.5" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "parameters": [ + { + "id": 5099, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.setMaxListeners" + } + }, + { + "id": 5042, + "name": "startTracing", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 74, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L74" + } + ], + "signatures": [ + { + "id": 5043, + "name": "startTracing", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 74, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L74" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "never" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.startTracing" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.startTracing" + } + }, + { + "id": 5044, + "name": "stopTracing", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 78, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L78" + } + ], + "signatures": [ + { + "id": 5045, + "name": "stopTracing", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 78, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L78" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "never" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.stopTracing" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.stopTracing" + } + }, + { + "id": 5026, + "name": "version", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 49, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L49" + } + ], + "signatures": [ + { + "id": 5027, + "name": "version", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 49, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L49" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.version" + } + } + ], + "implementationOf": { + "type": "reference", + "target": -1, + "name": "Browser.version" + } + }, + { + "id": 5001, + "name": "addAbortListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "signatures": [ + { + "id": 5002, + "name": "addAbortListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Listens once to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on the provided " + }, + { + "kind": "code", + "text": "`signal`" + }, + { + "kind": "text", + "text": ".\n\nListening to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on abort signals is unsafe and may\nlead to resource leaks since another third party with the signal can\ncall " + }, + { + "kind": "code", + "text": "`e.stopImmediatePropagation()`" + }, + { + "kind": "text", + "text": ". Unfortunately Node.js cannot change\nthis since it would violate the web standard. Additionally, the original\nAPI makes it easy to forget to remove listeners.\n\nThis API allows safely using " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": "s in Node.js APIs by solving these\ntwo issues by listening to the event such that " + }, + { + "kind": "code", + "text": "`stopImmediatePropagation`" + }, + { + "kind": "text", + "text": " does\nnot prevent the listener from running.\n\nReturns a disposable so that it may be unsubscribed from more easily.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { addAbortListener } from 'node:events';\n\nfunction example(signal) {\n let disposable;\n try {\n signal.addEventListener('abort', (e) => e.stopImmediatePropagation());\n disposable = addAbortListener(signal, (e) => {\n // Do something when signal is aborted.\n });\n } finally {\n disposable?.[Symbol.dispose]();\n }\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v20.5.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Disposable that removes the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " listener." + } + ] + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "parameters": [ + { + "id": 5003, + "name": "signal", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "AbortSignal" + }, + "name": "AbortSignal", + "package": "typescript" + } + }, + { + "id": 5004, + "name": "resource", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 5005, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "signatures": [ + { + "id": 5006, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "parameters": [ + { + "id": 5007, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "Event" + }, + "name": "Event", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.esnext.disposable.d.ts", + "qualifiedName": "Disposable" + }, + "name": "Disposable", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addAbortListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addAbortListener" + } + }, + { + "id": 4990, + "name": "getEventListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "signatures": [ + { + "id": 4991, + "name": "getEventListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.listeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the event listeners for the\nevent target. This is useful for debugging and diagnostic purposes.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getEventListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n const listener = () => console.log('Events are fun');\n ee.on('foo', listener);\n console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]\n}\n{\n const et = new EventTarget();\n const listener = () => console.log('Events are fun');\n et.addEventListener('foo', listener);\n console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.2.0, v14.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "parameters": [ + { + "id": 4992, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + }, + { + "id": 4993, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getEventListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getEventListeners" + } + }, + { + "id": 4994, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "signatures": [ + { + "id": 4995, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the currently set max amount of listeners.\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.getMaxListeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the max event listeners for the\nevent target. If the number of event handlers on a single EventTarget exceeds\nthe max set, the EventTarget will print a warning.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n console.log(getMaxListeners(ee)); // 10\n setMaxListeners(11, ee);\n console.log(getMaxListeners(ee)); // 11\n}\n{\n const et = new EventTarget();\n console.log(getMaxListeners(et)); // 10\n setMaxListeners(11, et);\n console.log(getMaxListeners(et)); // 11\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v19.9.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "parameters": [ + { + "id": 4996, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + }, + { + "id": 4986, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "signatures": [ + { + "id": 4987, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A class method that returns the number of listeners for the given " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " registered on the given " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, listenerCount } from 'node:events';\n\nconst myEmitter = new EventEmitter();\nmyEmitter.on('event', () => {});\nmyEmitter.on('event', () => {});\nconsole.log(listenerCount(myEmitter, 'event'));\n// Prints: 2\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.9.12" + } + ] + }, + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Since v3.2.0 - Use " + }, + { + "kind": "code", + "text": "`listenerCount`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "parameters": [ + { + "id": 4988, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The emitter to query" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 4989, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event name" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + }, + { + "id": 4981, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "signatures": [ + { + "id": 4982, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\n// Emit later on\nprocess.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n});\n\nfor await (const event of on(ee, 'foo')) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n}\n// Unreachable here\n```" + }, + { + "kind": "text", + "text": "\n\nReturns an " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events. It will throw\nif the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": ". It removes all listeners when\nexiting the loop. The " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " returned by each iteration is an array\ncomposed of the emitted event arguments.\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting on events:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ac = new AbortController();\n\n(async () => {\n const ee = new EventEmitter();\n\n // Emit later on\n process.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n });\n\n for await (const event of on(ee, 'foo', { signal: ac.signal })) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n }\n // Unreachable here\n})();\n\nprocess.nextTick(() => ac.abort());\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.16.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "An " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events emitted by the " + }, + { + "kind": "code", + "text": "`emitter`" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "parameters": [ + { + "id": 4983, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 4984, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4985, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "qualifiedName": "AsyncIterableIterator" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "AsyncIterableIterator", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + }, + { + "id": 4972, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + }, + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "signatures": [ + { + "id": 4973, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that is fulfilled when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits the given\nevent or that is rejected if the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " while waiting.\nThe " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " will resolve with an array of all the arguments emitted to the\ngiven event.\n\nThis method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special" + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event\nsemantics and does not listen to the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { once, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\nprocess.nextTick(() => {\n ee.emit('myevent', 42);\n});\n\nconst [value] = await once(ee, 'myevent');\nconsole.log(value);\n\nconst err = new Error('kaboom');\nprocess.nextTick(() => {\n ee.emit('error', err);\n});\n\ntry {\n await once(ee, 'myevent');\n} catch (err) {\n console.error('error happened', err);\n}\n```" + }, + { + "kind": "text", + "text": "\n\nThe special handling of the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is only used when " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for another event. If " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for the\n'" + }, + { + "kind": "code", + "text": "`error'`" + }, + { + "kind": "text", + "text": " event itself, then it is treated as any other kind of event without\nspecial handling:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\n\nonce(ee, 'error')\n .then(([err]) => console.log('ok', err.message))\n .catch((err) => console.error('error', err.message));\n\nee.emit('error', new Error('boom'));\n\n// Prints: ok boom\n```" + }, + { + "kind": "text", + "text": "\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting for the event:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\nconst ac = new AbortController();\n\nasync function foo(emitter, event, signal) {\n try {\n await once(emitter, event, { signal });\n console.log('event emitted!');\n } catch (error) {\n if (error.name === 'AbortError') {\n console.error('Waiting for the event was canceled!');\n } else {\n console.error('There was an error', error.message);\n }\n }\n}\n\nfoo(ee, 'foo', ac.signal);\nac.abort(); // Abort waiting for the event\nee.emit('foo'); // Prints: Waiting for the event was canceled!\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v11.13.0, v10.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + } + ], + "parameters": [ + { + "id": 4974, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 4975, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 4976, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + }, + { + "id": 4977, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "parameters": [ + { + "id": 4978, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + }, + { + "id": 4979, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4980, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + }, + { + "id": 4997, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "signatures": [ + { + "id": 4998, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { setMaxListeners, EventEmitter } from 'node:events';\n\nconst target = new EventTarget();\nconst emitter = new EventEmitter();\n\nsetMaxListeners(5, target, emitter);\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "parameters": [ + { + "id": 4999, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A non-negative number. The maximum number of listeners per " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": " event." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5000, + "name": "eventTargets", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 5012 + ] + }, + { + "title": "Properties", + "children": [ + 5009, + 5010, + 5011, + 5008 + ] + }, + { + "title": "Methods", + "children": [ + 5046, + 5048, + 5054, + 5032, + 5020, + 5022, + 5110, + 5136, + 5100, + 5024, + 5115, + 5102, + 5040, + 5038, + 5035, + 5086, + 5062, + 5070, + 5120, + 5128, + 5106, + 5094, + 5078, + 5097, + 5042, + 5044, + 5026, + 5001, + 4990, + 4994, + 4986, + 4981, + 4972, + 4997 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-browser.ts", + "line": 13, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-browser.ts#L13" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter" + }, + "name": "EventEmitter", + "package": "@types/node" + } + ], + "implementedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + } + ] + }, + { + "id": 3466, + "name": "PlaywrightController", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": " serves two purposes. First, it is the base class that\nspecialized controllers like " + }, + { + "kind": "code", + "text": "`PuppeteerController`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`PlaywrightController`" + }, + { + "kind": "text", + "text": "\nextend. Second, it defines the public interface of the specialized classes\nwhich provide only private methods. Therefore, we do not keep documentation\nfor the specialized classes, because it's the same for all of them." + } + ], + "blockTags": [ + { + "tag": "@hideconstructor", + "content": [] + } + ] + }, + "children": [ + { + "id": 3468, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L90" + } + ], + "signatures": [ + { + "id": 3469, + "name": "new PlaywrightController", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L90" + } + ], + "parameters": [ + { + "id": 3470, + "name": "browserPlugin", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 3471, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 3472, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 3473, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3474, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3475, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3476, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 3477, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3478, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3479, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 3480, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 3481, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 3482, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 3483, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3484, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3487, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3485, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3486, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3487, + 3485, + 3486 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 3488, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3489, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3490, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3493, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3492, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3491, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3493, + 3492, + 3491 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 3494, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3495, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3496, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3497, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3498, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 3499, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3500, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 3501, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3502, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3504, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3506, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3503, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3505, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3504, + 3506, + 3503, + 3505 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 3507, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3508, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3510, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 3512, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 3509, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3511, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3513, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3510, + 3512, + 3509, + 3511, + 3513 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 3514, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3515, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3516, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3517, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3518, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3520, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3519, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3520, + 3519 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3516, + 3517 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 3521, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 3522, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3523, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3525, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3524, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3525, + 3524 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 3526, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 3527, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 3528, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3529, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3530, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3533, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3535, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3536, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3531, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3534, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3538, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 3537, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3532, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3533, + 3535, + 3536, + 3531, + 3534, + 3538, + 3537, + 3532 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 3539, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3540, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3542, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3543, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3544, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3545, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3544, + 3545 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 3541, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3542, + 3541 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3529, + 3539 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 3546, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3547, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3548, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3549, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3550, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3552, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3551, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3552, + 3551 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 3553, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3554, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 3555, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3557, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3556, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3557, + 3556 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3473, + 3474, + 3475, + 3476, + 3477, + 3478, + 3482, + 3483, + 3488, + 3489, + 3494, + 3495, + 3496, + 3497, + 3498, + 3499, + 3500, + 3501, + 3507, + 3514, + 3521, + 3522, + 3526, + 3527, + 3546, + 3547, + 3548, + 3549, + 3553, + 3554 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reference", + "target": 3466, + "name": "PlaywrightController", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 3211, + "name": "BrowserController.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3210, + "name": "BrowserController.constructor" + } + }, + { + "id": 3843, + "name": "activePages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L72" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "target": 3225, + "name": "BrowserController.activePages" + } + }, + { + "id": 3751, + "name": "browser", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browser representation of the underlying automation library." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 51, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L51" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 3220, + "name": "BrowserController.browser" + } + }, + { + "id": 3663, + "name": "browserPlugin", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserPlugin`" + }, + { + "kind": "text", + "text": " instance used to launch the browser." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 46, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L46" + } + ], + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 3664, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 3665, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 3666, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3667, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3668, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3669, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 3670, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3671, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3672, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 3673, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 3674, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 3675, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 3676, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3677, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3680, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3678, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3679, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3680, + 3678, + 3679 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 3681, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3682, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3683, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3686, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3685, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3684, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3686, + 3685, + 3684 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 3687, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3688, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3689, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3690, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3691, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 3692, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3693, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 3694, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3695, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3697, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3699, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3696, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3698, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3697, + 3699, + 3696, + 3698 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 3700, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3701, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3703, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 3705, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 3702, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3704, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3706, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3703, + 3705, + 3702, + 3704, + 3706 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 3707, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3708, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3709, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3710, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3711, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3713, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3712, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3713, + 3712 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3709, + 3710 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 3714, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 3715, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3716, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3718, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3717, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3718, + 3717 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 3719, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 3720, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 3721, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3722, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3723, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3726, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3728, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3729, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3724, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3727, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3731, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 3730, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3725, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3726, + 3728, + 3729, + 3724, + 3727, + 3731, + 3730, + 3725 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 3732, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3733, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3735, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3736, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3737, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3738, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3737, + 3738 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 3734, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3735, + 3734 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3722, + 3732 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 3739, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3740, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3741, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3742, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3743, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3745, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3744, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3745, + 3744 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 3746, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3747, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 3748, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3750, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3749, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3750, + 3749 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3666, + 3667, + 3668, + 3669, + 3670, + 3671, + 3675, + 3676, + 3681, + 3682, + 3687, + 3688, + 3689, + 3690, + 3691, + 3692, + 3693, + 3694, + 3700, + 3707, + 3714, + 3715, + 3719, + 3720, + 3739, + 3740, + 3741, + 3742, + 3746, + 3747 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 3219, + "name": "BrowserController.browserPlugin" + } + }, + { + "id": 3662, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L41" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 3218, + "name": "BrowserController.id" + } + }, + { + "id": 3842, + "name": "isActive", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 70, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L70" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 3224, + "name": "BrowserController.isActive" + } + }, + { + "id": 3845, + "name": "lastPageOpenedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 3227, + "name": "BrowserController.lastPageOpenedAt" + } + }, + { + "id": 3752, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration the browser was launched with." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L56" + } + ], + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 3753, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 3754, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 3755, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3756, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3757, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3758, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 3759, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3760, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3761, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 3762, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 3763, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 3764, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 3765, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3766, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3769, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3767, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3768, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3769, + 3767, + 3768 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 3770, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3771, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3772, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3775, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3774, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3773, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3775, + 3774, + 3773 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 3776, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3777, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3778, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3779, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3780, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 3781, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3782, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 3783, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3784, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3786, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3788, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3785, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3787, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3786, + 3788, + 3785, + 3787 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 3789, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3790, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3792, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 3794, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 3791, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3793, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3795, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3792, + 3794, + 3791, + 3793, + 3795 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 3796, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3797, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3798, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3799, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3800, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3802, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3801, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3802, + 3801 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3798, + 3799 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 3803, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 3804, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3805, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3807, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3806, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3807, + 3806 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 3808, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 3809, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 3810, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3811, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3812, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3815, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3817, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3818, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3813, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3816, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3820, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 3819, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3814, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3815, + 3817, + 3818, + 3813, + 3816, + 3820, + 3819, + 3814 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 3821, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3822, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3824, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 3825, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3826, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3827, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3826, + 3827 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 3823, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3824, + 3823 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3811, + 3821 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 3828, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 3829, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3830, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3831, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3832, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3834, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3833, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3834, + 3833 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 3835, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3836, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 3837, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 3839, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3838, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3839, + 3838 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3755, + 3756, + 3757, + 3758, + 3759, + 3760, + 3764, + 3765, + 3770, + 3771, + 3776, + 3777, + 3778, + 3779, + 3780, + 3781, + 3782, + 3783, + 3789, + 3796, + 3803, + 3804, + 3808, + 3809, + 3828, + 3829, + 3830, + 3831, + 3835, + 3836 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 3221, + "name": "BrowserController.launchContext" + } + }, + { + "id": 3840, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The proxy tier tied to this browser controller.\n" + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " if no tiered proxy is used." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 62, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L62" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3222, + "name": "BrowserController.proxyTier" + } + }, + { + "id": 3841, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The proxy URL used by the browser controller. This is set every time the browser controller uses proxy (even the tiered one).\n" + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " if no proxy is used" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L68" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 3223, + "name": "BrowserController.proxyUrl" + } + }, + { + "id": 3844, + "name": "totalPages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 74, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L74" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "target": 3226, + "name": "BrowserController.totalPages" + } + }, + { + "id": 3467, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 10, + "character": 11 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3209, + "name": "BrowserController.defaultMaxListeners" + } + }, + { + "id": 4039, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 4040, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 11, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4041, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4042, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3276, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 4043, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3276, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4044, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4045, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4046, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4047, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4048, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4049, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4050, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4051, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4052, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4053, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4054, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4055, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4056, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4057, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4060, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4058, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4059, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4060, + 4058, + 4059 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4061, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4062, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4063, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4066, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4065, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4064, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4066, + 4065, + 4064 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4067, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4068, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4069, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4070, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4071, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4072, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4073, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4074, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4075, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4077, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4079, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4076, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4078, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4077, + 4079, + 4076, + 4078 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4080, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4081, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4083, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4085, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4082, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4084, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4086, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4083, + 4085, + 4082, + 4084, + 4086 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4087, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4088, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4089, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4090, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4091, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4093, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4092, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4093, + 4092 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4089, + 4090 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4094, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4095, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4096, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4098, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4097, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4098, + 4097 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4099, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4100, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4101, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4102, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4103, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4106, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4108, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4109, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4104, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4107, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4111, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4110, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4105, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4106, + 4108, + 4109, + 4104, + 4107, + 4111, + 4110, + 4105 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4112, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4113, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4115, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4116, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4117, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4118, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4117, + 4118 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4114, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4115, + 4114 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4102, + 4112 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4119, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4120, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4121, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4122, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4123, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4125, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4124, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4125, + 4124 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4126, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4127, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4128, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4130, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4129, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4130, + 4129 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4046, + 4047, + 4048, + 4049, + 4050, + 4051, + 4055, + 4056, + 4061, + 4062, + 4067, + 4068, + 4069, + 4070, + 4071, + 4072, + 4073, + 4074, + 4080, + 4087, + 4094, + 4095, + 4099, + 4100, + 4119, + 4120, + 4121, + 4122, + 4126, + 4127 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3275, + "name": "BrowserController.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3274, + "name": "BrowserController.addListener" + } + }, + { + "id": 3939, + "name": "close", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 127, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L127" + } + ], + "signatures": [ + { + "id": 3940, + "name": "close", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gracefully closes the browser and makes sure\nthere will be no lingering browser processes.\n\nEmits 'browserClosed' event." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 127, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L127" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3243, + "name": "BrowserController.close" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3242, + "name": "BrowserController.close" + } + }, + { + "id": 4686, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 19, + "character": 4 + } + ], + "signatures": [ + { + "id": 4687, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 19, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4688, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4689, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3314, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 4690, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3314, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4691, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4692, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4693, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4694, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4695, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4696, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4697, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4698, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4699, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4700, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4701, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4702, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4703, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4704, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4707, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4705, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4706, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4707, + 4705, + 4706 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4708, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4709, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4710, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4713, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4712, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4711, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4713, + 4712, + 4711 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4714, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4715, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4716, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4717, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4718, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4719, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4720, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4721, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4722, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4724, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4726, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4723, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4725, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4724, + 4726, + 4723, + 4725 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4727, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4728, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4730, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4732, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4729, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4731, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4733, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4730, + 4732, + 4729, + 4731, + 4733 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4734, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4735, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4736, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4737, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4738, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4740, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4739, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4740, + 4739 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4736, + 4737 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4741, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4742, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4743, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4745, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4744, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4745, + 4744 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4746, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4747, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4748, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4749, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4750, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4753, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4755, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4756, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4751, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4754, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4758, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4757, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4752, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4753, + 4755, + 4756, + 4751, + 4754, + 4758, + 4757, + 4752 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4759, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4760, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4762, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4763, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4764, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 4765, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4764, + 4765 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4761, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4762, + 4761 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4749, + 4759 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4766, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4767, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4768, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4769, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4770, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4772, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4771, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4772, + 4771 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4773, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4774, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4775, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4777, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4776, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4777, + 4776 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4693, + 4694, + 4695, + 4696, + 4697, + 4698, + 4702, + 4703, + 4708, + 4709, + 4714, + 4715, + 4716, + 4717, + 4718, + 4719, + 4720, + 4721, + 4727, + 4734, + 4741, + 4742, + 4746, + 4747, + 4766, + 4767, + 4768, + 4769, + 4773, + 4774 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 3313, + "name": "BrowserController.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3312, + "name": "BrowserController.emit" + } + }, + { + "id": 4778, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 20, + "character": 4 + } + ], + "signatures": [ + { + "id": 4779, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 20, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4780, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 3319, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + "inheritedFrom": { + "type": "reference", + "target": 3318, + "name": "BrowserController.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3317, + "name": "BrowserController.eventNames" + } + }, + { + "id": 4036, + "name": "getCookies", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 177, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L177" + } + ], + "signatures": [ + { + "id": 4037, + "name": "getCookies", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 177, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L177" + } + ], + "parameters": [ + { + "id": 4038, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 59, + "name": "Cookie", + "package": "@crawlee/types" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3254, + "name": "BrowserController.getCookies" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3253, + "name": "BrowserController.getCookies" + } + }, + { + "id": 4966, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 24, + "character": 4 + } + ], + "signatures": [ + { + "id": 4967, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3332, + "name": "BrowserController.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3331, + "name": "BrowserController.getMaxListeners" + } + }, + { + "id": 3941, + "name": "kill", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 152, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L152" + } + ], + "signatures": [ + { + "id": 3942, + "name": "kill", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Immediately kills the browser process.\n\nEmits 'browserClosed' event." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 152, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L152" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3245, + "name": "BrowserController.kill" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3244, + "name": "BrowserController.kill" + } + }, + { + "id": 4781, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 21, + "character": 4 + } + ], + "signatures": [ + { + "id": 4782, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 21, + "character": 4 + } + ], + "parameters": [ + { + "id": 4783, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3321, + "name": "BrowserController.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3320, + "name": "BrowserController.listenerCount" + } + }, + { + "id": 4784, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 22, + "character": 4 + } + ], + "signatures": [ + { + "id": 4785, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 22, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4786, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4787, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3325, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3325, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4788, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4789, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4790, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4791, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4792, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4793, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4794, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4795, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4796, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4797, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4798, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4799, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4800, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4801, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4804, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4802, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4803, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4804, + 4802, + 4803 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4805, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4806, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4807, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4810, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4809, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4808, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4810, + 4809, + 4808 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4811, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4812, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4813, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4814, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4815, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4816, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4817, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4818, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4819, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4821, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4823, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4820, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4822, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4821, + 4823, + 4820, + 4822 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4824, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4825, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4827, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4829, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4826, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4828, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4830, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4827, + 4829, + 4826, + 4828, + 4830 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4831, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4832, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4833, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4834, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4835, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4837, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4836, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4837, + 4836 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4833, + 4834 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4838, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4839, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4840, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4842, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4841, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4842, + 4841 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4843, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4844, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4845, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4846, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4847, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4850, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4852, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4853, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4848, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4851, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4855, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4854, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4849, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4850, + 4852, + 4853, + 4848, + 4851, + 4855, + 4854, + 4849 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4856, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4857, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4859, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4860, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4861, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 4862, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4861, + 4862 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4858, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4859, + 4858 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4846, + 4856 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4863, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4864, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4865, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4866, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4867, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4869, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4868, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4869, + 4868 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4870, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4871, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4872, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4874, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4873, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4874, + 4873 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4790, + 4791, + 4792, + 4793, + 4794, + 4795, + 4799, + 4800, + 4805, + 4806, + 4811, + 4812, + 4813, + 4814, + 4815, + 4816, + 4817, + 4818, + 4824, + 4831, + 4838, + 4839, + 4843, + 4844, + 4863, + 4864, + 4865, + 4866, + 4870, + 4871 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": 3324, + "name": "BrowserController.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3323, + "name": "BrowserController.listeners" + } + }, + { + "id": 3558, + "name": "normalizeProxyOptions", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-controller.ts", + "line": 14, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-controller.ts#L14" + } + ], + "signatures": [ + { + "id": 3559, + "name": "normalizeProxyOptions", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-controller.ts", + "line": 14, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-controller.ts#L14" + } + ], + "parameters": [ + { + "id": 3560, + "name": "proxyUrl", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 3561, + "name": "pageOptions", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "BrowserController.normalizeProxyOptions" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "BrowserController.normalizeProxyOptions" + } + }, + { + "id": 4594, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 18, + "character": 4 + } + ], + "signatures": [ + { + "id": 4595, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 18, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4596, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4597, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3309, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 4598, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3309, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4599, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4600, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4601, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4602, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4603, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4604, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4605, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4606, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4607, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4608, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4609, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4610, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4611, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4612, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4615, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4613, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4614, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4615, + 4613, + 4614 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4616, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4617, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4618, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4621, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4620, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4619, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4621, + 4620, + 4619 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4622, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4623, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4624, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4625, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4626, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4627, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4628, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4629, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4630, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4632, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4634, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4631, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4633, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4632, + 4634, + 4631, + 4633 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4635, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4636, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4638, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4640, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4637, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4639, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4641, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4638, + 4640, + 4637, + 4639, + 4641 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4642, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4643, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4644, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4645, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4646, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4648, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4647, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4648, + 4647 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4644, + 4645 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4649, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4650, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4651, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4653, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4652, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4653, + 4652 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4654, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4655, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4656, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4657, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4658, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4661, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4663, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4664, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4659, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4662, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4666, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4665, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4660, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4661, + 4663, + 4664, + 4659, + 4662, + 4666, + 4665, + 4660 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4667, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4668, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4670, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4671, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4672, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4673, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4672, + 4673 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4669, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4670, + 4669 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4657, + 4667 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4674, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4675, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4676, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4677, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4678, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4680, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4679, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4680, + 4679 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4681, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4682, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4683, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4685, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4684, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4685, + 4684 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4601, + 4602, + 4603, + 4604, + 4605, + 4606, + 4610, + 4611, + 4616, + 4617, + 4622, + 4623, + 4624, + 4625, + 4626, + 4627, + 4628, + 4629, + 4635, + 4642, + 4649, + 4650, + 4654, + 4655, + 4674, + 4675, + 4676, + 4677, + 4681, + 4682 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3308, + "name": "BrowserController.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3307, + "name": "BrowserController.off" + } + }, + { + "id": 4502, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 17, + "character": 4 + } + ], + "signatures": [ + { + "id": 4503, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 17, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4504, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4505, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3304, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 4506, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3304, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4507, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4508, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4509, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4510, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4511, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4512, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4513, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4514, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4515, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4516, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4517, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4518, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4519, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4520, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4523, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4521, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4522, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4523, + 4521, + 4522 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4524, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4525, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4526, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4529, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4528, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4527, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4529, + 4528, + 4527 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4530, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4531, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4532, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4533, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4534, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4535, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4536, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4537, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4538, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4540, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4542, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4539, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4541, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4540, + 4542, + 4539, + 4541 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4543, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4544, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4546, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4548, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4545, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4547, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4549, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4546, + 4548, + 4545, + 4547, + 4549 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4550, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4551, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4552, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4553, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4554, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4556, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4555, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4556, + 4555 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4552, + 4553 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4557, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4558, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4559, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4561, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4560, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4561, + 4560 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4562, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4563, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4564, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4565, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4566, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4569, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4571, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4572, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4567, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4570, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4574, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4573, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4568, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4569, + 4571, + 4572, + 4567, + 4570, + 4574, + 4573, + 4568 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4575, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4576, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4578, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4579, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4580, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4581, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4580, + 4581 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4577, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4578, + 4577 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4565, + 4575 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4582, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4583, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4584, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4585, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4586, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4588, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4587, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4588, + 4587 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4589, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4590, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4591, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4593, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4592, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4593, + 4592 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4509, + 4510, + 4511, + 4512, + 4513, + 4514, + 4518, + 4519, + 4524, + 4525, + 4530, + 4531, + 4532, + 4533, + 4534, + 4535, + 4536, + 4537, + 4543, + 4550, + 4557, + 4558, + 4562, + 4563, + 4582, + 4583, + 4584, + 4585, + 4589, + 4590 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3303, + "name": "BrowserController.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3302, + "name": "BrowserController.on" + } + }, + { + "id": 4410, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 16, + "character": 4 + } + ], + "signatures": [ + { + "id": 4411, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 16, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4412, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4413, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3299, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 4414, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3299, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4415, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4416, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4417, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4418, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4419, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4420, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4421, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4422, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4423, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4424, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4425, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4426, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4427, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4428, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4431, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4429, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4430, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4431, + 4429, + 4430 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4432, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4433, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4434, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4437, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4436, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4435, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4437, + 4436, + 4435 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4438, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4439, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4440, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4441, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4442, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4443, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4444, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4445, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4446, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4448, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4450, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4447, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4449, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4448, + 4450, + 4447, + 4449 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4451, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4452, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4454, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4456, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4453, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4455, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4457, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4454, + 4456, + 4453, + 4455, + 4457 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4458, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4459, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4460, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4461, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4462, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4464, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4463, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4464, + 4463 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4460, + 4461 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4465, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4466, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4467, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4469, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4468, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4469, + 4468 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4470, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4471, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4472, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4473, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4474, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4477, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4479, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4480, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4475, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4478, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4482, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4481, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4476, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4477, + 4479, + 4480, + 4475, + 4478, + 4482, + 4481, + 4476 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4483, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4484, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4486, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4487, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4488, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4489, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4488, + 4489 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4485, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4486, + 4485 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4473, + 4483 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4490, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4491, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4492, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4493, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4494, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4496, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4495, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4496, + 4495 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4497, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4498, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4499, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4501, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4500, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4501, + 4500 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4417, + 4418, + 4419, + 4420, + 4421, + 4422, + 4426, + 4427, + 4432, + 4433, + 4438, + 4439, + 4440, + 4441, + 4442, + 4443, + 4444, + 4445, + 4451, + 4458, + 4465, + 4466, + 4470, + 4471, + 4490, + 4491, + 4492, + 4493, + 4497, + 4498 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3298, + "name": "BrowserController.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3297, + "name": "BrowserController.once" + } + }, + { + "id": 4131, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 4132, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 12, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4133, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4134, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3281, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 4135, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3281, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4136, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4137, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4138, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4139, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4140, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4141, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4142, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4143, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4144, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4145, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4146, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4147, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4148, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4149, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4152, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4150, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4151, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4152, + 4150, + 4151 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4153, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4154, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4155, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4158, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4157, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4156, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4158, + 4157, + 4156 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4159, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4160, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4161, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4162, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4163, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4164, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4165, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4166, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4167, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4169, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4171, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4168, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4170, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4169, + 4171, + 4168, + 4170 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4172, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4173, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4175, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4177, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4174, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4176, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4178, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4175, + 4177, + 4174, + 4176, + 4178 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4179, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4180, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4181, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4182, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4183, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4185, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4184, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4185, + 4184 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4181, + 4182 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4186, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4187, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4188, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4190, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4189, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4190, + 4189 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4191, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4192, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4193, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4194, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4195, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4198, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4200, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4201, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4196, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4199, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4203, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4202, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4197, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4198, + 4200, + 4201, + 4196, + 4199, + 4203, + 4202, + 4197 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4204, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4205, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4207, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4208, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4209, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4210, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4209, + 4210 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4206, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4207, + 4206 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4194, + 4204 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4211, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4212, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4213, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4214, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4215, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4217, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4216, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4217, + 4216 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4218, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4219, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4220, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4222, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4221, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4222, + 4221 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4138, + 4139, + 4140, + 4141, + 4142, + 4143, + 4147, + 4148, + 4153, + 4154, + 4159, + 4160, + 4161, + 4162, + 4163, + 4164, + 4165, + 4166, + 4172, + 4179, + 4186, + 4187, + 4191, + 4192, + 4211, + 4212, + 4213, + 4214, + 4218, + 4219 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3280, + "name": "BrowserController.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3279, + "name": "BrowserController.prependListener" + } + }, + { + "id": 4223, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 13, + "character": 4 + } + ], + "signatures": [ + { + "id": 4224, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 13, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4225, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4226, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3286, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 4227, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3286, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4228, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4229, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4230, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4231, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4232, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4233, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4234, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4235, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4236, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4237, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4238, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4239, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4240, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4241, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4244, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4242, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4243, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4244, + 4242, + 4243 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4245, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4246, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4247, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4250, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4249, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4248, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4250, + 4249, + 4248 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4251, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4252, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4253, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4254, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4255, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4256, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4257, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4258, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4259, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4261, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4263, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4260, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4262, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4261, + 4263, + 4260, + 4262 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4264, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4265, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4267, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4269, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4266, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4268, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4270, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4267, + 4269, + 4266, + 4268, + 4270 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4271, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4272, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4273, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4274, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4275, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4277, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4276, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4277, + 4276 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4273, + 4274 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4278, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4279, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4280, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4282, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4281, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4282, + 4281 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4283, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4284, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4285, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4286, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4287, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4290, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4292, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4293, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4288, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4291, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4295, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4294, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4289, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4290, + 4292, + 4293, + 4288, + 4291, + 4295, + 4294, + 4289 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4296, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4297, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4299, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4300, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4301, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4302, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4301, + 4302 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4298, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4299, + 4298 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4286, + 4296 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4303, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4304, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4305, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4306, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4307, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4309, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4308, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4309, + 4308 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4310, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4311, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4312, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4314, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4313, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4314, + 4313 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4230, + 4231, + 4232, + 4233, + 4234, + 4235, + 4239, + 4240, + 4245, + 4246, + 4251, + 4252, + 4253, + 4254, + 4255, + 4256, + 4257, + 4258, + 4264, + 4271, + 4278, + 4279, + 4283, + 4284, + 4303, + 4304, + 4305, + 4306, + 4310, + 4311 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3285, + "name": "BrowserController.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3284, + "name": "BrowserController.prependOnceListener" + } + }, + { + "id": 4875, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 23, + "character": 4 + } + ], + "signatures": [ + { + "id": 4876, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 23, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4877, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4878, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3329, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3329, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4879, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4880, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4881, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4882, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4883, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4884, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4885, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4886, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4887, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4888, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4889, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4890, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4891, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4892, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4895, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4893, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4894, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4895, + 4893, + 4894 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4896, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4897, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4898, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4901, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4900, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4899, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4901, + 4900, + 4899 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4902, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4903, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4904, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4905, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4906, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4907, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4908, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4909, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4910, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4912, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4914, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4911, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4913, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4912, + 4914, + 4911, + 4913 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4915, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4916, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4918, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4920, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4917, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4919, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4921, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4918, + 4920, + 4917, + 4919, + 4921 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4922, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4923, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4924, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4925, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4926, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4928, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4927, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4928, + 4927 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4924, + 4925 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4929, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4930, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4931, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4933, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4932, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4933, + 4932 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4934, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4935, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4936, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4937, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4938, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4941, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4943, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4944, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4939, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4942, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4946, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4945, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4940, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4941, + 4943, + 4944, + 4939, + 4942, + 4946, + 4945, + 4940 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4947, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4948, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4950, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4951, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4952, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 4953, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4952, + 4953 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4949, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4950, + 4949 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4937, + 4947 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4954, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4955, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4956, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4957, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4958, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4960, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4959, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4960, + 4959 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4961, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4962, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4963, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4965, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4964, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4965, + 4964 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4881, + 4882, + 4883, + 4884, + 4885, + 4886, + 4890, + 4891, + 4896, + 4897, + 4902, + 4903, + 4904, + 4905, + 4906, + 4907, + 4908, + 4909, + 4915, + 4922, + 4929, + 4930, + 4934, + 4935, + 4954, + 4955, + 4956, + 4957, + 4961, + 4962 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": 3328, + "name": "BrowserController.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3327, + "name": "BrowserController.rawListeners" + } + }, + { + "id": 4407, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 15, + "character": 4 + } + ], + "signatures": [ + { + "id": 4408, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 15, + "character": 4 + } + ], + "parameters": [ + { + "id": 4409, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3295, + "name": "BrowserController.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3294, + "name": "BrowserController.removeAllListeners" + } + }, + { + "id": 4315, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 14, + "character": 4 + } + ], + "signatures": [ + { + "id": 4316, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 14, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 4317, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 4318, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3291, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 4319, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3291, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 4320, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 4321, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4322, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4323, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4324, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4325, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4326, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4327, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4328, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 4329, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 4330, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 4331, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 4332, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4333, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4336, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4334, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4335, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4336, + 4334, + 4335 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 4337, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4338, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4339, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4342, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4341, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4340, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4342, + 4341, + 4340 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 4343, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4344, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4345, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4346, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4347, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 4348, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4349, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 4350, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4351, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4353, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4355, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4352, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4354, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4353, + 4355, + 4352, + 4354 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 4356, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4357, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4359, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 4361, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 4358, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4360, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4362, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4359, + 4361, + 4358, + 4360, + 4362 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 4363, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4364, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4365, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4366, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4367, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4369, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4368, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4369, + 4368 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4365, + 4366 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 4370, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 4371, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4372, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4374, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4373, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4374, + 4373 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 4375, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 4376, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 4377, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4378, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4379, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4382, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4384, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4385, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4380, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4383, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4387, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 4386, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4381, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4382, + 4384, + 4385, + 4380, + 4383, + 4387, + 4386, + 4381 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 4388, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4389, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4391, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 4392, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4393, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4394, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4393, + 4394 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 4390, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4391, + 4390 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4378, + 4388 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 4395, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 4396, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4397, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4398, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 4399, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4401, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4400, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4401, + 4400 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 4402, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 4403, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 4404, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 4406, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 4405, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4406, + 4405 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 4322, + 4323, + 4324, + 4325, + 4326, + 4327, + 4331, + 4332, + 4337, + 4338, + 4343, + 4344, + 4345, + 4346, + 4347, + 4348, + 4349, + 4350, + 4356, + 4363, + 4370, + 4371, + 4375, + 4376, + 4395, + 4396, + 4397, + 4398, + 4402, + 4403 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3290, + "name": "BrowserController.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3289, + "name": "BrowserController.removeListener" + } + }, + { + "id": 4032, + "name": "setCookies", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 173, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L173" + } + ], + "signatures": [ + { + "id": 4033, + "name": "setCookies", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 173, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L173" + } + ], + "parameters": [ + { + "id": 4034, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 4035, + "name": "cookies", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 59, + "name": "Cookie", + "package": "@crawlee/types" + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3250, + "name": "BrowserController.setCookies" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3249, + "name": "BrowserController.setCookies" + } + }, + { + "id": 4968, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 25, + "character": 4 + } + ], + "signatures": [ + { + "id": 4969, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 25, + "character": 4 + } + ], + "parameters": [ + { + "id": 4970, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3334, + "name": "BrowserController.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3333, + "name": "BrowserController.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 3468 + ] + }, + { + "title": "Properties", + "children": [ + 3843, + 3751, + 3663, + 3662, + 3842, + 3845, + 3752, + 3840, + 3841, + 3844, + 3467 + ] + }, + { + "title": "Methods", + "children": [ + 4039, + 3939, + 4686, + 4778, + 4036, + 4966, + 3941, + 4781, + 4784, + 3558, + 4594, + 4502, + 4410, + 4131, + 4223, + 4875, + 4407, + 4315, + 4032, + 4968 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-controller.ts", + "line": 13, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-controller.ts#L13" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "SafeParameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "name": "BrowserType", + "package": "playwright-core" + } + } + ], + "name": "SafeParameters", + "package": "@crawlee/browser-pool" + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + ] + }, + { + "id": 5595, + "name": "PlaywrightPlugin", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserPlugin`" + }, + { + "kind": "text", + "text": " serves two purposes. First, it is the base class that\nspecialized controllers like " + }, + { + "kind": "code", + "text": "`PuppeteerPlugin`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`PlaywrightPlugin`" + }, + { + "kind": "text", + "text": " extend.\nSecond, it allows the user to configure the automation libraries and\nfeed them to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " for use." + } + ] + }, + "children": [ + { + "id": 5596, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L124" + } + ], + "signatures": [ + { + "id": 5597, + "name": "new PlaywrightPlugin", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L124" + } + ], + "parameters": [ + { + "id": 5598, + "name": "library", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 5599, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + } + }, + { + "id": 5600, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5203, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + } + ], + "name": "BrowserPluginOptions", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 5154, + "name": "BrowserPlugin.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 5153, + "name": "BrowserPlugin.constructor" + } + }, + { + "id": 5602, + "name": "_containerProxyServer", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-plugin.ts", + "line": 35, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-plugin.ts#L35" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5603, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 5605, + "name": "ipToProxy", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/container-proxy-server.ts", + "line": 47, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/container-proxy-server.ts#L47" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2015.collection.d.ts", + "qualifiedName": "Map" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "Map", + "package": "typescript" + } + }, + { + "id": 5604, + "name": "port", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/container-proxy-server.ts", + "line": 46, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/container-proxy-server.ts#L46" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "proxyServer.port" + }, + { + "id": 5606, + "name": "close", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/container-proxy-server.ts", + "line": 48, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/container-proxy-server.ts#L48" + } + ], + "signatures": [ + { + "id": 5607, + "name": "close", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/container-proxy-server.ts", + "line": 48, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/container-proxy-server.ts#L48" + } + ], + "parameters": [ + { + "id": 5608, + "name": "closeConnections", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5605, + 5604 + ] + }, + { + "title": "Methods", + "children": [ + 5606 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/container-proxy-server.ts", + "line": 45, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/container-proxy-server.ts#L45" + } + ] + } + } + }, + { + "id": 5979, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L122" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 5169, + "name": "BrowserPlugin.browserPerProxy" + } + }, + { + "id": 5978, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L120" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 5168, + "name": "BrowserPlugin.experimentalContainers" + } + }, + { + "id": 5974, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 112, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L112" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": 5164, + "name": "BrowserPlugin.launchOptions" + } + }, + { + "id": 5972, + "name": "library", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L110" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 5973, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + "inheritedFrom": { + "type": "reference", + "target": 5163, + "name": "BrowserPlugin.library" + } + }, + { + "id": 5971, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 108, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L108" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 5162, + "name": "BrowserPlugin.name" + } + }, + { + "id": 5975, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L114" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 5165, + "name": "BrowserPlugin.proxyUrl" + } + }, + { + "id": 5977, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 118, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L118" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 5167, + "name": "BrowserPlugin.useIncognitoPages" + } + }, + { + "id": 5976, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 116, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L116" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 5166, + "name": "BrowserPlugin.userDataDir" + } + }, + { + "id": 6157, + "name": "createController", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 176, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L176" + } + ], + "signatures": [ + { + "id": 6158, + "name": "createController", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 176, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L176" + } + ], + "type": { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 6159, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 6160, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 6161, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6162, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6163, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6164, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 6165, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6166, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6167, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 6168, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 6169, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 6170, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 6171, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6172, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6175, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6173, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6174, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6175, + 6173, + 6174 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 6176, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6177, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6178, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6181, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6180, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6179, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6181, + 6180, + 6179 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 6182, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6183, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6184, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6185, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6186, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 6187, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6188, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 6189, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6190, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6192, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6194, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6191, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6193, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6192, + 6194, + 6191, + 6193 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 6195, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6196, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6198, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 6200, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 6197, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6199, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6201, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6198, + 6200, + 6197, + 6199, + 6201 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 6202, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6203, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6204, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6205, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6206, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6208, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6207, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6208, + 6207 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6204, + 6205 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 6209, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 6210, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6211, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6213, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6212, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6213, + 6212 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 6214, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 6215, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 6216, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6217, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6218, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6221, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6223, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6224, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6219, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6222, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6226, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 6225, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6220, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6221, + 6223, + 6224, + 6219, + 6222, + 6226, + 6225, + 6220 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 6227, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6228, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6230, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6231, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6232, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6233, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6232, + 6233 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 6229, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6230, + 6229 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6217, + 6227 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 6234, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6235, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6236, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6237, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6238, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6240, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6239, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6240, + 6239 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 6241, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6242, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 6243, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6245, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6244, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6245, + 6244 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6161, + 6162, + 6163, + 6164, + 6165, + 6166, + 6170, + 6171, + 6176, + 6177, + 6182, + 6183, + 6184, + 6185, + 6186, + 6187, + 6188, + 6189, + 6195, + 6202, + 6209, + 6210, + 6214, + 6215, + 6234, + 6235, + 6236, + 6237, + 6241, + 6242 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 5174, + "name": "BrowserPlugin.createController" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 5173, + "name": "BrowserPlugin.createController" + } + }, + { + "id": 5980, + "name": "createLaunchContext", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L149" + } + ], + "signatures": [ + { + "id": 5981, + "name": "createLaunchContext", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " with all the information needed\nto launch a browser. Aside from library specific launch options,\nit also includes internal properties used by " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " for\nmanagement of the pool and extra features." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L149" + } + ], + "parameters": [ + { + "id": 5982, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5211, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 5983, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 5984, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 5985, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5986, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5987, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5988, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 5989, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5990, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5991, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 5992, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 5993, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 5994, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 5995, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5996, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 5999, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5997, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5998, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5999, + 5997, + 5998 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 6000, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6001, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6002, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6005, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6004, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6003, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6005, + 6004, + 6003 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 6006, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6007, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6008, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6009, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6010, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 6011, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6012, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 6013, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6014, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6016, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6018, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6015, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6017, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6016, + 6018, + 6015, + 6017 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 6019, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6020, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6022, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 6024, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 6021, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6023, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6025, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6022, + 6024, + 6021, + 6023, + 6025 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 6026, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6027, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6028, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6029, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6030, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6032, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6031, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6032, + 6031 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6028, + 6029 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 6033, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 6034, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6035, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6037, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6036, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6037, + 6036 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 6038, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 6039, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 6040, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6041, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6042, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6045, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6047, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6048, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6043, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6046, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6050, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 6049, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6044, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6045, + 6047, + 6048, + 6043, + 6046, + 6050, + 6049, + 6044 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 6051, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6052, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6054, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6055, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6056, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6057, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6056, + 6057 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 6053, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6054, + 6053 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6041, + 6051 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 6058, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6059, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6060, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6061, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6062, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6064, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6063, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6064, + 6063 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 6065, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6066, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 6067, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6069, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6068, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6069, + 6068 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5985, + 5986, + 5987, + 5988, + 5989, + 5990, + 5994, + 5995, + 6000, + 6001, + 6006, + 6007, + 6008, + 6009, + 6010, + 6011, + 6012, + 6013, + 6019, + 6026, + 6033, + 6034, + 6038, + 6039, + 6058, + 6059, + 6060, + 6061, + 6065, + 6066 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "CreateLaunchContextOptions", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 6070, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 6071, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 6072, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6073, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6074, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6075, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 6076, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6077, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6078, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 6079, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 6080, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 6081, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 6082, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6083, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6086, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6084, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6085, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6086, + 6084, + 6085 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 6087, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6088, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6089, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6092, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6091, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6090, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6092, + 6091, + 6090 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 6093, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6094, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6095, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6096, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6097, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 6098, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6099, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 6100, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6101, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6103, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6105, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6102, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6104, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6103, + 6105, + 6102, + 6104 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 6106, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6107, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6109, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 6111, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 6108, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6110, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6112, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6109, + 6111, + 6108, + 6110, + 6112 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 6113, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6114, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6115, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6116, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6117, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6119, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6118, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6119, + 6118 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6115, + 6116 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 6120, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 6121, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6122, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6124, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6123, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6124, + 6123 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 6125, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 6126, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 6127, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6128, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6129, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6132, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6134, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6135, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6130, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6133, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6137, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 6136, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6131, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6132, + 6134, + 6135, + 6130, + 6133, + 6137, + 6136, + 6131 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 6138, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6139, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6141, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6142, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6143, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6144, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6143, + 6144 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 6140, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6141, + 6140 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6128, + 6138 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 6145, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6146, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6147, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6148, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6149, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6151, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6150, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6151, + 6150 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 6152, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6153, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 6154, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6156, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6155, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6156, + 6155 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6072, + 6073, + 6074, + 6075, + 6076, + 6077, + 6081, + 6082, + 6087, + 6088, + 6093, + 6094, + 6095, + 6096, + 6097, + 6098, + 6099, + 6100, + 6106, + 6113, + 6120, + 6121, + 6125, + 6126, + 6145, + 6146, + 6147, + 6148, + 6152, + 6153 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 5171, + "name": "BrowserPlugin.createLaunchContext" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 5170, + "name": "BrowserPlugin.createLaunchContext" + } + }, + { + "id": 6246, + "name": "launch", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 183, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L183" + } + ], + "signatures": [ + { + "id": 6247, + "name": "launch", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Launches the browser using provided launch context." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 183, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L183" + } + ], + "parameters": [ + { + "id": 6248, + "name": "launchContext", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 6249, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 6250, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 6251, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6252, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6253, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6254, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 6255, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6256, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6257, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 6258, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 6259, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 6260, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 6261, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6262, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6265, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6263, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6264, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6265, + 6263, + 6264 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 6266, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6267, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6268, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6271, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6270, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6269, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6271, + 6270, + 6269 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 6272, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6273, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6274, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6275, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6276, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 6277, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6278, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 6279, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6280, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6282, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6284, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6281, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6283, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6282, + 6284, + 6281, + 6283 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 6285, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6286, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6288, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 6290, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 6287, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6289, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6291, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6288, + 6290, + 6287, + 6289, + 6291 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 6292, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6293, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6294, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6295, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6296, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6298, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6297, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6298, + 6297 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6294, + 6295 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 6299, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 6300, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6301, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6303, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6302, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6303, + 6302 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 6304, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 6305, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 6306, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6307, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6308, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6311, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6313, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6314, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6309, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6312, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6316, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 6315, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6310, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6311, + 6313, + 6314, + 6309, + 6312, + 6316, + 6315, + 6310 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 6317, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6318, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6320, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 6321, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6322, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6323, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6322, + 6323 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 6319, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6320, + 6319 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6307, + 6317 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 6324, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 6325, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6326, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6327, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 6328, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6330, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6329, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6330, + 6329 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 6331, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 6332, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 6333, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 6335, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 6334, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6335, + 6334 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 6251, + 6252, + 6253, + 6254, + 6255, + 6256, + 6260, + 6261, + 6266, + 6267, + 6272, + 6273, + 6274, + 6275, + 6276, + 6277, + 6278, + 6279, + 6285, + 6292, + 6299, + 6300, + 6304, + 6305, + 6324, + 6325, + 6326, + 6327, + 6331, + 6332 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 5176, + "name": "BrowserPlugin.launch" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 5175, + "name": "BrowserPlugin.launch" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 5596 + ] + }, + { + "title": "Properties", + "children": [ + 5602, + 5979, + 5978, + 5974, + 5972, + 5971, + 5975, + 5977, + 5976 + ] + }, + { + "title": "Methods", + "children": [ + 6157, + 5980, + 6246 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/playwright/playwright-plugin.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/playwright/playwright-plugin.ts#L33" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "SafeParameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "name": "BrowserType", + "package": "playwright-core" + } + } + ], + "name": "SafeParameters", + "package": "@crawlee/browser-pool" + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "PlaywrightBrowser", + "package": "playwright-core", + "qualifiedName": "Browser" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + ] + }, + { + "id": 3351, + "name": "PuppeteerController", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": " serves two purposes. First, it is the base class that\nspecialized controllers like " + }, + { + "kind": "code", + "text": "`PuppeteerController`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`PlaywrightController`" + }, + { + "kind": "text", + "text": "\nextend. Second, it defines the public interface of the specialized classes\nwhich provide only private methods. Therefore, we do not keep documentation\nfor the specialized classes, because it's the same for all of them." + } + ], + "blockTags": [ + { + "tag": "@hideconstructor", + "content": [] + } + ] + }, + "children": [ + { + "id": 3353, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L90" + } + ], + "signatures": [ + { + "id": 3354, + "name": "new PuppeteerController", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L90" + } + ], + "parameters": [ + { + "id": 3355, + "name": "browserPlugin", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reference", + "target": 3351, + "name": "PuppeteerController", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 3211, + "name": "BrowserController.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3210, + "name": "BrowserController.constructor" + } + }, + { + "id": 3381, + "name": "activePages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L72" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "target": 3225, + "name": "BrowserController.activePages" + } + }, + { + "id": 3376, + "name": "browser", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browser representation of the underlying automation library." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 51, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L51" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 3220, + "name": "BrowserController.browser" + } + }, + { + "id": 3375, + "name": "browserPlugin", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserPlugin`" + }, + { + "kind": "text", + "text": " instance used to launch the browser." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 46, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L46" + } + ], + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 3219, + "name": "BrowserController.browserPlugin" + } + }, + { + "id": 3374, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L41" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 3218, + "name": "BrowserController.id" + } + }, + { + "id": 3380, + "name": "isActive", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 70, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L70" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 3224, + "name": "BrowserController.isActive" + } + }, + { + "id": 3383, + "name": "lastPageOpenedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 3227, + "name": "BrowserController.lastPageOpenedAt" + } + }, + { + "id": 3377, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration the browser was launched with." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L56" + } + ], + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 3221, + "name": "BrowserController.launchContext" + } + }, + { + "id": 3378, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The proxy tier tied to this browser controller.\n" + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " if no tiered proxy is used." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 62, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L62" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3222, + "name": "BrowserController.proxyTier" + } + }, + { + "id": 3379, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The proxy URL used by the browser controller. This is set every time the browser controller uses proxy (even the tiered one).\n" + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " if no proxy is used" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L68" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 3223, + "name": "BrowserController.proxyUrl" + } + }, + { + "id": 3382, + "name": "totalPages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 74, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L74" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "target": 3226, + "name": "BrowserController.totalPages" + } + }, + { + "id": 3352, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 10, + "character": 11 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3209, + "name": "BrowserController.defaultMaxListeners" + } + }, + { + "id": 3404, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 11, + "character": 4 + } + ], + "signatures": [ + { + "id": 3405, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 11, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3406, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3407, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3276, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3408, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3276, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3275, + "name": "BrowserController.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3274, + "name": "BrowserController.addListener" + } + }, + { + "id": 3390, + "name": "close", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 127, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L127" + } + ], + "signatures": [ + { + "id": 3391, + "name": "close", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gracefully closes the browser and makes sure\nthere will be no lingering browser processes.\n\nEmits 'browserClosed' event." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 127, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L127" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3243, + "name": "BrowserController.close" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3242, + "name": "BrowserController.close" + } + }, + { + "id": 3442, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 19, + "character": 4 + } + ], + "signatures": [ + { + "id": 3443, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 19, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3444, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3445, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3314, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3446, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3314, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 3313, + "name": "BrowserController.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3312, + "name": "BrowserController.emit" + } + }, + { + "id": 3447, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 20, + "character": 4 + } + ], + "signatures": [ + { + "id": 3448, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 20, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3449, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 3319, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + "inheritedFrom": { + "type": "reference", + "target": 3318, + "name": "BrowserController.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3317, + "name": "BrowserController.eventNames" + } + }, + { + "id": 3401, + "name": "getCookies", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 177, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L177" + } + ], + "signatures": [ + { + "id": 3402, + "name": "getCookies", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 177, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L177" + } + ], + "parameters": [ + { + "id": 3403, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 59, + "name": "Cookie", + "package": "@crawlee/types" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3254, + "name": "BrowserController.getCookies" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3253, + "name": "BrowserController.getCookies" + } + }, + { + "id": 3461, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 24, + "character": 4 + } + ], + "signatures": [ + { + "id": 3462, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3332, + "name": "BrowserController.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3331, + "name": "BrowserController.getMaxListeners" + } + }, + { + "id": 3392, + "name": "kill", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 152, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L152" + } + ], + "signatures": [ + { + "id": 3393, + "name": "kill", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Immediately kills the browser process.\n\nEmits 'browserClosed' event." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 152, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L152" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3245, + "name": "BrowserController.kill" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3244, + "name": "BrowserController.kill" + } + }, + { + "id": 3450, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 21, + "character": 4 + } + ], + "signatures": [ + { + "id": 3451, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 21, + "character": 4 + } + ], + "parameters": [ + { + "id": 3452, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 3321, + "name": "BrowserController.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3320, + "name": "BrowserController.listenerCount" + } + }, + { + "id": 3453, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 22, + "character": 4 + } + ], + "signatures": [ + { + "id": 3454, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 22, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3455, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3456, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3325, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3325, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": 3324, + "name": "BrowserController.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3323, + "name": "BrowserController.listeners" + } + }, + { + "id": 3356, + "name": "normalizeProxyOptions", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/puppeteer/puppeteer-controller.ts#L23" + } + ], + "signatures": [ + { + "id": 3357, + "name": "normalizeProxyOptions", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/puppeteer/puppeteer-controller.ts#L23" + } + ], + "parameters": [ + { + "id": 3358, + "name": "proxyUrl", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 3359, + "name": "pageOptions", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "BrowserController.normalizeProxyOptions" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "BrowserController.normalizeProxyOptions" + } + }, + { + "id": 3437, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 18, + "character": 4 + } + ], + "signatures": [ + { + "id": 3438, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 18, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3439, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3440, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3309, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3441, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3309, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3308, + "name": "BrowserController.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3307, + "name": "BrowserController.off" + } + }, + { + "id": 3432, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 17, + "character": 4 + } + ], + "signatures": [ + { + "id": 3433, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 17, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3434, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3435, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3304, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3436, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3304, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3303, + "name": "BrowserController.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3302, + "name": "BrowserController.on" + } + }, + { + "id": 3427, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 16, + "character": 4 + } + ], + "signatures": [ + { + "id": 3428, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 16, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3429, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3430, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3299, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3431, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3299, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3298, + "name": "BrowserController.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3297, + "name": "BrowserController.once" + } + }, + { + "id": 3409, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 12, + "character": 4 + } + ], + "signatures": [ + { + "id": 3410, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 12, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3411, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3412, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3281, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3413, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3281, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3280, + "name": "BrowserController.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3279, + "name": "BrowserController.prependListener" + } + }, + { + "id": 3414, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 13, + "character": 4 + } + ], + "signatures": [ + { + "id": 3415, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 13, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3416, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3417, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3286, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3418, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3286, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3285, + "name": "BrowserController.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3284, + "name": "BrowserController.prependOnceListener" + } + }, + { + "id": 3457, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 23, + "character": 4 + } + ], + "signatures": [ + { + "id": 3458, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 23, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3459, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3460, + "name": "type", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3329, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3329, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": 3328, + "name": "BrowserController.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3327, + "name": "BrowserController.rawListeners" + } + }, + { + "id": 3424, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 15, + "character": 4 + } + ], + "signatures": [ + { + "id": 3425, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 15, + "character": 4 + } + ], + "parameters": [ + { + "id": 3426, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3295, + "name": "BrowserController.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3294, + "name": "BrowserController.removeAllListeners" + } + }, + { + "id": 3419, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 14, + "character": 4 + } + ], + "signatures": [ + { + "id": 3420, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 14, + "character": 4 + } + ], + "typeParameter": [ + { + "id": 3421, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 6387, + "name": "BROWSER_CLOSED", + "package": "@crawlee/browser-pool", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + } + } + ], + "parameters": [ + { + "id": 3422, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 3291, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + } + }, + { + "id": 3423, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "indexedAccess", + "indexType": { + "type": "reference", + "target": 3291, + "name": "U", + "package": "tiny-typed-emitter", + "refersToTypeParameter": true + }, + "objectType": { + "type": "reference", + "target": 3341, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserControllerEvents", + "package": "@crawlee/browser-pool" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3290, + "name": "BrowserController.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3289, + "name": "BrowserController.removeListener" + } + }, + { + "id": 3397, + "name": "setCookies", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 173, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L173" + } + ], + "signatures": [ + { + "id": 3398, + "name": "setCookies", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 173, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L173" + } + ], + "parameters": [ + { + "id": 3399, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 3400, + "name": "cookies", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 59, + "name": "Cookie", + "package": "@crawlee/types" + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 3250, + "name": "BrowserController.setCookies" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3249, + "name": "BrowserController.setCookies" + } + }, + { + "id": 3463, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 25, + "character": 4 + } + ], + "signatures": [ + { + "id": 3464, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/tiny-typed-emitter/lib/index.d.ts", + "line": 25, + "character": 4 + } + ], + "parameters": [ + { + "id": 3465, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 3334, + "name": "BrowserController.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 3333, + "name": "BrowserController.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 3353 + ] + }, + { + "title": "Properties", + "children": [ + 3381, + 3376, + 3375, + 3374, + 3380, + 3383, + 3377, + 3378, + 3379, + 3382, + 3352 + ] + }, + { + "title": "Methods", + "children": [ + 3404, + 3390, + 3442, + 3447, + 3401, + 3461, + 3392, + 3450, + 3453, + 3356, + 3437, + 3432, + 3427, + 3409, + 3414, + 3457, + 3424, + 3419, + 3397, + 3463 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "line": 17, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/puppeteer/puppeteer-controller.ts#L17" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "query", + "queryType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "puppeteer" + }, + "name": "Puppeteer", + "package": "puppeteer", + "qualifiedName": "puppeteer", + "preferValues": true + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerTypes.PuppeteerLaunchOptions", + "package": "puppeteer", + "qualifiedName": "PuppeteerLaunchOptions" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "PuppeteerTypes.Browser", + "package": "puppeteer", + "qualifiedName": "Browser" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + ] + }, + { + "id": 6342, + "name": "PuppeteerPlugin", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserPlugin`" + }, + { + "kind": "text", + "text": " serves two purposes. First, it is the base class that\nspecialized controllers like " + }, + { + "kind": "code", + "text": "`PuppeteerPlugin`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`PlaywrightPlugin`" + }, + { + "kind": "text", + "text": " extend.\nSecond, it allows the user to configure the automation libraries and\nfeed them to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " for use." + } + ] + }, + "children": [ + { + "id": 6343, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L124" + } + ], + "signatures": [ + { + "id": 6344, + "name": "new PuppeteerPlugin", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L124" + } + ], + "parameters": [ + { + "id": 6345, + "name": "library", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + } + }, + { + "id": 6346, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5203, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + } + ], + "name": "BrowserPluginOptions", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 5154, + "name": "BrowserPlugin.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 5153, + "name": "BrowserPlugin.constructor" + } + }, + { + "id": 6365, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L122" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 5169, + "name": "BrowserPlugin.browserPerProxy" + } + }, + { + "id": 6364, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L120" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 5168, + "name": "BrowserPlugin.experimentalContainers" + } + }, + { + "id": 6360, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 112, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L112" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + "inheritedFrom": { + "type": "reference", + "target": 5164, + "name": "BrowserPlugin.launchOptions" + } + }, + { + "id": 6359, + "name": "library", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L110" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + "inheritedFrom": { + "type": "reference", + "target": 5163, + "name": "BrowserPlugin.library" + } + }, + { + "id": 6358, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 108, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L108" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 5162, + "name": "BrowserPlugin.name" + } + }, + { + "id": 6361, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L114" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 5165, + "name": "BrowserPlugin.proxyUrl" + } + }, + { + "id": 6363, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 118, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L118" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 5167, + "name": "BrowserPlugin.useIncognitoPages" + } + }, + { + "id": 6362, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 116, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L116" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 5166, + "name": "BrowserPlugin.userDataDir" + } + }, + { + "id": 6369, + "name": "createController", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 176, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L176" + } + ], + "signatures": [ + { + "id": 6370, + "name": "createController", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 176, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L176" + } + ], + "type": { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 5174, + "name": "BrowserPlugin.createController" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 5173, + "name": "BrowserPlugin.createController" + } + }, + { + "id": 6366, + "name": "createLaunchContext", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L149" + } + ], + "signatures": [ + { + "id": 6367, + "name": "createLaunchContext", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " with all the information needed\nto launch a browser. Aside from library specific launch options,\nit also includes internal properties used by " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " for\nmanagement of the pool and extra features." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L149" + } + ], + "parameters": [ + { + "id": 6368, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5211, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "CreateLaunchContextOptions", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 5171, + "name": "BrowserPlugin.createLaunchContext" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 5170, + "name": "BrowserPlugin.createLaunchContext" + } + }, + { + "id": 6371, + "name": "launch", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 183, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L183" + } + ], + "signatures": [ + { + "id": 6372, + "name": "launch", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Launches the browser using provided launch context." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 183, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L183" + } + ], + "parameters": [ + { + "id": 6373, + "name": "launchContext", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 5176, + "name": "BrowserPlugin.launch" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 5175, + "name": "BrowserPlugin.launch" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 6343 + ] + }, + { + "title": "Properties", + "children": [ + 6365, + 6364, + 6360, + 6359, + 6358, + 6361, + 6363, + 6362 + ] + }, + { + "title": "Methods", + "children": [ + 6369, + 6366, + 6371 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/puppeteer/puppeteer-plugin.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/puppeteer/puppeteer-plugin.ts#L18" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "query", + "queryType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "puppeteer" + }, + "name": "Puppeteer", + "package": "puppeteer", + "qualifiedName": "puppeteer", + "preferValues": true + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerTypes.PuppeteerLaunchOptions", + "package": "puppeteer", + "qualifiedName": "PuppeteerLaunchOptions" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "PuppeteerTypes.Browser", + "package": "puppeteer", + "qualifiedName": "Browser" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + ] + }, + { + "id": 3341, + "name": "BrowserControllerEvents", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 3342, + "name": "browserClosed", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 22, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L22" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 3343, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 23, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L23" + } + ], + "signatures": [ + { + "id": 3344, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 23, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L23" + } + ], + "parameters": [ + { + "id": 3345, + "name": "controller", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": 3346, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3347, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3348, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3349, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 3350, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3342 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-controller.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-controller.ts#L15" + } + ], + "typeParameters": [ + { + "id": 3346, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 3347, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 3346, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 3348, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 3346, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 3349, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 3348, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 3350, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 3348, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserControllerEvents.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5203, + "name": "BrowserPluginOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5209, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler respects the proxy url generated for the given request.\nThis aligns the browser-based crawlers with the " + }, + { + "kind": "code", + "text": "`HttpCrawler`" + }, + { + "kind": "text", + "text": ".\n\nMight cause performance issues, as Crawlee might launch too many browser instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 84, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L84" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5207, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Like " + }, + { + "kind": "code", + "text": "`useIncognitoPages`" + }, + { + "kind": "text", + "text": ", but for persistent contexts, so cache is used for faster loading.\nWorks best with Firefox. Unstable on Chromium." + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 73, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L73" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5204, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options that will be passed down to the automation library. E.g.\n" + }, + { + "kind": "code", + "text": "`puppeteer.launch(launchOptions);`" + }, + { + "kind": "text", + "text": ". This is a good place to set\noptions that you want to apply as defaults. To dynamically override\nthose options per-browser, see the " + }, + { + "kind": "code", + "text": "`preLaunchHooks`" + }, + { + "kind": "text", + "text": " of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L54" + } + ], + "type": { + "type": "reference", + "target": 5210, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPluginOptions.LibraryOptions", + "refersToTypeParameter": true + } + }, + { + "id": 5205, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Automation libraries configure proxies differently. This helper allows you\nto set a proxy URL without worrying about specific implementations.\nIt also allows you use an authenticated proxy without extra code." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 60, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L60" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5206, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default pages share the same browser context.\nIf set to true each page uses its own context that is destroyed once the page is closed or crashes." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 67, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L67" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5208, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to a User Data Directory, which stores browser session data like cookies and local storage." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 77, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L77" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5209, + 5207, + 5204, + 5205, + 5206, + 5208 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 47, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L47" + } + ], + "typeParameters": [ + { + "id": 5210, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 7412, + "name": "BrowserLaunchContext" + } + ] + }, + { + "id": 5324, + "name": "BrowserPoolEvents", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5337, + "name": "browserLaunched", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 28, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L28" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5338, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 28, + "character": 44, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L28" + } + ], + "signatures": [ + { + "id": 5339, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 28, + "character": 44, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L28" + } + ], + "parameters": [ + { + "id": 5340, + "name": "browserController", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5341, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolEvents.BC", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5333, + "name": "browserRetired", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L27" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5334, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 27, + "character": 43, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L27" + } + ], + "signatures": [ + { + "id": 5335, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 27, + "character": 43, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L27" + } + ], + "parameters": [ + { + "id": 5336, + "name": "browserController", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5341, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolEvents.BC", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5329, + "name": "pageClosed", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L26" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5330, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 26, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L26" + } + ], + "signatures": [ + { + "id": 5331, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 26, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L26" + } + ], + "parameters": [ + { + "id": 5332, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5342, + "name": "Page", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolEvents.Page", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5325, + "name": "pageCreated", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 25, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L25" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5326, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 25, + "character": 40, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L25" + } + ], + "signatures": [ + { + "id": 5327, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 25, + "character": 40, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L25" + } + ], + "parameters": [ + { + "id": 5328, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5342, + "name": "Page", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolEvents.Page", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5337, + 5333, + 5329, + 5325 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 24, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L24" + } + ], + "typeParameters": [ + { + "id": 5341, + "name": "BC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5342, + "name": "Page", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ] + }, + { + "id": 5397, + "name": "BrowserPoolHooks", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5399, + "name": "postLaunchHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Post-launch hooks are executed as soon as a browser is launched.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`pageId`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`string`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": "\nTo guarantee order of execution before other hooks in the same browser,\nthe " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": " methods cannot be used until the post-launch\nhooks complete. If you attempt to call " + }, + { + "kind": "code", + "text": "`await browserController.close()`" + }, + { + "kind": "text", + "text": " from\na post-launch hook, it will deadlock the process. This API is subject to change." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L200" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5363, + "typeArguments": [ + { + "type": "reference", + "target": 5404, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.BC", + "refersToTypeParameter": true + } + ], + "name": "PostLaunchHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5403, + "name": "postPageCloseHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Post-page-close hooks allow you to do page related clean up.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`pageId`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`string`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 233, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L233" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5391, + "typeArguments": [ + { + "type": "reference", + "target": 5404, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.BC", + "refersToTypeParameter": true + } + ], + "name": "PostPageCloseHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5401, + "name": "postPageCreateHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Post-page-create hooks are called right after a new page is created\nand all internal actions of Browser Pool are completed. This is the\nplace to make changes to a page that you would like to apply to all\npages. Such as injecting a JavaScript library into all pages.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 219, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L219" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5377, + "typeArguments": [ + { + "type": "reference", + "target": 5404, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.BC", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5406, + "name": "PR", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.PR", + "refersToTypeParameter": true + } + ], + "name": "PostPageCreateHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5398, + "name": "preLaunchHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pre-launch hooks are executed just before a browser is launched and provide\na good opportunity to dynamically change the launch options.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`pageId`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`string`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`launchContext`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LaunchContext" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 190, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L190" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5357, + "typeArguments": [ + { + "type": "reference", + "target": 5405, + "name": "LC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.LC", + "refersToTypeParameter": true + } + ], + "name": "PreLaunchHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5402, + "name": "prePageCloseHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pre-page-close hooks give you the opportunity to make last second changes\nin a page that's about to be closed, such as saving a snapshot or updating\nstate.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 227, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L227" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5384, + "typeArguments": [ + { + "type": "reference", + "target": 5404, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.BC", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5406, + "name": "PR", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.PR", + "refersToTypeParameter": true + } + ], + "name": "PrePageCloseHook", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5400, + "name": "prePageCreateHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pre-page-create hooks are executed just before a new page is created. They\nare useful to make dynamic changes to the browser before opening a page.\nThe hooks are called with three arguments:\n" + }, + { + "kind": "code", + "text": "`pageId`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`string`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`object|undefined`" + }, + { + "kind": "text", + "text": " - This only works if the underlying " + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": " supports new page options.\nSo far, new page options are only supported by " + }, + { + "kind": "code", + "text": "`PlaywrightController`" + }, + { + "kind": "text", + "text": " in incognito contexts.\nIf the page options are not supported by " + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": " the " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " argument is " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 210, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L210" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5369, + "typeArguments": [ + { + "type": "reference", + "target": 5404, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.BC", + "refersToTypeParameter": true + }, + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5404, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.BC", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + ], + "name": "PrePageCreateHook", + "package": "@crawlee/browser-pool" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5399, + 5403, + 5401, + 5398, + 5402, + 5400 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 179, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L179" + } + ], + "typeParameters": [ + { + "id": 5404, + "name": "BC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5405, + "name": "LC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5244, + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5406, + "name": "PR", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5404, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.BC", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5404, + "name": "BC", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolHooks.BC", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5588, + "name": "BrowserPoolNewPageInNewBrowserOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5591, + "name": "browserPlugin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provide a plugin to launch the browser. If none is provided,\n one of the pool's available plugins will be used.\n\n If you configured " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " to rotate multiple libraries,\n such as both Puppeteer and Playwright, you should always set\n the " + }, + { + "kind": "code", + "text": "`browserPlugin`" + }, + { + "kind": "text", + "text": " when using the " + }, + { + "kind": "code", + "text": "`launchOptions`" + }, + { + "kind": "text", + "text": " option.\n\n The plugin will not be added to the list of plugins used by\n the pool. You can either use one of those, to launch a specific\n browser, or provide a completely new configuration." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 900, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L900" + } + ], + "type": { + "type": "reference", + "target": 5594, + "name": "BP", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.BP", + "refersToTypeParameter": true + } + }, + { + "id": 5589, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Assign a custom ID to the page. If you don't a random string ID\nwill be generated." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 882, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L882" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5592, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options that will be used to launch the new browser." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 904, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L904" + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launchOptions" + }, + "objectType": { + "type": "reference", + "target": 5594, + "name": "BP", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.BP", + "refersToTypeParameter": true + } + } + }, + { + "id": 5590, + "name": "pageOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Some libraries (Playwright) allow you to open new pages with specific\noptions. Use this property to set those options." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 887, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L887" + } + ], + "type": { + "type": "reference", + "target": 5593, + "name": "PageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.PageOptions", + "refersToTypeParameter": true + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5591, + 5589, + 5592, + 5590 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 877, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L877" + } + ], + "typeParameters": [ + { + "id": 5593, + "name": "PageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {} + }, + { + "id": 5594, + "name": "BP", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5152, + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5580, + "name": "BrowserPoolNewPageOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5583, + "name": "browserPlugin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Choose a plugin to open the page with. If none is provided,\none of the pool's available plugins will be used.\n\nIt must be one of the plugins browser pool was created with.\nIf you wish to start a browser with a different configuration,\nsee the " + }, + { + "kind": "code", + "text": "`newPageInNewBrowser`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 866, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L866" + } + ], + "type": { + "type": "reference", + "target": 5587, + "name": "BP", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolNewPageOptions.BP", + "refersToTypeParameter": true + } + }, + { + "id": 5581, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Assign a custom ID to the page. If you don't a random string ID\nwill be generated." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 852, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L852" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5582, + "name": "pageOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Some libraries (Playwright) allow you to open new pages with specific\noptions. Use this property to set those options." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 857, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L857" + } + ], + "type": { + "type": "reference", + "target": 5586, + "name": "PageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolNewPageOptions.PageOptions", + "refersToTypeParameter": true + } + }, + { + "id": 5585, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy tier." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 874, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L874" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5584, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy URL." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 870, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L870" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5583, + 5581, + 5582, + 5585, + 5584 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 847, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L847" + } + ], + "typeParameters": [ + { + "id": 5586, + "name": "PageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {} + }, + { + "id": 5587, + "name": "BP", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5152, + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5347, + "name": "BrowserPoolOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5348, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browser plugins are wrappers of browser automation libraries that\nallow " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " to control browsers with those libraries.\n" + }, + { + "kind": "code", + "text": "`browser-pool`" + }, + { + "kind": "text", + "text": " comes with a " + }, + { + "kind": "code", + "text": "`PuppeteerPlugin`" + }, + { + "kind": "text", + "text": " and a " + }, + { + "kind": "code", + "text": "`PlaywrightPlugin`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 62, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L62" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5356, + "name": "Plugin", + "package": "@crawlee/browser-pool", + "qualifiedName": "BrowserPoolOptions.Plugin", + "refersToTypeParameter": true + } + } + } + }, + { + "id": 5352, + "name": "closeInactiveBrowserAfterSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browsers normally close immediately after their last page is processed.\nHowever, there could be situations where this does not happen. Browser Pool\nmakes sure all inactive browsers are closed regularly, to free resources." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n300\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 96, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L96" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5355, + "name": "fingerprintOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 111, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L111" + } + ], + "type": { + "type": "reference", + "target": 5343, + "name": "FingerprintOptions", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5349, + "name": "maxOpenPagesPerBrowser", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum number of pages that can be open in a browser at the\nsame time. Once reached, a new browser will be launched to handle the excess." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n20\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 69, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L69" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5351, + "name": "operationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "As we know from experience, async operations of the underlying libraries,\nsuch as launching a browser or opening a new page, can get stuck.\nTo prevent " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " from getting stuck, we add a timeout\nto those operations and you can configure it with this option." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n15\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L88" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5350, + "name": "retireBrowserAfterPageCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browsers tend to get bloated after processing a lot of pages. This option\nconfigures the maximum number of processed pages after which the browser will\nautomatically retire and close. A new browser will launch in its place.\nThe browser might be retired sooner if the connected " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session" + }, + { + "kind": "text", + "text": " is retired.\nYou can change session retirement behavior using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n100\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 79, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L79" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5353, + "name": "retireInactiveBrowserAfterSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browsers are marked as retired after they have been inactive for a certain\namount of time. This option sets the interval at which the browsers\nare checked and retired if they are inactive.\n\nRetired browsers are closed after all their pages are closed." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 106, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L106" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5354, + "name": "useFingerprints", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L110" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5348, + 5352, + 5355, + 5349, + 5351, + 5350, + 5353, + 5354 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 56, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L56" + } + ], + "typeParameters": [ + { + "id": 5356, + "name": "Plugin", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5152, + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5152, + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5294, + "name": "BrowserSpecification", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5298, + "name": "httpVersion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTTP version to be used for header generation (the headers differ depending on the version)." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L87" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "1" + }, + { + "type": "literal", + "value": "2" + } + ] + } + }, + { + "id": 5297, + "name": "maxVersion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum version of browser used." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 83, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L83" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5296, + "name": "minVersion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Minimum version of browser used." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 79, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L79" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5295, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "String representing the browser name." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 75, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L75" + } + ], + "type": { + "type": "reference", + "target": 3194, + "name": "BrowserName", + "package": "@crawlee/browser-pool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5298, + 5297, + 5296, + 5295 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 71, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L71" + } + ] + }, + { + "id": 5144, + "name": "CommonLibrary", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Each plugin expects an instance of the object with the " + }, + { + "kind": "code", + "text": "`.launch()`" + }, + { + "kind": "text", + "text": " property.\nFor Puppeteer, it is the " + }, + { + "kind": "code", + "text": "`puppeteer`" + }, + { + "kind": "text", + "text": " module itself, whereas for Playwright\nit is one of the browser types, such as " + }, + { + "kind": "code", + "text": "`puppeteer.chromium`" + }, + { + "kind": "text", + "text": ".\n" + }, + { + "kind": "code", + "text": "`BrowserPlugin`" + }, + { + "kind": "text", + "text": " does not include the library. You can choose any version\nor fork of the library. It also keeps " + }, + { + "kind": "code", + "text": "`browser-pool`" + }, + { + "kind": "text", + "text": " installation small." + } + ] + }, + "children": [ + { + "id": 5149, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L33" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5150, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 33, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L33" + } + ], + "signatures": [ + { + "id": 5151, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 33, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L33" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + } + }, + { + "id": 5145, + "name": "product", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 31, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L31" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5146, + "name": "launch", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L32" + } + ], + "signatures": [ + { + "id": 5147, + "name": "launch", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L32" + } + ], + "parameters": [ + { + "id": 5148, + "name": "opts", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5149, + 5145 + ] + }, + { + "title": "Methods", + "children": [ + 5146 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 30, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L30" + } + ] + }, + { + "id": 5211, + "name": "CreateLaunchContextOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5214, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler respects the proxy url generated for the given request.\nThis aligns the browser-based crawlers with the " + }, + { + "kind": "code", + "text": "`HttpCrawler`" + }, + { + "kind": "text", + "text": ".\n\nMight cause performance issues, as Crawlee might launch too many browser instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 43, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L43" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Partial.browserPerProxy" + } + }, + { + "id": 5216, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Like " + }, + { + "kind": "code", + "text": "`useIncognitoPages`" + }, + { + "kind": "text", + "text": ", but for persistent contexts, so cache is used for faster loading.\nWorks best with Firefox. Unstable on Chromium." + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L54" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Partial.experimentalContainers" + } + }, + { + "id": 5212, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "To make identification of " + }, + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " easier, " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " assigns\nthe " + }, + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " an " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " that's equal to the " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " of the page that\ntriggered the browser launch. This is useful, because many pages share\na single launch context (single browser)." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L27" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Partial.id" + } + }, + { + "id": 5213, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The actual options the browser was launched with, after changes.\nThose changes would be typically made in pre-launch hooks." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L36" + } + ], + "type": { + "type": "reference", + "target": 5221, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.LibraryOptions", + "refersToTypeParameter": true + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Partial.launchOptions" + } + }, + { + "id": 5219, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 60, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L60" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Partial.proxyTier" + } + }, + { + "id": 5218, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 59, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L59" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Partial.proxyUrl" + } + }, + { + "id": 5215, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default pages share the same browser context.\nIf set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " each page uses its own context that is destroyed once the page is closed or crashes." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Partial.useIncognitoPages" + } + }, + { + "id": 5217, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to a User Data Directory, which stores browser session data like cookies and local storage." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 58, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L58" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Partial.userDataDir" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5214, + 5216, + 5212, + 5213, + 5219, + 5218, + 5215, + 5217 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 87, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L87" + } + ], + "typeParameters": [ + { + "id": 5220, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5221, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5220, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5222, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5220, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5223, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5222, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5224, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5222, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5279, + "typeArguments": [ + { + "type": "reference", + "target": 5220, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5221, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5222, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5223, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5224, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "CreateLaunchContextOptions.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "LaunchContextOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "literal", + "value": "browserPlugin" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "Partial", + "package": "typescript" + } + ] + }, + { + "id": 5299, + "name": "FingerprintGenerator", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5300, + "name": "getFingerprint", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L4" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5301, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 4, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L4" + } + ], + "signatures": [ + { + "id": 5302, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 4, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L4" + } + ], + "parameters": [ + { + "id": 5303, + "name": "fingerprintGeneratorOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 5304, + "name": "FingerprintGeneratorOptions", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reference", + "target": 5317, + "name": "GetFingerprintReturn", + "package": "@crawlee/browser-pool" + } + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5300 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 3, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L3" + } + ] + }, + { + "id": 5304, + "name": "FingerprintGeneratorOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5306, + "name": "browserListQuery", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Browser generation query based on the real world data.\n For more info see the [query docs](https://github.com/browserslist/browserslist#full-list).\n\n> Note: If " + }, + { + "kind": "code", + "text": "`browserListQuery`" + }, + { + "kind": "text", + "text": " is passed, the " + }, + { + "kind": "code", + "text": "`browsers`" + }, + { + "kind": "text", + "text": " array is ignored." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L23" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5305, + "name": "browsers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "List of " + }, + { + "kind": "code", + "text": "`BrowserSpecification`" + }, + { + "kind": "text", + "text": " objects\nor one of " + }, + { + "kind": "code", + "text": "`chrome`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`edge`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`firefox`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`safari`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 16, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L16" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 5294, + "name": "BrowserSpecification", + "package": "@crawlee/browser-pool" + } + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": 3194, + "name": "BrowserName", + "package": "@crawlee/browser-pool" + } + } + ] + } + }, + { + "id": 5308, + "name": "devices", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "List of device types to generate the fingerprints for." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 31, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L31" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 3199, + "name": "DeviceCategory", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5310, + "name": "httpVersion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Http version to be used to generate headers (the headers differ depending on the version).\n\nCan be either 1 or 2. Default value is 2." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 43, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L43" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "1" + }, + { + "type": "literal", + "value": "2" + } + ] + } + }, + { + "id": 5309, + "name": "locales", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "List of at most 10 languages to include in the\n [Accept-Language](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language) request header\n in the language format accepted by that header, for example " + }, + { + "kind": "code", + "text": "`en`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`en-US`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`de`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 37, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L37" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 5307, + "name": "operatingSystems", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "List of operating systems to generate the headers for." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L27" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 3202, + "name": "OperatingSystemsName", + "package": "@crawlee/browser-pool" + } + } + }, + { + "id": 5311, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the screen dimensions of the generated fingerprint.\n\n> Note: Using this option can lead to a substantial performance drop (from ~0.0007s/fingerprint to ~0.03s/fingerprint)" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 49, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L49" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5312, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 5316, + "name": "maxHeight", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 53, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L53" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5314, + "name": "maxWidth", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 51, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L51" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5315, + "name": "minHeight", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 52, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L52" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5313, + "name": "minWidth", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 50, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L50" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5316, + 5314, + 5315, + 5313 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 49, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L49" + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5306, + 5305, + 5308, + 5310, + 5309, + 5307, + 5311 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 11, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L11" + } + ] + }, + { + "id": 5343, + "name": "FingerprintOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Settings for the fingerprint generator and virtual session management system.\n\n> To set the specific fingerprint generation options (operating system, device type, screen dimensions), use the " + }, + { + "kind": "code", + "text": "`fingerprintGeneratorOptions`" + }, + { + "kind": "text", + "text": " property." + } + ] + }, + "children": [ + { + "id": 5346, + "name": "fingerprintCacheSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of fingerprints that can be stored in the cache.\n\nOnly relevant if " + }, + { + "kind": "code", + "text": "`useFingerprintCache`" + }, + { + "kind": "text", + "text": " is set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 53, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L53" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5344, + "name": "fingerprintGeneratorOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customizes the fingerprint generation by setting e.g. the device type, operating system or screen size." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L40" + } + ], + "type": { + "type": "reference", + "target": 5304, + "name": "FingerprintGeneratorOptions", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5345, + "name": "useFingerprintCache", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables the virtual session management system. This ties every Crawlee session with a specific browser fingerprint,\nso your scraping activity seems more natural to the target website." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 46, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L46" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5346, + 5344, + 5345 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 36, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L36" + } + ] + }, + { + "id": 5317, + "name": "GetFingerprintReturn", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 5318, + "name": "fingerprint", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L8" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/src/fingerprint-generator.ts", + "qualifiedName": "BrowserFingerprintWithHeaders" + }, + "name": "BrowserFingerprintWithHeaders", + "package": "fingerprint-generator" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5318 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/fingerprinting/types.ts", + "line": 7, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/fingerprinting/types.ts#L7" + } + ] + }, + { + "id": 5279, + "name": "LaunchContextOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " holds information about the launched browser. It's useful\nto retrieve the " + }, + { + "kind": "code", + "text": "`launchOptions`" + }, + { + "kind": "text", + "text": ", the proxy the browser was launched with\nor any other information user chose to add to the " + }, + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " by calling\nits " + }, + { + "kind": "code", + "text": "`extend`" + }, + { + "kind": "text", + "text": " function. This is very useful to keep track of browser-scoped\nvalues, such as session IDs." + } + ] + }, + "children": [ + { + "id": 5283, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler respects the proxy url generated for the given request.\nThis aligns the browser-based crawlers with the " + }, + { + "kind": "code", + "text": "`HttpCrawler`" + }, + { + "kind": "text", + "text": ".\n\nMight cause performance issues, as Crawlee might launch too many browser instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 43, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L43" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5281, + "name": "browserPlugin", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`BrowserPlugin`" + }, + { + "kind": "text", + "text": " instance used to launch the browser." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 31, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L31" + } + ], + "type": { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5289, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.Library", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5290, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.LibraryOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5291, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.LaunchResult", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5292, + "name": "NewPageOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.NewPageOptions", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 5293, + "name": "NewPageResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.NewPageResult", + "refersToTypeParameter": true + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5285, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Like " + }, + { + "kind": "code", + "text": "`useIncognitoPages`" + }, + { + "kind": "text", + "text": ", but for persistent contexts, so cache is used for faster loading.\nWorks best with Firefox. Unstable on Chromium." + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L54" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5280, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "To make identification of " + }, + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " easier, " + }, + { + "kind": "code", + "text": "`BrowserPool`" + }, + { + "kind": "text", + "text": " assigns\nthe " + }, + { + "kind": "code", + "text": "`LaunchContext`" + }, + { + "kind": "text", + "text": " an " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " that's equal to the " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " of the page that\ntriggered the browser launch. This is useful, because many pages share\na single launch context (single browser)." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L27" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5282, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The actual options the browser was launched with, after changes.\nThose changes would be typically made in pre-launch hooks." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L36" + } + ], + "type": { + "type": "reference", + "target": 5290, + "name": "LibraryOptions", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.LibraryOptions", + "refersToTypeParameter": true + } + }, + { + "id": 5288, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 60, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L60" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 5287, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 59, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L59" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5284, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default pages share the same browser context.\nIf set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " each page uses its own context that is destroyed once the page is closed or crashes." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 5286, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to a User Data Directory, which stores browser session data like cookies and local storage." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 58, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L58" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 5283, + 5281, + 5285, + 5280, + 5282, + 5288, + 5287, + 5284, + 5286 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/launch-context.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/launch-context.ts#L14" + } + ], + "typeParameters": [ + { + "id": 5289, + "name": "Library", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5290, + "name": "LibraryOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + }, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5289, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.Library", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5291, + "name": "LaunchResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launch" + }, + "objectType": { + "type": "reference", + "target": 5289, + "name": "Library", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.Library", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5292, + "name": "NewPageOptions", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5291, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 5293, + "name": "NewPageResult", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5291, + "name": "LaunchResult", + "package": "@crawlee/browser-pool", + "qualifiedName": "LaunchContextOptions.LaunchResult", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ] + }, + { + "id": 5319, + "name": "InferBrowserPluginArray", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/utils.ts", + "line": 15, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/utils.ts#L15" + } + ], + "typeParameters": [ + { + "id": 5320, + "name": "Input", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + }, + { + "id": 5321, + "name": "Result", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 5152, + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + }, + "default": { + "type": "tuple" + } + } + ], + "type": { + "type": "conditional", + "checkType": { + "type": "reference", + "target": 5320, + "name": "Input", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + "extendsType": { + "type": "union", + "types": [ + { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "tuple", + "elements": [ + { + "type": "inferred", + "name": "FirstValue" + }, + { + "type": "rest", + "elementType": { + "type": "inferred", + "name": "Rest" + } + } + ] + } + }, + { + "type": "tuple", + "elements": [ + { + "type": "inferred", + "name": "FirstValue" + }, + { + "type": "rest", + "elementType": { + "type": "inferred", + "name": "Rest" + } + } + ] + } + ] + }, + "trueType": { + "type": "conditional", + "checkType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "FirstValue" + }, + "name": "FirstValue", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + "extendsType": { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + }, + "trueType": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "Rest" + }, + "name": "Rest", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + { + "type": "tuple", + "elements": [ + { + "type": "rest", + "elementType": { + "type": "reference", + "target": 5321, + "name": "Result", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + }, + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + }, + "falseType": { + "type": "conditional", + "checkType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "FirstValue" + }, + "name": "FirstValue", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + "extendsType": { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + }, + "trueType": { + "type": "reference", + "target": 5319, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "Rest" + }, + "name": "Rest", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + { + "type": "tuple", + "elements": [ + { + "type": "rest", + "elementType": { + "type": "reference", + "target": 5321, + "name": "Result", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + }, + { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + ], + "name": "InferBrowserPluginArray", + "package": "@crawlee/browser-pool" + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + } + }, + "falseType": { + "type": "conditional", + "checkType": { + "type": "reference", + "target": 5320, + "name": "Input", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + "extendsType": { + "type": "tuple" + }, + "trueType": { + "type": "reference", + "target": 5321, + "name": "Result", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + "falseType": { + "type": "conditional", + "checkType": { + "type": "reference", + "target": 5320, + "name": "Input", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + "extendsType": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "inferred", + "name": "U" + } + } + }, + "trueType": { + "type": "conditional", + "checkType": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "U" + }, + "name": "U", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + ] + }, + "extendsType": { + "type": "tuple", + "elements": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + ] + }, + "trueType": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "U" + }, + "name": "U", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + }, + "falseType": { + "type": "reference", + "target": 5321, + "name": "Result", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + } + } + }, + { + "id": 5363, + "name": "PostLaunchHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Post-launch hooks are executed as soon as a browser is launched.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`pageId`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`string`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": "\nTo guarantee order of execution before other hooks in the same browser,\nthe " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": " methods cannot be used until the post-launch\nhooks complete. If you attempt to call " + }, + { + "kind": "code", + "text": "`await browserController.close()`" + }, + { + "kind": "text", + "text": " from\na post-launch hook, it will deadlock the process. This API is subject to change." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 131, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L131" + } + ], + "typeParameters": [ + { + "id": 5368, + "name": "BC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5364, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 131, + "character": 59, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L131" + } + ], + "signatures": [ + { + "id": 5365, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 5366, + "name": "pageId", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5367, + "name": "browserController", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5368, + "name": "BC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5391, + "name": "PostPageCloseHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Post-page-close hooks allow you to do page related clean up.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`pageId`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`string`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L177" + } + ], + "typeParameters": [ + { + "id": 5396, + "name": "BC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5392, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 177, + "character": 62, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L177" + } + ], + "signatures": [ + { + "id": 5393, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 5394, + "name": "pageId", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5395, + "name": "browserController", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5396, + "name": "BC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5377, + "name": "PostPageCreateHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Post-page-create hooks are called right after a new page is created\nand all internal actions of Browser Pool are completed. This is the\nplace to make changes to a page that you would like to apply to all\npages. Such as injecting a JavaScript library into all pages.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 155, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L155" + } + ], + "typeParameters": [ + { + "id": 5382, + "name": "BC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5383, + "name": "Page", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5382, + "name": "BC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5378, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L158" + } + ], + "signatures": [ + { + "id": 5379, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 5380, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5383, + "name": "Page", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + }, + { + "id": 5381, + "name": "browserController", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5382, + "name": "BC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5357, + "name": "PreLaunchHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pre-launch hooks are executed just before a browser is launched and provide\na good opportunity to dynamically change the launch options.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`pageId`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`string`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`launchContext`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LaunchContext" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 120, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L120" + } + ], + "typeParameters": [ + { + "id": 5362, + "name": "LC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 5244, + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5358, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 120, + "character": 54, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L120" + } + ], + "signatures": [ + { + "id": 5359, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 5360, + "name": "pageId", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5361, + "name": "launchContext", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5362, + "name": "LC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5384, + "name": "PrePageCloseHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pre-page-close hooks give you the opportunity to make last second changes\nin a page that's about to be closed, such as saving a snapshot or updating\nstate.\nThe hooks are called with two arguments:\n" + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 167, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L167" + } + ], + "typeParameters": [ + { + "id": 5389, + "name": "BC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5390, + "name": "Page", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5389, + "name": "BC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5385, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L170" + } + ], + "signatures": [ + { + "id": 5386, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 5387, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5390, + "name": "Page", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + }, + { + "id": 5388, + "name": "browserController", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5389, + "name": "BC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5369, + "name": "PrePageCreateHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pre-page-create hooks are executed just before a new page is created. They\nare useful to make dynamic changes to the browser before opening a page.\nThe hooks are called with three arguments:\n" + }, + { + "kind": "code", + "text": "`pageId`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`string`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": ": " + }, + { + "kind": "code", + "text": "`object|undefined`" + }, + { + "kind": "text", + "text": " - This only works if the underlying " + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": " supports new page options.\nSo far, new page options are only supported by " + }, + { + "kind": "code", + "text": "`PlaywrightController`" + }, + { + "kind": "text", + "text": " in incognito contexts.\nIf the page options are not supported by " + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": " the " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " argument is " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 142, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L142" + } + ], + "typeParameters": [ + { + "id": 5375, + "name": "BC", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 3208, + "name": "BrowserController", + "package": "@crawlee/browser-pool" + } + }, + { + "id": 5376, + "name": "PO", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 0 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "newPage" + }, + "objectType": { + "type": "reference", + "target": 5375, + "name": "BC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 5370, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/browser-pool.ts", + "line": 145, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/browser-pool.ts#L145" + } + ], + "signatures": [ + { + "id": 5371, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 5372, + "name": "pageId", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 5373, + "name": "browserController", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 5375, + "name": "BC", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + }, + { + "id": 5374, + "name": "pageOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 5376, + "name": "PO", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "void" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + } + } + }, + { + "id": 5322, + "name": "UnwrapPromise", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-pool/src/utils.ts", + "line": 5, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/utils.ts#L5" + } + ], + "typeParameters": [ + { + "id": 5323, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "type": { + "type": "conditional", + "checkType": { + "type": "reference", + "target": 5323, + "name": "T", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + }, + "extendsType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "PromiseLike" + }, + "typeArguments": [ + { + "type": "inferred", + "name": "R" + } + ], + "name": "PromiseLike", + "package": "typescript" + }, + "trueType": { + "type": "reference", + "target": 5322, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "R" + }, + "name": "R", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + ], + "name": "UnwrapPromise", + "package": "@crawlee/browser-pool" + }, + "falseType": { + "type": "reference", + "target": 5323, + "name": "T", + "package": "@crawlee/browser-pool", + "refersToTypeParameter": true + } + } + }, + { + "id": 5243, + "name": "DEFAULT_USER_AGENT", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The default User Agent used by " + }, + { + "kind": "code", + "text": "`PlaywrightCrawler`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`launchPlaywright`" + }, + { + "kind": "text", + "text": ", 'PuppeteerCrawler' and 'launchPuppeteer'\nwhen Chromium/Chrome browser is launched:\n - in headless mode,\n - without using a fingerprint,\n - without specifying a user agent.\nLast updated on 2022-05-05.\n\nAfter you update it here, please update it also in jsdom-crawler.ts" + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "line": 21, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/abstract-classes/browser-plugin.ts#L21" + } + ], + "type": { + "type": "literal", + "value": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36" + }, + "defaultValue": "'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'" + } + ], + "groups": [ + { + "title": "Enumerations", + "children": [ + 6386, + 6380, + 3194, + 3199, + 3202 + ] + }, + { + "title": "Classes", + "children": [ + 3208, + 5225, + 5152, + 5407, + 5244, + 4971, + 3466, + 5595, + 3351, + 6342 + ] + }, + { + "title": "Interfaces", + "children": [ + 3341, + 5203, + 5324, + 5397, + 5588, + 5580, + 5347, + 5294, + 5144, + 5211, + 5299, + 5304, + 5343, + 5317, + 5279 + ] + }, + { + "title": "Type Aliases", + "children": [ + 5319, + 5363, + 5391, + 5377, + 5357, + 5384, + 5369, + 5322 + ] + }, + { + "title": "Variables", + "children": [ + 5243 + ] + } + ], + "sources": [ + { + "fileName": "packages/browser-pool/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-pool/src/index.ts#L1" + } + ] + }, + { + "id": 6, + "name": "cheerio-crawler/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 8587, + "name": "AddRequestsBatchedOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "target": 3010 + }, + { + "id": 8588, + "name": "AddRequestsBatchedResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "target": 3016 + }, + { + "id": 8466, + "name": "AutoscaledPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ], + "target": 200 + }, + { + "id": 8465, + "name": "AutoscaledPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ], + "target": 176 + }, + { + "id": 8623, + "name": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/constants.ts", + "line": 6, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/constants.ts#L6" + } + ], + "target": 6883 + }, + { + "id": 8550, + "name": "BLOCKED_STATUS_CODES", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "target": 2334 + }, + { + "id": 8618, + "name": "BasicCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 431, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L431" + } + ], + "target": 6657 + }, + { + "id": 8616, + "name": "BasicCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 121, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L121" + } + ], + "target": 6627 + }, + { + "id": 8611, + "name": "BasicCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 62, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L62" + } + ], + "target": 6550 + }, + { + "id": 8471, + "name": "ClientInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ], + "target": 396 + }, + { + "id": 8475, + "name": "Configuration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ], + "target": 490 + }, + { + "id": 8474, + "name": "ConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ], + "target": 448 + }, + { + "id": 8458, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 59 + }, + { + "id": 8620, + "name": "CrawlerAddRequestsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1643, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1643" + } + ], + "target": 6867 + }, + { + "id": 8621, + "name": "CrawlerAddRequestsResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1645, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1645" + } + ], + "target": 6873 + }, + { + "id": 8617, + "name": "CrawlerExperiments", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 357, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L357" + } + ], + "target": 6655 + }, + { + "id": 8622, + "name": "CrawlerRunOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1647, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1647" + } + ], + "target": 6876 + }, + { + "id": 8477, + "name": "CrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "target": 620 + }, + { + "id": 8619, + "name": "CreateContextOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1637, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1637" + } + ], + "target": 6863 + }, + { + "id": 8547, + "name": "CreateSession", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "target": 2112 + }, + { + "id": 8461, + "name": "CriticalError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "target": 98 + }, + { + "id": 8563, + "name": "Dataset", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "target": 2572 + }, + { + "id": 8564, + "name": "DatasetConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "target": 2647 + }, + { + "id": 8568, + "name": "DatasetContent", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "target": 2669 + }, + { + "id": 8559, + "name": "DatasetDataOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ], + "target": 2537 + }, + { + "id": 8560, + "name": "DatasetExportOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "target": 2546 + }, + { + "id": 8562, + "name": "DatasetExportToOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "target": 2563 + }, + { + "id": 8561, + "name": "DatasetIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "target": 2553 + }, + { + "id": 8565, + "name": "DatasetMapper", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "target": 2652 + }, + { + "id": 8567, + "name": "DatasetOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ], + "target": 2665 + }, + { + "id": 8566, + "name": "DatasetReducer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "target": 2658 + }, + { + "id": 8493, + "name": "EnqueueLinksOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "target": 973 + }, + { + "id": 8494, + "name": "EnqueueStrategy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ], + "target": 990 + }, + { + "id": 8486, + "name": "ErrnoException", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "target": 873 + }, + { + "id": 8613, + "name": "ErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "target": 6608 + }, + { + "id": 8490, + "name": "ErrorSnapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ], + "target": 923 + }, + { + "id": 8488, + "name": "ErrorTracker", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ], + "target": 890 + }, + { + "id": 8487, + "name": "ErrorTrackerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ], + "target": 882 + }, + { + "id": 8515, + "name": "EventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "target": 1060 + }, + { + "id": 8513, + "name": "EventType", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ], + "target": 1053 + }, + { + "id": 8514, + "name": "EventTypeName", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "target": 1059 + }, + { + "id": 8640, + "name": "FileDownload", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 98, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L98" + } + ], + "target": 8169 + }, + { + "id": 8638, + "name": "FileDownloadCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L45" + } + ], + "target": 8120 + }, + { + "id": 8634, + "name": "FileDownloadErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 20, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L20" + } + ], + "target": 8102 + }, + { + "id": 8637, + "name": "FileDownloadHook", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 40, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L40" + } + ], + "target": 8117 + }, + { + "id": 8636, + "name": "FileDownloadOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L31" + } + ], + "target": 8108 + }, + { + "id": 8639, + "name": "FileDownloadRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 50, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L50" + } + ], + "target": 8166 + }, + { + "id": 8472, + "name": "FinalStatistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ], + "target": 400 + }, + { + "id": 8536, + "name": "GetUserDataFromRequest", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "target": 1929 + }, + { + "id": 8509, + "name": "GlobInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "target": 1045 + }, + { + "id": 8508, + "name": "GlobObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "target": 1042 + }, + { + "id": 8632, + "name": "HttpCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 291, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L291" + } + ], + "target": 7801 + }, + { + "id": 8626, + "name": "HttpCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 65, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L65" + } + ], + "target": 7656 + }, + { + "id": 8630, + "name": "HttpCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 216, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L216" + } + ], + "target": 7752 + }, + { + "id": 8625, + "name": "HttpErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 60, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L60" + } + ], + "target": 7653 + }, + { + "id": 8628, + "name": "HttpHook", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 181, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L181" + } + ], + "target": 7702 + }, + { + "id": 8631, + "name": "HttpRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 219, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L219" + } + ], + "target": 7798 + }, + { + "id": 8589, + "name": "IStorage", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "target": 3019 + }, + { + "id": 8571, + "name": "KeyConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "target": 2761 + }, + { + "id": 8570, + "name": "KeyValueStore", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ], + "target": 2684 + }, + { + "id": 8574, + "name": "KeyValueStoreIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ], + "target": 2774 + }, + { + "id": 8572, + "name": "KeyValueStoreOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ], + "target": 2768 + }, + { + "id": 8516, + "name": "LocalEventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "target": 1103 + }, + { + "id": 8518, + "name": "Log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L5" + } + ], + "target": 1182 + }, + { + "id": 8520, + "name": "LogLevel", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L7" + } + ], + "target": 1252 + }, + { + "id": 8521, + "name": "Logger", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L8" + } + ], + "target": 1260 + }, + { + "id": 8522, + "name": "LoggerJson", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L9" + } + ], + "target": 1416 + }, + { + "id": 8519, + "name": "LoggerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L6" + } + ], + "target": 1244 + }, + { + "id": 8523, + "name": "LoggerText", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L10" + } + ], + "target": 1573 + }, + { + "id": 8552, + "name": "MAX_POOL_SIZE", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "target": 2336 + }, + { + "id": 8460, + "name": "NonRetryableError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "target": 77 + }, + { + "id": 8551, + "name": "PERSIST_STATE_KEY", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "target": 2335 + }, + { + "id": 8481, + "name": "PersistenceOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ], + "target": 756 + }, + { + "id": 8528, + "name": "ProxyConfiguration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ], + "target": 1756 + }, + { + "id": 8524, + "name": "ProxyConfigurationFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "target": 1735 + }, + { + "id": 8525, + "name": "ProxyConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ], + "target": 1741 + }, + { + "id": 8527, + "name": "ProxyInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ], + "target": 1748 + }, + { + "id": 8453, + "name": "PseudoUrl", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 16, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L16" + } + ], + "target": 14 + }, + { + "id": 8507, + "name": "PseudoUrlInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "target": 1041 + }, + { + "id": 8506, + "name": "PseudoUrlObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "target": 1038 + }, + { + "id": 8532, + "name": "PushErrorMessageOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ], + "target": 1885 + }, + { + "id": 8459, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 68, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 73 + }, + { + "id": 8573, + "name": "RecordOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ], + "target": 2772 + }, + { + "id": 8511, + "name": "RegExpInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "target": 1049 + }, + { + "id": 8510, + "name": "RegExpObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "target": 1046 + }, + { + "id": 8530, + "name": "Request", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "target": 1808 + }, + { + "id": 8612, + "name": "RequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "target": 6603 + }, + { + "id": 8478, + "name": "RequestHandlerResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ], + "target": 657 + }, + { + "id": 8578, + "name": "RequestList", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ], + "target": 2787 + }, + { + "id": 8577, + "name": "RequestListOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ], + "target": 2778 + }, + { + "id": 8580, + "name": "RequestListSourcesFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "target": 2886 + }, + { + "id": 8579, + "name": "RequestListState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ], + "target": 2882 + }, + { + "id": 8531, + "name": "RequestOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "target": 1867 + }, + { + "id": 8581, + "name": "RequestProvider", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "target": 2889 + }, + { + "id": 8582, + "name": "RequestProviderOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "target": 2984 + }, + { + "id": 8554, + "name": "RequestQueue", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 6, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L6" + } + ], + "target": 2431 + }, + { + "id": 8585, + "name": "RequestQueueOperationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "target": 3002 + }, + { + "id": 8583, + "name": "RequestQueueOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "target": 2989 + }, + { + "id": 8553, + "name": "RequestQueueV1", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 5, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L5" + } + ], + "target": 2337 + }, + { + "id": 8555, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2525 + }, + { + "id": 8529, + "name": "RequestState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ], + "target": 1799 + }, + { + "id": 8512, + "name": "RequestTransform", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "target": 1050 + }, + { + "id": 8476, + "name": "RestrictedCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "target": 590 + }, + { + "id": 8463, + "name": "RetryRequestError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "target": 140 + }, + { + "id": 8538, + "name": "Router", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "target": 1939 + }, + { + "id": 8535, + "name": "RouterHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "target": 1894 + }, + { + "id": 8537, + "name": "RouterRoutes", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "target": 1931 + }, + { + "id": 8546, + "name": "Session", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ], + "target": 2047 + }, + { + "id": 8464, + "name": "SessionError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "target": 158 + }, + { + "id": 8545, + "name": "SessionOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ], + "target": 2033 + }, + { + "id": 8549, + "name": "SessionPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "target": 2127 + }, + { + "id": 8548, + "name": "SessionPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ], + "target": 2118 + }, + { + "id": 8544, + "name": "SessionState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ], + "target": 2022 + }, + { + "id": 8489, + "name": "SnapshotResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ], + "target": 920 + }, + { + "id": 8468, + "name": "Snapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ], + "target": 308 + }, + { + "id": 8467, + "name": "SnapshotterOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ], + "target": 298 + }, + { + "id": 8533, + "name": "Source", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "target": 1887 + }, + { + "id": 8484, + "name": "StatisticPersistedState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "target": 832 + }, + { + "id": 8485, + "name": "StatisticState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ], + "target": 856 + }, + { + "id": 8482, + "name": "Statistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ], + "target": 758 + }, + { + "id": 8483, + "name": "StatisticsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ], + "target": 825 + }, + { + "id": 8615, + "name": "StatusMessageCallback", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 116, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L116" + } + ], + "target": 6621 + }, + { + "id": 8614, + "name": "StatusMessageCallbackParams", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 106, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L106" + } + ], + "target": 6614 + }, + { + "id": 8457, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 31 + }, + { + "id": 8591, + "name": "StorageManagerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ], + "target": 3092 + }, + { + "id": 8635, + "name": "StreamHandlerContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 25, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L25" + } + ], + "target": 8105 + }, + { + "id": 8469, + "name": "SystemInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ], + "target": 378 + }, + { + "id": 8473, + "name": "SystemStatus", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ], + "target": 411 + }, + { + "id": 8470, + "name": "SystemStatusOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ], + "target": 388 + }, + { + "id": 8526, + "name": "TieredProxy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ], + "target": 1745 + }, + { + "id": 8505, + "name": "UrlPatternObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "target": 1034 + }, + { + "id": 8595, + "name": "UseStateOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ], + "target": 3111 + }, + { + "id": 8601, + "name": "checkStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "target": 3119 + }, + { + "id": 8610, + "name": "createBasicRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "target": 6545 + }, + { + "id": 8633, + "name": "createFileRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 220, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L220" + } + ], + "target": 8097 + }, + { + "id": 8624, + "name": "createHttpRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 966, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L966" + } + ], + "target": 7648 + }, + { + "id": 8491, + "name": "enqueueLinks", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "target": 950 + }, + { + "id": 8502, + "name": "filterRequestsByPatterns", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "target": 1022 + }, + { + "id": 8517, + "name": "log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L4" + } + ], + "target": 1181 + }, + { + "id": 8592, + "name": "purgeDefaultStorages", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "target": 3096 + }, + { + "id": 8504, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 10, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L10" + } + ], + "target": 1030 + }, + { + "id": 8593, + "name": "useState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "target": 3102 + }, + { + "id": 8602, + "name": "withCheckedStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "target": 3121 + }, + { + "id": 8746, + "name": "CheerioCrawler", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a framework for the parallel crawling of web pages using plain HTTP requests and\n[cheerio](https://www.npmjs.com/package/cheerio) HTML parser.\nThe URLs to crawl are fed either from a static list of URLs\nor from a dynamic queue of URLs enabling recursive crawling of websites.\n\nSince " + }, + { + "kind": "code", + "text": "`CheerioCrawler`" + }, + { + "kind": "text", + "text": " uses raw HTTP requests to download web pages,\nit is very fast and efficient on data bandwidth. However, if the target website requires JavaScript\nto display the content, you might need to use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " instead,\nbecause it loads the pages using full-featured headless Chrome browser.\n\n" + }, + { + "kind": "code", + "text": "`CheerioCrawler`" + }, + { + "kind": "text", + "text": " downloads each URL using a plain HTTP request,\nparses the HTML content using [Cheerio](https://www.npmjs.com/package/cheerio)\nand then invokes the user-provided " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": " to extract page data\nusing a [jQuery](https://jquery.com/)-like interface to the parsed HTML DOM.\n\nThe source URLs are represented using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects that are fed from\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instances provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": "\nor " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " constructor options, respectively.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " are used,\nthe instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them\nto " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes when there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\nWe can use the " + }, + { + "kind": "code", + "text": "`preNavigationHooks`" + }, + { + "kind": "text", + "text": " to adjust " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ":\n\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nBy default, " + }, + { + "kind": "code", + "text": "`CheerioCrawler`" + }, + { + "kind": "text", + "text": " only processes web pages with the " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": " MIME content types (as reported by the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " HTTP header),\nand skips pages with other content types. If you want the crawler to process other content types,\nuse the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawlerOptions.additionalMimeTypes" + }, + { + "kind": "text", + "text": " constructor option.\nBeware that the parsing behavior differs for HTML, XML, JSON and other types of content.\nFor more details, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": ".\n\nNew requests are only dispatched when there is enough free CPU and memory available,\nusing the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\nAll " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "code", + "text": "`autoscaledPoolOptions`" + }, + { + "kind": "text", + "text": "\nparameter of the " + }, + { + "kind": "code", + "text": "`CheerioCrawler`" + }, + { + "kind": "text", + "text": " constructor. For user convenience, the " + }, + { + "kind": "code", + "text": "`minConcurrency`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`maxConcurrency`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " options are available directly in the " + }, + { + "kind": "code", + "text": "`CheerioCrawler`" + }, + { + "kind": "text", + "text": " constructor.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst crawler = new CheerioCrawler({\n async requestHandler({ request, response, body, contentType, $ }) {\n const data = [];\n\n // Do some data extraction from the page with Cheerio.\n $('.some-collection').each((index, el) => {\n data.push({ title: $(el).find('.some-title').text() });\n });\n\n // Save the data to dataset.\n await Dataset.pushData({\n url: request.url,\n html: body,\n data,\n })\n },\n});\n\nawait crawler.run([\n 'http://www.example.com/page-1',\n 'http://www.example.com/page-2',\n]);\n```" + } + ] + }, + "children": [ + { + "id": 8788, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 156, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L156" + } + ], + "signatures": [ + { + "id": 8789, + "name": "new CheerioCrawler", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`CheerioCrawler`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 156, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L156" + } + ], + "parameters": [ + { + "id": 8790, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 8652, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CheerioCrawlerOptions", + "package": "@crawlee/cheerio" + } + }, + { + "id": 8791, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 8746, + "name": "CheerioCrawler", + "package": "@crawlee/cheerio" + }, + "overwrites": { + "type": "reference", + "target": 7844, + "name": "HttpCrawler.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 7843, + "name": "HttpCrawler.constructor" + } + }, + { + "id": 8898, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7954, + "name": "HttpCrawler.autoscaledPool" + } + }, + { + "id": 8825, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 77, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7860, + "name": "HttpCrawler.config" + } + }, + { + "id": 8901, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7957, + "name": "HttpCrawler.hasFinishedBefore" + } + }, + { + "id": 8813, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L296" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7848, + "name": "HttpCrawler.proxyConfiguration" + } + }, + { + "id": 8895, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7951, + "name": "HttpCrawler.requestList" + } + }, + { + "id": 8896, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7952, + "name": "HttpCrawler.requestQueue" + } + }, + { + "id": 8899, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7955, + "name": "HttpCrawler.router" + } + }, + { + "id": 8900, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7956, + "name": "HttpCrawler.running" + } + }, + { + "id": 8897, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7953, + "name": "HttpCrawler.sessionPool" + } + }, + { + "id": 8894, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7950, + "name": "HttpCrawler.stats" + } + }, + { + "id": 8938, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 8939, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 8940, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 8941, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7995, + "name": "HttpCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7994, + "name": "HttpCrawler.addRequests" + } + }, + { + "id": 8952, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 8953, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 8954, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 8955, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 8956, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 8957, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8009, + "name": "HttpCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8008, + "name": "HttpCrawler.exportData" + } + }, + { + "id": 8949, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 8950, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 8951, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8006, + "name": "HttpCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8005, + "name": "HttpCrawler.getData" + } + }, + { + "id": 8946, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 8947, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 8948, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8003, + "name": "HttpCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8002, + "name": "HttpCrawler.getDataset" + } + }, + { + "id": 8932, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 8933, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7989, + "name": "HttpCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7988, + "name": "HttpCrawler.getRequestQueue" + } + }, + { + "id": 8942, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 8943, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 8944, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 8945, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7999, + "name": "HttpCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7998, + "name": "HttpCrawler.pushData" + } + }, + { + "id": 8928, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 8929, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 8930, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 8931, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7985, + "name": "HttpCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7984, + "name": "HttpCrawler.run" + } + }, + { + "id": 8924, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 8925, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 8926, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 8927, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7981, + "name": "HttpCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7980, + "name": "HttpCrawler.setStatusMessage" + } + }, + { + "id": 8826, + "name": "use", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "signatures": [ + { + "id": 8827, + "name": "use", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "**EXPERIMENTAL**\nFunction for attaching CrawlerExtensions such as the Unblockers." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "parameters": [ + { + "id": 8828, + "name": "extension", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Crawler extension that overrides the crawler configuration." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/crawlers/crawler_extension.ts", + "qualifiedName": "CrawlerExtension" + }, + "name": "CrawlerExtension", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 7862, + "name": "HttpCrawler.use" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7861, + "name": "HttpCrawler.use" + } + }, + { + "id": 8934, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 8935, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 8936, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 8937, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7991, + "name": "HttpCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7990, + "name": "HttpCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 8788 + ] + }, + { + "title": "Properties", + "children": [ + 8898, + 8825, + 8901, + 8813, + 8895, + 8896, + 8899, + 8900, + 8897, + 8894 + ] + }, + { + "title": "Methods", + "children": [ + 8938, + 8952, + 8949, + 8946, + 8932, + 8942, + 8928, + 8924, + 8826, + 8934 + ] + } + ], + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 151, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L151" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + } + ] + }, + { + "id": 8652, + "name": "CheerioCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 8664, + "name": "additionalHttpErrorStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of additional HTTP response [Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to be treated as errors.\nBy default, status codes >= 500 trigger errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L170" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7668, + "name": "HttpCrawlerOptions.additionalHttpErrorStatusCodes" + } + }, + { + "id": 8659, + "name": "additionalMimeTypes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of [MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types)\nyou want the crawler to load and process. By default, only " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": " MIME types are supported." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L126" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7663, + "name": "HttpCrawlerOptions.additionalMimeTypes" + } + }, + { + "id": 8678, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7682, + "name": "HttpCrawlerOptions.autoscaledPoolOptions" + } + }, + { + "id": 8671, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 202, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L202" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8691, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8692, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7675, + "name": "HttpCrawlerOptions.errorHandler" + } + }, + { + "id": 8689, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7693, + "name": "HttpCrawlerOptions.experiments" + } + }, + { + "id": 8672, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 212, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L212" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8691, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8692, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7676, + "name": "HttpCrawlerOptions.failedRequestHandler" + } + }, + { + "id": 8661, + "name": "forceResponseEncoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this crawler will extract correct encoding from the HTTP response headers. Use " + }, + { + "kind": "code", + "text": "`forceResponseEncoding`" + }, + { + "kind": "text", + "text": "\nto force a certain encoding, disregarding the response headers.\nTo only provide a default for missing encodings, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.suggestResponseEncoding" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "```\n// Will force windows-1250 encoding even if headers say otherwise\nforceResponseEncoding: 'windows-1250'\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 150, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L150" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7665, + "name": "HttpCrawlerOptions.forceResponseEncoding" + } + }, + { + "id": 8653, + "name": "handlePageFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An alias for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": "\nSoon to be removed, use " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " instead." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 71, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L71" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8691, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8692, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7657, + "name": "HttpCrawlerOptions.handlePageFunction" + } + }, + { + "id": 8663, + "name": "ignoreHttpErrorStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of HTTP response [Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to be excluded from error consideration.\nBy default, status codes >= 500 trigger errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 164, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L164" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7667, + "name": "HttpCrawlerOptions.ignoreHttpErrorStatusCodes" + } + }, + { + "id": 8655, + "name": "ignoreSslErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, SSL certificate errors will be ignored." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L81" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7659, + "name": "HttpCrawlerOptions.ignoreSslErrors" + } + }, + { + "id": 8682, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7686, + "name": "HttpCrawlerOptions.keepAlive" + } + }, + { + "id": 8680, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7684, + "name": "HttpCrawlerOptions.maxConcurrency" + } + }, + { + "id": 8674, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7678, + "name": "HttpCrawlerOptions.maxRequestRetries" + } + }, + { + "id": 8677, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7681, + "name": "HttpCrawlerOptions.maxRequestsPerCrawl" + } + }, + { + "id": 8681, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7685, + "name": "HttpCrawlerOptions.maxRequestsPerMinute" + } + }, + { + "id": 8676, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7680, + "name": "HttpCrawlerOptions.maxSessionRotations" + } + }, + { + "id": 8679, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7683, + "name": "HttpCrawlerOptions.minConcurrency" + } + }, + { + "id": 8654, + "name": "navigationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the HTTP request to the resource needs to finish, given in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7658, + "name": "HttpCrawlerOptions.navigationTimeoutSecs" + } + }, + { + "id": 8662, + "name": "persistCookiesPerSession", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Automatically saves cookies to Session. Works only if Session Pool is used.\n\nIt parses cookie from response \"set-cookie\" header saves or updates cookies for session and once the session is used for next request.\nIt passes the \"Cookie\" header to the request with the session cookies." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L158" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7666, + "name": "HttpCrawlerOptions.persistCookiesPerSession" + } + }, + { + "id": 8658, + "name": "postNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated after the navigation. Good for checking if the navigation was successful.\nThe function accepts " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " as the only parameter.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npostNavigationHooks: [\n async (crawlingContext) => {\n // ...\n },\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L120" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8691, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8692, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7662, + "name": "HttpCrawlerOptions.postNavigationHooks" + } + }, + { + "id": 8657, + "name": "preNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated before the navigation. Good for setting additional cookies\nor browser properties before navigation. The function accepts two parameters, " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ",\nwhich are passed to the " + }, + { + "kind": "code", + "text": "`requestAsBrowser()`" + }, + { + "kind": "text", + "text": " function the crawler calls to navigate.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n async (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nModyfing " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " is supported only in Playwright incognito.\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PrePageCreateHook" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 106, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L106" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8691, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8692, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7661, + "name": "HttpCrawlerOptions.preNavigationHooks" + } + }, + { + "id": 8656, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set, this crawler will be configured for all connections to use\n[Apify Proxy](https://console.apify.com/proxy) or your own Proxy URLs provided and rotated according to the configuration.\nFor more information, see the [documentation](https://docs.apify.com/proxy)." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L88" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7660, + "name": "HttpCrawlerOptions.proxyConfiguration" + } + }, + { + "id": 8665, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that performs the logic of the crawler. It is called for each URL to crawl.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as an argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " represents the URL to crawl.\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\nIf all the retries fail, the crawler calls the function\nprovided to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.failedRequestHandler|`failedRequestHandler`" + }, + { + "kind": "text", + "text": " parameter.\nTo make this work, we should **always**\nlet our function throw exceptions rather than catch them.\nThe exceptions are logged to the request using the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.pushErrorMessage|`Request.pushErrorMessage()`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L139" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8691, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8692, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7669, + "name": "HttpCrawlerOptions.requestHandler" + } + }, + { + "id": 8669, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7673, + "name": "HttpCrawlerOptions.requestHandlerTimeoutSecs" + } + }, + { + "id": 8667, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7671, + "name": "HttpCrawlerOptions.requestList" + } + }, + { + "id": 8668, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7672, + "name": "HttpCrawlerOptions.requestQueue" + } + }, + { + "id": 8687, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7691, + "name": "HttpCrawlerOptions.retryOnBlocked" + } + }, + { + "id": 8675, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7679, + "name": "HttpCrawlerOptions.sameDomainDelaySecs" + } + }, + { + "id": 8684, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7688, + "name": "HttpCrawlerOptions.sessionPoolOptions" + } + }, + { + "id": 8690, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7694, + "name": "HttpCrawlerOptions.statisticsOptions" + } + }, + { + "id": 8686, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7690, + "name": "HttpCrawlerOptions.statusMessageCallback" + } + }, + { + "id": 8685, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7689, + "name": "HttpCrawlerOptions.statusMessageLoggingInterval" + } + }, + { + "id": 8660, + "name": "suggestResponseEncoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this crawler will extract correct encoding from the HTTP response headers.\nSadly, there are some websites which use invalid headers. Those are encoded using the UTF-8 encoding.\nIf those sites actually use a different encoding, the response will be corrupted. You can use\n" + }, + { + "kind": "code", + "text": "`suggestResponseEncoding`" + }, + { + "kind": "text", + "text": " to fall back to a certain encoding, if you know that your target website uses it.\nTo force a certain encoding, disregarding the response headers, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.forceResponseEncoding" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "```\n// Will fall back to windows-1250 encoding if none found\nsuggestResponseEncoding: 'windows-1250'\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L139" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7664, + "name": "HttpCrawlerOptions.suggestResponseEncoding" + } + }, + { + "id": 8683, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7687, + "name": "HttpCrawlerOptions.useSessionPool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8664, + 8659, + 8678, + 8671, + 8689, + 8672, + 8661, + 8653, + 8663, + 8655, + 8682, + 8680, + 8674, + 8677, + 8681, + 8676, + 8679, + 8654, + 8662, + 8658, + 8657, + 8656, + 8665, + 8669, + 8667, + 8668, + 8687, + 8675, + 8684, + 8690, + 8686, + 8685, + 8660, + 8683 + ] + } + ], + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 33, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L33" + } + ], + "typeParameters": [ + { + "id": 8691, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8692, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7656, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8691, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8692, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "HttpCrawlerOptions", + "package": "@crawlee/http" + } + ] + }, + { + "id": 8696, + "name": "CheerioCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 8697, + "name": "$", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The [Cheerio](https://cheerio.js.org/) object with parsed HTML.\nCheerio is available only for HTML and XML content types." + } + ] + }, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 51, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L51" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + }, + { + "id": 8727, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8728, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 8729, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 8730, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 8731, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 8733, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 8732, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8733, + 8732 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 8734, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.addRequests" + } + }, + { + "id": 8700, + "name": "body", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The request body of the web page.\nThe type depends on the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " header of the web page:\n- String for " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xml`" + }, + { + "kind": "text", + "text": " MIME content types\n- Buffer for others MIME content types" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L200" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.body" + } + }, + { + "id": 8702, + "name": "contentType", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Parsed " + }, + { + "kind": "code", + "text": "`Content-Type header: { type, encoding }`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8703, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 8705, + "name": "encoding", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 33, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.BufferEncoding" + }, + "name": "BufferEncoding", + "package": "@types/node", + "qualifiedName": "__global.BufferEncoding" + } + }, + { + "id": 8704, + "name": "type", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8705, + 8704 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.contentType" + } + }, + { + "id": 8710, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 8746, + "name": "CheerioCrawler", + "package": "@crawlee/cheerio" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.crawler" + } + }, + { + "id": 8714, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8715, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 8716, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 8717, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.getKeyValueStore" + } + }, + { + "id": 8707, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.id" + } + }, + { + "id": 8701, + "name": "json", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The parsed object from JSON string if the response contains the content type application/json." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 205, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L205" + } + ], + "type": { + "type": "reference", + "target": 8742, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.json" + } + }, + { + "id": 8740, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.log" + } + }, + { + "id": 8709, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.proxyInfo" + } + }, + { + "id": 8722, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 8741, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.request" + } + }, + { + "id": 8706, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 211, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L211" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "PlainResponse" + }, + "name": "PlainResponse", + "package": "got" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.response" + } + }, + { + "id": 8708, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.session" + } + }, + { + "id": 8735, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8736, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 8737, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 8738, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 8739, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.useState" + } + }, + { + "id": 8711, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 8712, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 8713, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + }, + { + "id": 8698, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 66, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L66" + } + ], + "signatures": [ + { + "id": 8699, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns Cheerio handle, this is here to unify the crawler API, so they all have this handy method.\nIt has the same return type as the " + }, + { + "kind": "code", + "text": "`$`" + }, + { + "kind": "text", + "text": " context property, use it only if you are abstracting your workflow to\nsupport different context types in one handler.\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ parseWithCheerio }) {\n const $ = await parseWithCheerio();\n const title = $('title').text();\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 66, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L66" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + }, + { + "id": 8723, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 8724, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 8725, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 8726, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + }, + { + "id": 8718, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 8719, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 8720, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 8721, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8697, + 8727, + 8700, + 8702, + 8710, + 8714, + 8707, + 8701, + 8740, + 8709, + 8722, + 8706, + 8708, + 8735 + ] + }, + { + "title": "Methods", + "children": [ + 8711, + 8698, + 8723, + 8718 + ] + } + ], + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 43, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L43" + } + ], + "typeParameters": [ + { + "id": 8741, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8742, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "typeArguments": [ + { + "type": "reference", + "target": 8741, + "name": "UserData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlingContext.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8742, + "name": "JSONData", + "package": "@crawlee/cheerio", + "qualifiedName": "CheerioCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8746, + "name": "CheerioCrawler", + "package": "@crawlee/cheerio" + } + ], + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + } + ] + }, + { + "id": 8649, + "name": "CheerioErrorHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 28, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L28" + } + ], + "typeParameters": [ + { + "id": 8650, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8651, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8650, + "name": "UserData", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8651, + "name": "JSONData", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 8693, + "name": "CheerioHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 38, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L38" + } + ], + "typeParameters": [ + { + "id": 8694, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8695, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8694, + "name": "UserData", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8695, + "name": "JSONData", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + { + "id": 8743, + "name": "CheerioRequestHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 69, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L69" + } + ], + "typeParameters": [ + { + "id": 8744, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8745, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "reference", + "target": 8744, + "name": "UserData", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8745, + "name": "JSONData", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 8644, + "name": "createCheerioRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 264, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L264" + } + ], + "signatures": [ + { + "id": 8645, + "name": "createCheerioRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that works based on request labels.\nThis instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ".\nDefaults to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawlingContext" + }, + { + "kind": "text", + "text": ".\n\n> Serves as a shortcut for using " + }, + { + "kind": "code", + "text": "`Router.create()`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { CheerioCrawler, createCheerioRouter } from 'crawlee';\n\nconst router = createCheerioRouter();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new CheerioCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "line": 264, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/internals/cheerio-crawler.ts#L264" + } + ], + "typeParameter": [ + { + "id": 8646, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + }, + "default": { + "type": "reference", + "target": 8696, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "CheerioCrawlingContext", + "package": "@crawlee/cheerio" + } + }, + { + "id": 8647, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 8646, + "name": "Context", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 8648, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 8646, + "name": "Context", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8647, + "name": "UserData", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 8646, + "name": "Context", + "package": "@crawlee/cheerio", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 8587, + 8588, + 8466, + 8465, + 8623, + 8550, + 8618, + 8616, + 8611, + 8471, + 8475, + 8474, + 8458, + 8620, + 8621, + 8617, + 8622, + 8477, + 8619, + 8547, + 8461, + 8563, + 8564, + 8568, + 8559, + 8560, + 8562, + 8561, + 8565, + 8567, + 8566, + 8493, + 8494, + 8486, + 8613, + 8490, + 8488, + 8487, + 8515, + 8513, + 8514, + 8640, + 8638, + 8634, + 8637, + 8636, + 8639, + 8472, + 8536, + 8509, + 8508, + 8632, + 8626, + 8630, + 8625, + 8628, + 8631, + 8589, + 8571, + 8570, + 8574, + 8572, + 8516, + 8518, + 8520, + 8521, + 8522, + 8519, + 8523, + 8552, + 8460, + 8551, + 8481, + 8528, + 8524, + 8525, + 8527, + 8453, + 8507, + 8506, + 8532, + 8459, + 8573, + 8511, + 8510, + 8530, + 8612, + 8478, + 8578, + 8577, + 8580, + 8579, + 8531, + 8581, + 8582, + 8554, + 8585, + 8583, + 8553, + 8555, + 8529, + 8512, + 8476, + 8463, + 8538, + 8535, + 8537, + 8546, + 8464, + 8545, + 8549, + 8548, + 8544, + 8489, + 8468, + 8467, + 8533, + 8484, + 8485, + 8482, + 8483, + 8615, + 8614, + 8457, + 8591, + 8635, + 8469, + 8473, + 8470, + 8526, + 8505, + 8595, + 8601, + 8610, + 8633, + 8624, + 8491, + 8502, + 8517, + 8592, + 8504, + 8593, + 8602 + ] + }, + { + "title": "Classes", + "children": [ + 8746 + ] + }, + { + "title": "Interfaces", + "children": [ + 8652, + 8696 + ] + }, + { + "title": "Type Aliases", + "children": [ + 8649, + 8693, + 8743 + ] + }, + { + "title": "Functions", + "children": [ + 8644 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 8746 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 8587, + 8588, + 8466, + 8465, + 8623, + 8550, + 8618, + 8616, + 8611, + 8471, + 8475, + 8474, + 8458, + 8620, + 8621, + 8617, + 8622, + 8477, + 8619, + 8547, + 8461, + 8563, + 8564, + 8568, + 8559, + 8560, + 8562, + 8561, + 8565, + 8567, + 8566, + 8493, + 8494, + 8486, + 8613, + 8490, + 8488, + 8487, + 8515, + 8513, + 8514, + 8640, + 8638, + 8634, + 8637, + 8636, + 8639, + 8472, + 8536, + 8509, + 8508, + 8632, + 8626, + 8630, + 8625, + 8628, + 8631, + 8589, + 8571, + 8570, + 8574, + 8572, + 8516, + 8518, + 8520, + 8521, + 8522, + 8519, + 8523, + 8552, + 8460, + 8551, + 8481, + 8528, + 8524, + 8525, + 8527, + 8453, + 8507, + 8506, + 8532, + 8459, + 8573, + 8511, + 8510, + 8530, + 8612, + 8478, + 8578, + 8577, + 8580, + 8579, + 8531, + 8581, + 8582, + 8554, + 8585, + 8583, + 8553, + 8555, + 8529, + 8512, + 8476, + 8463, + 8538, + 8535, + 8537, + 8546, + 8464, + 8545, + 8549, + 8548, + 8544, + 8489, + 8468, + 8467, + 8533, + 8484, + 8485, + 8482, + 8483, + 8615, + 8614, + 8457, + 8591, + 8635, + 8469, + 8473, + 8470, + 8526, + 8505, + 8595, + 8601, + 8610, + 8633, + 8624, + 8491, + 8502, + 8517, + 8592, + 8504, + 8593, + 8602, + 8652, + 8696, + 8649, + 8693, + 8743, + 8644 + ] + } + ], + "sources": [ + { + "fileName": "packages/cheerio-crawler/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/cheerio-crawler/src/index.ts#L1" + } + ] + }, + { + "id": 1, + "name": "core/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 2525, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2431 + }, + { + "id": 990, + "name": "EnqueueStrategy", + "variant": "declaration", + "kind": 8, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The different enqueueing strategies available.\n\nDepending on the strategy you select, we will only check certain parts of the URLs found. Here is a diagram of each URL part and their name:\n\n" + }, + { + "kind": "code", + "text": "```md\nProtocol Domain\n┌────┐ ┌─────────┐\nhttps://example.crawlee.dev/...\n│ └─────────────────┤\n│ Hostname │\n│ │\n└─────────────────────────┘\n Origin\n```" + }, + { + "kind": "text", + "text": "\n\n- The " + }, + { + "kind": "code", + "text": "`Protocol`" + }, + { + "kind": "text", + "text": " is usually " + }, + { + "kind": "code", + "text": "`http`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`https`" + }, + { + "kind": "text", + "text": "\n- The " + }, + { + "kind": "code", + "text": "`Domain`" + }, + { + "kind": "text", + "text": " represents the path without any possible subdomains to a website. For example, " + }, + { + "kind": "code", + "text": "`crawlee.dev`" + }, + { + "kind": "text", + "text": " is the domain of " + }, + { + "kind": "code", + "text": "`https://example.crawlee.dev/`" + }, + { + "kind": "text", + "text": "\n- The " + }, + { + "kind": "code", + "text": "`Hostname`" + }, + { + "kind": "text", + "text": " is the full path to a website, including any subdomains. For example, " + }, + { + "kind": "code", + "text": "`example.crawlee.dev`" + }, + { + "kind": "text", + "text": " is the hostname of " + }, + { + "kind": "code", + "text": "`https://example.crawlee.dev/`" + }, + { + "kind": "text", + "text": "\n- The " + }, + { + "kind": "code", + "text": "`Origin`" + }, + { + "kind": "text", + "text": " is the combination of the " + }, + { + "kind": "code", + "text": "`Protocol`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`Hostname`" + }, + { + "kind": "text", + "text": ". For example, " + }, + { + "kind": "code", + "text": "`https://example.crawlee.dev`" + }, + { + "kind": "text", + "text": " is the origin of " + }, + { + "kind": "code", + "text": "`https://example.crawlee.dev/`" + } + ] + }, + "children": [ + { + "id": 991, + "name": "All", + "variant": "declaration", + "kind": 16, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Matches any URLs found" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 181, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L181" + } + ], + "type": { + "type": "literal", + "value": "all" + } + }, + { + "id": 993, + "name": "SameDomain", + "variant": "declaration", + "kind": 16, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Matches any URLs that have the same domain as the base URL.\nFor example, " + }, + { + "kind": "code", + "text": "`https://wow.an.example.com`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`https://example.com`" + }, + { + "kind": "text", + "text": " will both be matched for a base url of\n" + }, + { + "kind": "code", + "text": "`https://example.com`" + }, + { + "kind": "text", + "text": ".\n\n> This strategy will match both " + }, + { + "kind": "code", + "text": "`http`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`https`" + }, + { + "kind": "text", + "text": " protocols regardless of the base URL protocol." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 199, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L199" + } + ], + "type": { + "type": "literal", + "value": "same-domain" + } + }, + { + "id": 992, + "name": "SameHostname", + "variant": "declaration", + "kind": 16, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Matches any URLs that have the same hostname.\nFor example, " + }, + { + "kind": "code", + "text": "`https://wow.example.com/hello`" + }, + { + "kind": "text", + "text": " will be matched for a base url of " + }, + { + "kind": "code", + "text": "`https://wow.example.com/`" + }, + { + "kind": "text", + "text": ", but\n" + }, + { + "kind": "code", + "text": "`https://example.com/hello`" + }, + { + "kind": "text", + "text": " will not be matched.\n\n> This strategy will match both " + }, + { + "kind": "code", + "text": "`http`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`https`" + }, + { + "kind": "text", + "text": " protocols regardless of the base URL protocol." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 190, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L190" + } + ], + "type": { + "type": "literal", + "value": "same-hostname" + } + }, + { + "id": 994, + "name": "SameOrigin", + "variant": "declaration", + "kind": 16, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Matches any URLs that have the same hostname and protocol.\nFor example, " + }, + { + "kind": "code", + "text": "`https://wow.example.com/hello`" + }, + { + "kind": "text", + "text": " will be matched for a base url of " + }, + { + "kind": "code", + "text": "`https://wow.example.com/`" + }, + { + "kind": "text", + "text": ", but\n" + }, + { + "kind": "code", + "text": "`http://wow.example.com/hello`" + }, + { + "kind": "text", + "text": " will not be matched.\n\n> This strategy will ensure the protocol of the base URL is the same as the protocol of the URL to be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 208, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L208" + } + ], + "type": { + "type": "literal", + "value": "same-origin" + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 991, + 993, + 992, + 994 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ] + }, + { + "id": 1053, + "name": "EventType", + "variant": "declaration", + "kind": 8, + "flags": { + "isConst": true + }, + "children": [ + { + "id": 1057, + "name": "ABORTING", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 12, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L12" + } + ], + "type": { + "type": "literal", + "value": "aborting" + } + }, + { + "id": 1058, + "name": "EXIT", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 13, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L13" + } + ], + "type": { + "type": "literal", + "value": "exit" + } + }, + { + "id": 1056, + "name": "MIGRATING", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 11, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L11" + } + ], + "type": { + "type": "literal", + "value": "migrating" + } + }, + { + "id": 1054, + "name": "PERSIST_STATE", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L9" + } + ], + "type": { + "type": "literal", + "value": "persistState" + } + }, + { + "id": 1055, + "name": "SYSTEM_INFO", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L10" + } + ], + "type": { + "type": "literal", + "value": "systemInfo" + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 1057, + 1058, + 1056, + 1054, + 1055 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ] + }, + { + "id": 1252, + "name": "LogLevel", + "variant": "declaration", + "kind": 8, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 1258, + "name": "DEBUG", + "variant": "declaration", + "kind": 16, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 9, + "character": 4 + } + ], + "type": { + "type": "literal", + "value": 5 + } + }, + { + "id": 1254, + "name": "ERROR", + "variant": "declaration", + "kind": 16, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 5, + "character": 4 + } + ], + "type": { + "type": "literal", + "value": 1 + } + }, + { + "id": 1257, + "name": "INFO", + "variant": "declaration", + "kind": 16, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 8, + "character": 4 + } + ], + "type": { + "type": "literal", + "value": 4 + } + }, + { + "id": 1253, + "name": "OFF", + "variant": "declaration", + "kind": 16, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 4, + "character": 4 + } + ], + "type": { + "type": "literal", + "value": 0 + } + }, + { + "id": 1259, + "name": "PERF", + "variant": "declaration", + "kind": 16, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 10, + "character": 4 + } + ], + "type": { + "type": "literal", + "value": 6 + } + }, + { + "id": 1255, + "name": "SOFT_FAIL", + "variant": "declaration", + "kind": 16, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 6, + "character": 4 + } + ], + "type": { + "type": "literal", + "value": 2 + } + }, + { + "id": 1256, + "name": "WARNING", + "variant": "declaration", + "kind": 16, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 7, + "character": 4 + } + ], + "type": { + "type": "literal", + "value": 3 + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 1258, + 1254, + 1257, + 1253, + 1259, + 1255, + 1256 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 3, + "character": 13 + } + ] + }, + { + "id": 1799, + "name": "RequestState", + "variant": "declaration", + "kind": 8, + "flags": {}, + "children": [ + { + "id": 1802, + "name": "AFTER_NAV", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 42, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L42" + } + ], + "type": { + "type": "literal", + "value": 2 + } + }, + { + "id": 1801, + "name": "BEFORE_NAV", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L41" + } + ], + "type": { + "type": "literal", + "value": 1 + } + }, + { + "id": 1804, + "name": "DONE", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 44, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L44" + } + ], + "type": { + "type": "literal", + "value": 4 + } + }, + { + "id": 1806, + "name": "ERROR", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 46, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L46" + } + ], + "type": { + "type": "literal", + "value": 6 + } + }, + { + "id": 1805, + "name": "ERROR_HANDLER", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 45, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L45" + } + ], + "type": { + "type": "literal", + "value": 5 + } + }, + { + "id": 1803, + "name": "REQUEST_HANDLER", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 43, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L43" + } + ], + "type": { + "type": "literal", + "value": 3 + } + }, + { + "id": 1807, + "name": "SKIPPED", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 47, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L47" + } + ], + "type": { + "type": "literal", + "value": 7 + } + }, + { + "id": 1800, + "name": "UNPROCESSED", + "variant": "declaration", + "kind": 16, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L40" + } + ], + "type": { + "type": "literal", + "value": 0 + } + } + ], + "groups": [ + { + "title": "Enumeration Members", + "children": [ + 1802, + 1801, + 1804, + 1806, + 1805, + 1803, + 1807, + 1800 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ] + }, + { + "id": 200, + "name": "AutoscaledPool", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Manages a pool of asynchronous resource-intensive tasks that are executed in parallel.\nThe pool only starts new tasks if there is enough free CPU and memory available\nand the Javascript event loop is not blocked.\n\nThe information about the CPU and memory usage is obtained by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Snapshotter" + }, + { + "kind": "text", + "text": " class,\nwhich makes regular snapshots of system resources that may be either local\nor from the Apify cloud infrastructure in case the process is running on the Apify platform.\nMeaningful data gathered from these snapshots is provided to " + }, + { + "kind": "code", + "text": "`AutoscaledPool`" + }, + { + "kind": "text", + "text": " by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemStatus" + }, + { + "kind": "text", + "text": " class.\n\nBefore running the pool, you need to implement the following three functions:\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction" + }, + { + "kind": "text", + "text": ",\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction" + }, + { + "kind": "text", + "text": ".\n\nThe auto-scaled pool is started by calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.run" + }, + { + "kind": "text", + "text": " function.\nThe pool periodically queries the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction" + }, + { + "kind": "text", + "text": " function\nfor more tasks, managing optimal concurrency, until the function resolves to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". The pool then queries\nthe " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction" + }, + { + "kind": "text", + "text": ". If it resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the run finishes after all running tasks complete.\nIf it resolves to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ", it assumes there will be more tasks available later and keeps periodically querying for tasks.\nIf any of the tasks throws then the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.run" + }, + { + "kind": "text", + "text": " function rejects the promise with an error.\n\nThe pool evaluates whether it should start a new task every time one of the tasks finishes\nand also in the interval set by the " + }, + { + "kind": "code", + "text": "`options.maybeRunIntervalSecs`" + }, + { + "kind": "text", + "text": " parameter.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst pool = new AutoscaledPool({\n maxConcurrency: 50,\n runTaskFunction: async () => {\n // Run some resource-intensive asynchronous operation here.\n },\n isTaskReadyFunction: async () => {\n // Tell the pool whether more tasks are ready to be processed.\n // Return true or false\n },\n isFinishedFunction: async () => {\n // Tell the pool whether it should finish\n // or wait for more tasks to become available.\n // Return true or false\n }\n});\n\nawait pool.run();\n```" + } + ] + }, + "children": [ + { + "id": 201, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 213, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L213" + } + ], + "signatures": [ + { + "id": 202, + "name": "new AutoscaledPool", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 213, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L213" + } + ], + "parameters": [ + { + "id": 203, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + } + }, + { + "id": 204, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 258, + "name": "currentConcurrency", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 350, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L350" + } + ], + "getSignature": { + "id": 259, + "name": "currentConcurrency", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets the the number of parallel tasks currently running in the pool." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 350, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L350" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + }, + { + "id": 254, + "name": "desiredConcurrency", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 334, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L334" + }, + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 342, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L342" + } + ], + "getSignature": { + "id": 255, + "name": "desiredConcurrency", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets the desired concurrency for the pool,\nwhich is an estimated number of parallel tasks that the system can currently support." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 334, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L334" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + "setSignature": { + "id": 256, + "name": "desiredConcurrency", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the desired concurrency for the pool, i.e. the number of tasks that should be running\nin parallel if there's large enough supply of tasks." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 342, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L342" + } + ], + "parameters": [ + { + "id": 257, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 250, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 318, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L318" + }, + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 325, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L325" + } + ], + "getSignature": { + "id": 251, + "name": "maxConcurrency", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets the maximum number of tasks running in parallel." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 318, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L318" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + "setSignature": { + "id": 252, + "name": "maxConcurrency", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum number of tasks running in parallel." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 325, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L325" + } + ], + "parameters": [ + { + "id": 253, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 246, + "name": "minConcurrency", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 300, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L300" + }, + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 310, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L310" + } + ], + "getSignature": { + "id": 247, + "name": "minConcurrency", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets the minimum number of tasks running in parallel." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 300, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L300" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + "setSignature": { + "id": 248, + "name": "minConcurrency", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum number of tasks running in parallel.\n\n*WARNING:* If you set this value too high with respect to the available system memory and CPU, your code might run extremely slow or crash.\nIf you're not sure, just keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 310, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L310" + } + ], + "parameters": [ + { + "id": 249, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 262, + "name": "abort", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 398, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L398" + } + ], + "signatures": [ + { + "id": 263, + "name": "abort", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Aborts the run of the auto-scaled pool and destroys it. The promise returned from\nthe " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.run" + }, + { + "kind": "text", + "text": " function will immediately resolve, no more new tasks\nwill be spawned and all running tasks will be left in their current state.\n\nDue to the nature of the tasks, auto-scaled pool cannot reliably guarantee abortion\nof all the running tasks, therefore, no abortion is attempted and some of the tasks\nmay finish, while others may not. Essentially, auto-scaled pool doesn't care about\ntheir state after the invocation of " + }, + { + "kind": "code", + "text": "`.abort()`" + }, + { + "kind": "text", + "text": ", but that does not mean that some\nparts of their asynchronous chains of commands will not execute." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 398, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L398" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 269, + "name": "notify", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 455, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L455" + } + ], + "signatures": [ + { + "id": 270, + "name": "notify", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Explicitly check the queue for new tasks. The AutoscaledPool checks the queue for new tasks periodically,\nevery " + }, + { + "kind": "code", + "text": "`maybeRunIntervalSecs`" + }, + { + "kind": "text", + "text": " seconds. If you want to trigger the processing immediately, use this method." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 455, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L455" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 264, + "name": "pause", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 417, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L417" + } + ], + "signatures": [ + { + "id": 265, + "name": "pause", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Prevents the auto-scaled pool from starting new tasks, but allows the running ones to finish\n(unlike abort, which terminates them). Used together with " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.resume" + }, + { + "kind": "text", + "text": "\n\nThe function's promise will resolve once all running tasks have completed and the pool\nis effectively idle. If the " + }, + { + "kind": "code", + "text": "`timeoutSecs`" + }, + { + "kind": "text", + "text": " argument is provided, the promise will reject\nwith a timeout error after the " + }, + { + "kind": "code", + "text": "`timeoutSecs`" + }, + { + "kind": "text", + "text": " seconds.\n\nThe promise returned from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.run" + }, + { + "kind": "text", + "text": " function will not resolve\nwhen " + }, + { + "kind": "code", + "text": "`.pause()`" + }, + { + "kind": "text", + "text": " is invoked (unlike abort, which resolves it)." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 417, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L417" + } + ], + "parameters": [ + { + "id": 266, + "name": "timeoutSecs", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 267, + "name": "resume", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 447, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L447" + } + ], + "signatures": [ + { + "id": 268, + "name": "resume", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resumes the operation of the autoscaled-pool by allowing more tasks to be run.\nUsed together with " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause" + }, + { + "kind": "text", + "text": "\n\nTasks will automatically start running again in " + }, + { + "kind": "code", + "text": "`options.maybeRunIntervalSecs`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 447, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L447" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 260, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 358, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L358" + } + ], + "signatures": [ + { + "id": 261, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the auto-scaled pool. Returns a promise that gets resolved or rejected once\nall the tasks are finished or one of them fails." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 358, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L358" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 201 + ] + }, + { + "title": "Accessors", + "children": [ + 258, + 254, + 250, + 246 + ] + }, + { + "title": "Methods", + "children": [ + 262, + 269, + 264, + 267, + 260 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ] + }, + { + "id": 490, + "name": "Configuration", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`Configuration`" + }, + { + "kind": "text", + "text": " is a value object holding Crawlee configuration. By default, there is a\nglobal singleton instance of this class available via " + }, + { + "kind": "code", + "text": "`Configuration.getGlobalConfig()`" + }, + { + "kind": "text", + "text": ".\nPlaces that depend on a configurable behaviour depend on this class, as they have the global\ninstance as the default value.\n\n*Using global configuration:*\n" + }, + { + "kind": "code", + "text": "```js\nimport { BasicCrawler, Configuration } from 'crawlee';\n\n// Get the global configuration\nconst config = Configuration.getGlobalConfig();\n// Set the 'persistStateIntervalMillis' option\n// of global configuration to 10 seconds\nconfig.set('persistStateIntervalMillis', 10_000);\n\n// No need to pass the configuration to the crawler,\n// as it's using the global configuration by default\nconst crawler = new BasicCrawler();\n```" + }, + { + "kind": "text", + "text": "\n\n*Using custom configuration:*\n" + }, + { + "kind": "code", + "text": "```js\nimport { BasicCrawler, Configuration } from 'crawlee';\n\n// Create a new configuration\nconst config = new Configuration({ persistStateIntervalMillis: 30_000 });\n// Pass the configuration to the crawler\nconst crawler = new BasicCrawler({ ... }, config);\n```" + }, + { + "kind": "text", + "text": "\n\nThe configuration provided via environment variables always takes precedence. We can also\ndefine the " + }, + { + "kind": "code", + "text": "`crawlee.json`" + }, + { + "kind": "text", + "text": " file in the project root directory which will serve as a baseline,\nso the options provided in constructor will override those. In other words, the precedence is:\n\n" + }, + { + "kind": "code", + "text": "```text\ncrawlee.json < constructor options < environment variables\n```" + }, + { + "kind": "text", + "text": "\n\n## Supported Configuration Options\n\nKey | Environment Variable | Default Value\n---|---|---\n" + }, + { + "kind": "code", + "text": "`memoryMbytes`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_MEMORY_MBYTES`" + }, + { + "kind": "text", + "text": " | -\n" + }, + { + "kind": "code", + "text": "`logLevel`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_LOG_LEVEL`" + }, + { + "kind": "text", + "text": " | -\n" + }, + { + "kind": "code", + "text": "`headless`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_HEADLESS`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "`defaultDatasetId`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_DATASET_ID`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`'default'`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "`defaultKeyValueStoreId`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_KEY_VALUE_STORE_ID`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`'default'`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "`defaultRequestQueueId`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_REQUEST_QUEUE_ID`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`'default'`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "`persistStateIntervalMillis`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_PERSIST_STATE_INTERVAL_MILLIS`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`60_000`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "`purgeOnStart`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_PURGE_ON_START`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "`persistStorage`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_PERSIST_STORAGE`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "\n\n## Advanced Configuration Options\n\nKey | Environment Variable | Default Value\n---|---|---\n" + }, + { + "kind": "code", + "text": "`inputKey`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_INPUT_KEY`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`'INPUT'`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "`xvfb`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_XVFB`" + }, + { + "kind": "text", + "text": " | -\n" + }, + { + "kind": "code", + "text": "`chromeExecutablePath`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_CHROME_EXECUTABLE_PATH`" + }, + { + "kind": "text", + "text": " | -\n" + }, + { + "kind": "code", + "text": "`defaultBrowserPath`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_BROWSER_PATH`" + }, + { + "kind": "text", + "text": " | -\n" + }, + { + "kind": "code", + "text": "`disableBrowserSandbox`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_DISABLE_BROWSER_SANDBOX`" + }, + { + "kind": "text", + "text": " | -\n" + }, + { + "kind": "code", + "text": "`availableMemoryRatio`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`CRAWLEE_AVAILABLE_MEMORY_RATIO`" + }, + { + "kind": "text", + "text": " | " + }, + { + "kind": "code", + "text": "`0.25`" + } + ] + }, + "children": [ + { + "id": 512, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 288, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L288" + } + ], + "signatures": [ + { + "id": 513, + "name": "new Configuration", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "code", + "text": "`Configuration`" + }, + { + "kind": "text", + "text": " instance with provided options. Env vars will have precedence over those." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 288, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L288" + } + ], + "parameters": [ + { + "id": 514, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 448, + "name": "ConfigurationOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 538, + "name": "storageManagers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isPublic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 283, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L283" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2015.collection.d.ts", + "qualifiedName": "Map" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Constructor" + }, + "name": "Constructor", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManager" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3019, + "name": "IStorage", + "package": "@crawlee/core" + } + ], + "name": "StorageManager", + "package": "@crawlee/core" + } + ], + "name": "Map", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 539, + "name": "get", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 308, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L308" + } + ], + "signatures": [ + { + "id": 540, + "name": "get", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns configured value. First checks the environment variables, then provided configuration,\nfallbacks to the " + }, + { + "kind": "code", + "text": "`defaultValue`" + }, + { + "kind": "text", + "text": " argument if provided, otherwise uses the default value as described\nin the above section." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 308, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L308" + } + ], + "typeParameter": [ + { + "id": 541, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 448, + "name": "ConfigurationOptions", + "package": "@crawlee/core" + } + } + }, + { + "id": 542, + "name": "U", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "intrinsic", + "name": "boolean" + }, + { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "reference", + "target": 1060, + "name": "EventManager", + "package": "@crawlee/core" + }, + { + "type": "reflection", + "declaration": { + "id": 543, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 564, + "character": 4 + } + ], + "signatures": [ + { + "id": 544, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a string representation of an object." + } + ] + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 564, + "character": 4 + } + ], + "parameters": [ + { + "id": 545, + "name": "radix", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies a radix for converting numeric values to strings. This value is only used for numbers." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 546, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 570, + "character": 4 + } + ], + "signatures": [ + { + "id": 547, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a string representing a number in fixed-point notation." + } + ] + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 570, + "character": 4 + } + ], + "parameters": [ + { + "id": 548, + "name": "fractionDigits", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Number of digits after the decimal point. Must be in the range 0 - 20, inclusive." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 549, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 576, + "character": 4 + } + ], + "signatures": [ + { + "id": 550, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a string containing a number represented in exponential notation." + } + ] + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 576, + "character": 4 + } + ], + "parameters": [ + { + "id": 551, + "name": "fractionDigits", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Number of digits after the decimal point. Must be in the range 0 - 20, inclusive." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 552, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 582, + "character": 4 + } + ], + "signatures": [ + { + "id": 553, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits." + } + ] + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 582, + "character": 4 + } + ], + "parameters": [ + { + "id": 554, + "name": "precision", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Number of significant digits. Must be in the range 1 - 21, inclusive." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 555, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 585, + "character": 4 + } + ], + "signatures": [ + { + "id": 556, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the primitive value of the specified object." + } + ] + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 585, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 557, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 4540, + "character": 4 + }, + { + "fileName": "website/node_modules/typescript/lib/lib.es2020.number.d.ts", + "line": 27, + "character": 4 + } + ], + "signatures": [ + { + "id": 558, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Converts a number to a string by using the current or specified locale." + } + ] + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 4540, + "character": 4 + } + ], + "parameters": [ + { + "id": 559, + "name": "locales", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "id": 560, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object that contains one or more properties that specify comparison options." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Intl.NumberFormatOptions" + }, + "name": "NumberFormatOptions", + "package": "typescript", + "qualifiedName": "Intl.NumberFormatOptions" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 561, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Converts a number to a string by using the current or specified locale." + } + ] + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es2020.number.d.ts", + "line": 27, + "character": 4 + } + ], + "parameters": [ + { + "id": 562, + "name": "locales", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A locale string, array of locale strings, Intl.Locale object, or array of Intl.Locale objects that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2020.intl.d.ts", + "qualifiedName": "Intl.LocalesArgument" + }, + "name": "LocalesArgument", + "package": "typescript", + "qualifiedName": "Intl.LocalesArgument" + } + }, + { + "id": 563, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object that contains one or more properties that specify comparison options." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Intl.NumberFormatOptions" + }, + "name": "NumberFormatOptions", + "package": "typescript", + "qualifiedName": "Intl.NumberFormatOptions" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + } + ] + } + } + ], + "parameters": [ + { + "id": 564, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 541, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + }, + { + "id": 565, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 542, + "name": "U", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": 542, + "name": "U", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ] + }, + { + "id": 576, + "name": "getEventManager", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 382, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L382" + } + ], + "signatures": [ + { + "id": 577, + "name": "getEventManager", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 382, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L382" + } + ], + "type": { + "type": "reference", + "target": 1060, + "name": "EventManager", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 570, + "name": "set", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 352, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L352" + } + ], + "signatures": [ + { + "id": 571, + "name": "set", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets value for given option. Only affects this " + }, + { + "kind": "code", + "text": "`Configuration`" + }, + { + "kind": "text", + "text": " instance, the value will not be propagated down to the env var.\nTo reset a value, we can omit the " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " argument or pass " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " there." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 352, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L352" + } + ], + "parameters": [ + { + "id": 572, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 448, + "name": "ConfigurationOptions", + "package": "@crawlee/core" + } + } + }, + { + "id": 573, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 584, + "name": "useEventManager", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 426, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L426" + } + ], + "signatures": [ + { + "id": 585, + "name": "useEventManager", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 426, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L426" + } + ], + "parameters": [ + { + "id": 586, + "name": "events", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1060, + "name": "EventManager", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 581, + "name": "useStorageClient", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 418, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L418" + } + ], + "signatures": [ + { + "id": 582, + "name": "useStorageClient", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 418, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L418" + } + ], + "parameters": [ + { + "id": 583, + "name": "client", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 508, + "name": "getEventManager", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 452, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L452" + } + ], + "signatures": [ + { + "id": 509, + "name": "getEventManager", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "EventManager" + }, + { + "kind": "text", + "text": " instance." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 452, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L452" + } + ], + "type": { + "type": "reference", + "target": 1060, + "name": "EventManager", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 504, + "name": "getGlobalConfig", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 433, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L433" + } + ], + "signatures": [ + { + "id": 505, + "name": "getGlobalConfig", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the global configuration instance. It will respect the environment variables." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 433, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L433" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 506, + "name": "getStorageClient", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 445, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L445" + } + ], + "signatures": [ + { + "id": 507, + "name": "getStorageClient", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "StorageClient" + }, + { + "kind": "text", + "text": " instance." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 445, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L445" + } + ], + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 510, + "name": "resetGlobalState", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 460, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L460" + } + ], + "signatures": [ + { + "id": 511, + "name": "resetGlobalState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resets global configuration instance. The default instance holds configuration based on env vars,\nif we want to change them, we need to first reset the global state. Used mainly for testing purposes." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 460, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L460" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 497, + "name": "set", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 360, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L360" + } + ], + "signatures": [ + { + "id": 498, + "name": "set", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets value for given option. Only affects the global " + }, + { + "kind": "code", + "text": "`Configuration`" + }, + { + "kind": "text", + "text": " instance, the value will not be propagated down to the env var.\nTo reset a value, we can omit the " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " argument or pass " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": " there." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 360, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L360" + } + ], + "parameters": [ + { + "id": 499, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "keyof", + "target": { + "type": "reference", + "target": 448, + "name": "ConfigurationOptions", + "package": "@crawlee/core" + } + } + }, + { + "id": 500, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 501, + "name": "useStorageClient", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 422, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L422" + } + ], + "signatures": [ + { + "id": 502, + "name": "useStorageClient", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 422, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L422" + } + ], + "parameters": [ + { + "id": 503, + "name": "client", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 512 + ] + }, + { + "title": "Properties", + "children": [ + 538 + ] + }, + { + "title": "Methods", + "children": [ + 539, + 576, + 570, + 584, + 581, + 508, + 504, + 506, + 510, + 497, + 501 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ] + }, + { + "id": 98, + "name": "CriticalError", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Errors of " + }, + { + "kind": "code", + "text": "`CriticalError`" + }, + { + "kind": "text", + "text": " type will shut down the whole crawler.\nError handlers catching CriticalError should avoid logging it, as it will be logged by Node.js itself at the end" + } + ] + }, + "children": [ + { + "id": 109, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1082, + "character": 4 + } + ], + "signatures": [ + { + "id": 110, + "name": "new CriticalError", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1082, + "character": 4 + } + ], + "parameters": [ + { + "id": 111, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 98, + "name": "CriticalError", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 89, + "name": "NonRetryableError.constructor" + } + }, + { + "id": 112, + "name": "new CriticalError", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1082, + "character": 4 + } + ], + "parameters": [ + { + "id": 113, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 114, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "ErrorOptions" + }, + "name": "ErrorOptions", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": 98, + "name": "CriticalError", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 91, + "name": "NonRetryableError.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 88, + "name": "NonRetryableError.constructor" + } + }, + { + "id": 118, + "name": "cause", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es2022.error.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "inheritedFrom": { + "type": "reference", + "target": 97, + "name": "NonRetryableError.cause" + } + }, + { + "id": 116, + "name": "message", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1077, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 95, + "name": "NonRetryableError.message" + } + }, + { + "id": 115, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1076, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 94, + "name": "NonRetryableError.name" + } + }, + { + "id": 117, + "name": "stack", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1078, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 96, + "name": "NonRetryableError.stack" + } + }, + { + "id": 103, + "name": "prepareStackTrace", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional override for formatting stack traces" + } + ], + "blockTags": [ + { + "tag": "@see", + "content": [ + { + "kind": "text", + "text": "https://v8.dev/docs/stack-trace-api#customizing-stack-traces" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 104, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "signatures": [ + { + "id": 105, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "parameters": [ + { + "id": 106, + "name": "err", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 107, + "name": "stackTraces", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.NodeJS.CallSite" + }, + "name": "CallSite", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.CallSite" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 82, + "name": "NonRetryableError.prepareStackTrace" + } + }, + { + "id": 108, + "name": "stackTraceLimit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 30, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 87, + "name": "NonRetryableError.stackTraceLimit" + } + }, + { + "id": 99, + "name": "captureStackTrace", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "signatures": [ + { + "id": 100, + "name": "captureStackTrace", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Create .stack property on a target object" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "parameters": [ + { + "id": 101, + "name": "targetObject", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 102, + "name": "constructorOpt", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 79, + "name": "NonRetryableError.captureStackTrace" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 78, + "name": "NonRetryableError.captureStackTrace" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 109 + ] + }, + { + "title": "Properties", + "children": [ + 118, + 116, + 115, + 117, + 103, + 108 + ] + }, + { + "title": "Methods", + "children": [ + 99 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 77, + "name": "NonRetryableError", + "package": "@crawlee/core" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 5225, + "name": "BrowserLaunchError" + } + ] + }, + { + "id": 2572, + "name": "Dataset", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`Dataset`" + }, + { + "kind": "text", + "text": " class represents a store for structured data where each object stored has the same attributes,\nsuch as online store products or real estate offers. You can imagine it as a table,\nwhere each object is a row and its attributes are columns.\nDataset is an append-only storage - you can only add new records to it but you cannot modify or remove existing records.\nTypically it is used to store crawling results.\n\nDo not instantiate this class directly, use the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.open" + }, + { + "kind": "text", + "text": " function instead.\n\n" + }, + { + "kind": "code", + "text": "`Dataset`" + }, + { + "kind": "text", + "text": " stores its data either on local disk or in the Apify cloud,\ndepending on whether the " + }, + { + "kind": "code", + "text": "`APIFY_LOCAL_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`APIFY_TOKEN`" + }, + { + "kind": "text", + "text": " environment variables are set.\n\nIf the " + }, + { + "kind": "code", + "text": "`APIFY_LOCAL_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " environment variable is set, the data is stored in\nthe local directory in the following files:\n" + }, + { + "kind": "code", + "text": "```\n{APIFY_LOCAL_STORAGE_DIR}/datasets/{DATASET_ID}/{INDEX}.json\n```" + }, + { + "kind": "text", + "text": "\nNote that " + }, + { + "kind": "code", + "text": "`{DATASET_ID}`" + }, + { + "kind": "text", + "text": " is the name or ID of the dataset. The default dataset has ID: " + }, + { + "kind": "code", + "text": "`default`" + }, + { + "kind": "text", + "text": ",\nunless you override it by setting the " + }, + { + "kind": "code", + "text": "`APIFY_DEFAULT_DATASET_ID`" + }, + { + "kind": "text", + "text": " environment variable.\nEach dataset item is stored as a separate JSON file, where " + }, + { + "kind": "code", + "text": "`{INDEX}`" + }, + { + "kind": "text", + "text": " is a zero-based index of the item in the dataset.\n\nIf the " + }, + { + "kind": "code", + "text": "`APIFY_TOKEN`" + }, + { + "kind": "text", + "text": " environment variable is set but " + }, + { + "kind": "code", + "text": "`APIFY_LOCAL_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " not, the data is stored in the\n[Apify Dataset](https://docs.apify.com/storage/dataset)\ncloud storage. Note that you can force usage of the cloud storage also by passing the " + }, + { + "kind": "code", + "text": "`forceCloud`" + }, + { + "kind": "text", + "text": "\noption to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.open" + }, + { + "kind": "text", + "text": " function,\neven if the " + }, + { + "kind": "code", + "text": "`APIFY_LOCAL_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " variable is set.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\n// Write a single row to the default dataset\nawait Dataset.pushData({ col1: 123, col2: 'val2' });\n\n// Open a named dataset\nconst dataset = await Dataset.open('some-name');\n\n// Write a single row\nawait dataset.pushData({ foo: 'bar' });\n\n// Write multiple rows\nawait dataset.pushData([\n { foo: 'bar2', col2: 'val2' },\n { col3: 123 },\n]);\n\n// Export the entirety of the dataset to one file in the key-value store\nawait dataset.exportToCSV('MY-DATA');\n```" + } + ] + }, + "children": [ + { + "id": 2601, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 227, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L227" + } + ], + "type": { + "type": "reference", + "target": 13518, + "typeArguments": [ + { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + } + ], + "name": "DatasetClient", + "package": "@crawlee/types" + } + }, + { + "id": 2603, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 233, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L233" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + }, + { + "id": 2599, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 225, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L225" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2602, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 228, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L228" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "defaultValue": "..." + }, + { + "id": 2600, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 226, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L226" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2644, + "name": "drop", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 539, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L539" + } + ], + "signatures": [ + { + "id": 2645, + "name": "drop", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the dataset either from the Apify cloud storage or from the local directory,\ndepending on the mode of operation." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 539, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L539" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2610, + "name": "export", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 307, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L307" + } + ], + "signatures": [ + { + "id": 2611, + "name": "export", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns all the data from the dataset. This will iterate through the whole dataset\nvia the " + }, + { + "kind": "code", + "text": "`listItems()`" + }, + { + "kind": "text", + "text": " client method, which gives you only paginated results." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 307, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L307" + } + ], + "parameters": [ + { + "id": 2612, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2613, + "name": "exportTo", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 339, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L339" + } + ], + "signatures": [ + { + "id": 2614, + "name": "exportTo", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Save the entirety of the dataset's contents into one file within a key-value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 339, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L339" + } + ], + "parameters": [ + { + "id": 2615, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the value to save the data in." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2616, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An optional options object where you can provide the dataset and target KVS name." + } + ] + }, + "type": { + "type": "reference", + "target": 2563, + "name": "DatasetExportToOptions", + "package": "@crawlee/core" + } + }, + { + "id": 2617, + "name": "contentType", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Only JSON and CSV are supported currently, defaults to JSON." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2622, + "name": "exportToCSV", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 378, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L378" + } + ], + "signatures": [ + { + "id": 2623, + "name": "exportToCSV", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Save entire default dataset's contents into one CSV file within a key-value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 378, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L378" + } + ], + "parameters": [ + { + "id": 2624, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the value to save the data in." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2625, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An optional options object where you can provide the target KVS name." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2563, + "name": "DatasetExportToOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "fromDataset" + } + ], + "name": "Omit", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2618, + "name": "exportToJSON", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 368, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L368" + } + ], + "signatures": [ + { + "id": 2619, + "name": "exportToJSON", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Save entire default dataset's contents into one JSON file within a key-value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 368, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L368" + } + ], + "parameters": [ + { + "id": 2620, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the value to save the data in." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2621, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An optional options object where you can provide the target KVS name." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2563, + "name": "DatasetExportToOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "fromDataset" + } + ], + "name": "Omit", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2628, + "name": "forEach", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 456, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L456" + } + ], + "signatures": [ + { + "id": 2629, + "name": "forEach", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Iterates over dataset items, yielding each in turn to an " + }, + { + "kind": "code", + "text": "`iteratee`" + }, + { + "kind": "text", + "text": " function.\nEach invocation of " + }, + { + "kind": "code", + "text": "`iteratee`" + }, + { + "kind": "text", + "text": " is called with two arguments: " + }, + { + "kind": "code", + "text": "`(item, index)`" + }, + { + "kind": "text", + "text": ".\n\nIf the " + }, + { + "kind": "code", + "text": "`iteratee`" + }, + { + "kind": "text", + "text": " function returns a Promise then it is awaited before the next call.\nIf it throws an error, the iteration is aborted and the " + }, + { + "kind": "code", + "text": "`forEach`" + }, + { + "kind": "text", + "text": " function throws the error.\n\n**Example usage**\n" + }, + { + "kind": "code", + "text": "```javascript\nconst dataset = await Dataset.open('my-results');\nawait dataset.forEach(async (item, index) => {\n console.log(`Item at ${index}: ${JSON.stringify(item)}`);\n});\n```" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 456, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L456" + } + ], + "parameters": [ + { + "id": 2630, + "name": "iteratee", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function that is called for every item in the dataset." + } + ] + }, + "type": { + "type": "reference", + "target": 2647, + "typeArguments": [ + { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + } + ], + "name": "DatasetConsumer", + "package": "@crawlee/core" + } + }, + { + "id": 2631, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`forEach()`" + }, + { + "kind": "text", + "text": " parameters." + } + ] + }, + "type": { + "type": "reference", + "target": 2553, + "name": "DatasetIteratorOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + }, + { + "id": 2632, + "name": "index", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies the initial index number passed to the " + }, + { + "kind": "code", + "text": "`iteratee`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2607, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 289, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L289" + } + ], + "signatures": [ + { + "id": 2608, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "DatasetContent" + }, + { + "kind": "text", + "text": " object holding the items in the dataset based on the provided parameters." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 289, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L289" + } + ], + "parameters": [ + { + "id": 2609, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2626, + "name": "getInfo", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 430, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L430" + } + ], + "signatures": [ + { + "id": 2627, + "name": "getInfo", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an object containing general information about the dataset.\n\nThe function returns the same object as the Apify API Client's\n[getDataset](https://docs.apify.com/api/apify-client-js/latest#ApifyClient-datasets-getDataset)\nfunction, which in turn calls the\n[Get dataset](https://apify.com/docs/api/v2#/reference/datasets/dataset/get-dataset)\nAPI endpoint.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```\n{\n id: \"WkzbQMuFYuamGv3YF\",\n name: \"my-dataset\",\n userId: \"wRsJZtadYvn4mBZmm\",\n createdAt: new Date(\"2015-12-12T07:34:14.202Z\"),\n modifiedAt: new Date(\"2015-12-13T08:36:13.202Z\"),\n accessedAt: new Date(\"2015-12-14T08:36:13.202Z\"),\n itemCount: 14,\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 430, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L430" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13504, + "name": "DatasetInfo", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2633, + "name": "map", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 485, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L485" + } + ], + "signatures": [ + { + "id": 2634, + "name": "map", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Produces a new array of values by mapping each value in list through a transformation function " + }, + { + "kind": "code", + "text": "`iteratee()`" + }, + { + "kind": "text", + "text": ".\nEach invocation of " + }, + { + "kind": "code", + "text": "`iteratee()`" + }, + { + "kind": "text", + "text": " is called with two arguments: " + }, + { + "kind": "code", + "text": "`(element, index)`" + }, + { + "kind": "text", + "text": ".\n\nIf " + }, + { + "kind": "code", + "text": "`iteratee`" + }, + { + "kind": "text", + "text": " returns a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " then it's awaited before a next call." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 485, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L485" + } + ], + "typeParameter": [ + { + "id": 2635, + "name": "R", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 2636, + "name": "iteratee", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2652, + "typeArguments": [ + { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 2635, + "name": "R", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "DatasetMapper", + "package": "@crawlee/core" + } + }, + { + "id": 2637, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`map()`" + }, + { + "kind": "text", + "text": " parameters." + } + ] + }, + "type": { + "type": "reference", + "target": 2553, + "name": "DatasetIteratorOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 2635, + "name": "R", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2604, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 263, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L263" + } + ], + "signatures": [ + { + "id": 2605, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Stores an object or an array of objects to the dataset.\nThe function returns a promise that resolves when the operation finishes.\nIt has no result, but throws on invalid args or other errors.\n\n**IMPORTANT**: Make sure to use the " + }, + { + "kind": "code", + "text": "`await`" + }, + { + "kind": "text", + "text": " keyword when calling " + }, + { + "kind": "code", + "text": "`pushData()`" + }, + { + "kind": "text", + "text": ",\notherwise the crawler process might finish before the data is stored!\n\nThe size of the data is limited by the receiving API and therefore " + }, + { + "kind": "code", + "text": "`pushData()`" + }, + { + "kind": "text", + "text": " will only\nallow objects whose JSON representation is smaller than 9MB. When an array is passed,\nnone of the included objects\nmay be larger than 9MB, but the array itself may be of any size.\n\nThe function internally\nchunks the array into separate items and pushes them sequentially.\nThe chunking process is stable (keeps order of data), but it does not provide a transaction\nsafety mechanism. Therefore, in the event of an uploading error (after several automatic retries),\nthe function's Promise will reject and the dataset will be left in a state where some of\nthe items have already been saved to the dataset while other items from the source array were not.\nTo overcome this limitation, the developer may, for example, read the last item saved in the dataset\nand re-attempt the save of the data from this item onwards to prevent duplicates." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 263, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L263" + } + ], + "parameters": [ + { + "id": 2606, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Object or array of objects containing data to be stored in the default dataset.\n The objects must be serializable to JSON and the JSON representation of each object must be smaller than 9MB." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2638, + "name": "reduce", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 513, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L513" + } + ], + "signatures": [ + { + "id": 2639, + "name": "reduce", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Reduces a list of values down to a single value.\n\nMemo is the initial state of the reduction, and each successive step of it should be returned by " + }, + { + "kind": "code", + "text": "`iteratee()`" + }, + { + "kind": "text", + "text": ".\nThe " + }, + { + "kind": "code", + "text": "`iteratee()`" + }, + { + "kind": "text", + "text": " is passed three arguments: the " + }, + { + "kind": "code", + "text": "`memo`" + }, + { + "kind": "text", + "text": ", then the " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`index`" + }, + { + "kind": "text", + "text": " of the iteration.\n\nIf no " + }, + { + "kind": "code", + "text": "`memo`" + }, + { + "kind": "text", + "text": " is passed to the initial invocation of reduce, the " + }, + { + "kind": "code", + "text": "`iteratee()`" + }, + { + "kind": "text", + "text": " is not invoked on the first element of the list.\nThe first element is instead passed as the memo in the invocation of the " + }, + { + "kind": "code", + "text": "`iteratee()`" + }, + { + "kind": "text", + "text": " on the next element in the list.\n\nIf " + }, + { + "kind": "code", + "text": "`iteratee()`" + }, + { + "kind": "text", + "text": " returns a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " then it's awaited before a next call." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 513, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L513" + } + ], + "typeParameter": [ + { + "id": 2640, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 2641, + "name": "iteratee", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2658, + "typeArguments": [ + { + "type": "reference", + "target": 2640, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 2646, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "Dataset.Data", + "refersToTypeParameter": true + } + ], + "name": "DatasetReducer", + "package": "@crawlee/core" + } + }, + { + "id": 2642, + "name": "memo", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Initial state of the reduction." + } + ] + }, + "type": { + "type": "reference", + "target": 2640, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + }, + { + "id": 2643, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`reduce()`" + }, + { + "kind": "text", + "text": " parameters." + } + ] + }, + "type": { + "type": "reference", + "target": 2553, + "name": "DatasetIteratorOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2640, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2577, + "name": "exportToCSV", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 401, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L401" + } + ], + "signatures": [ + { + "id": 2578, + "name": "exportToCSV", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Save entire default dataset's contents into one CSV file within a key-value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 401, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L401" + } + ], + "parameters": [ + { + "id": 2579, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the value to save the data in." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2580, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An optional options object where you can provide the dataset and target KVS name." + } + ] + }, + "type": { + "type": "reference", + "target": 2563, + "name": "DatasetExportToOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2573, + "name": "exportToJSON", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 388, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L388" + } + ], + "signatures": [ + { + "id": 2574, + "name": "exportToJSON", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Save entire default dataset's contents into one JSON file within a key-value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 388, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L388" + } + ], + "parameters": [ + { + "id": 2575, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the value to save the data in." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2576, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An optional options object where you can provide the dataset and target KVS name." + } + ] + }, + "type": { + "type": "reference", + "target": 2563, + "name": "DatasetExportToOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2590, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 612, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L612" + } + ], + "signatures": [ + { + "id": 2591, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "DatasetContent" + }, + { + "kind": "text", + "text": " object holding the items in the dataset based on the provided parameters." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 612, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L612" + } + ], + "typeParameter": [ + { + "id": 2592, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 2593, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": 2592, + "name": "Data", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2581, + "name": "open", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 561, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L561" + } + ], + "signatures": [ + { + "id": 2582, + "name": "open", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens a dataset and returns a promise resolving to an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " class.\n\nDatasets are used to store structured data where each object stored has the same attributes,\nsuch as online store products or real estate offers.\nThe actual data is stored either on the local filesystem or in the cloud.\n\nFor more details and code examples, see the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 561, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L561" + } + ], + "typeParameter": [ + { + "id": 2583, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 2584, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ID or name of the dataset to be opened. If " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ",\n the function returns the default dataset associated with the crawler run." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 2585, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Storage manager options." + } + ] + }, + "type": { + "type": "reference", + "target": 3092, + "name": "StorageManagerOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": 2583, + "name": "Data", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2601, + 2603, + 2599, + 2602, + 2600 + ] + }, + { + "title": "Methods", + "children": [ + 2644, + 2610, + 2613, + 2622, + 2618, + 2628, + 2607, + 2626, + 2633, + 2604, + 2638, + 2577, + 2573, + 2590, + 2581 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "typeParameters": [ + { + "id": 2646, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 923, + "name": "ErrorSnapshotter", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ErrorSnapshotter class is used to capture a screenshot of the page and a snapshot of the HTML when an error occurs during web crawling.\n\nThis functionality is opt-in, and can be enabled via the crawler options:\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new BasicCrawler({\n // ...\n statisticsOptions: {\n saveErrorSnapshots: true,\n },\n});\n```" + } + ] + }, + "children": [ + { + "id": 929, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "signatures": [ + { + "id": 930, + "name": "new ErrorSnapshotter", + "variant": "signature", + "kind": 16384, + "flags": {}, + "type": { + "type": "reference", + "target": 923, + "name": "ErrorSnapshotter", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 927, + "name": "BASE_MESSAGE", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 39, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L39" + } + ], + "type": { + "type": "literal", + "value": "An error occurred" + }, + "defaultValue": "'An error occurred'" + }, + { + "id": 924, + "name": "MAX_ERROR_CHARACTERS", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 36, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L36" + } + ], + "type": { + "type": "literal", + "value": 30 + }, + "defaultValue": "30" + }, + { + "id": 926, + "name": "MAX_FILENAME_LENGTH", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 38, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L38" + } + ], + "type": { + "type": "literal", + "value": 250 + }, + "defaultValue": "250" + }, + { + "id": 925, + "name": "MAX_HASH_LENGTH", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 37, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L37" + } + ], + "type": { + "type": "literal", + "value": 30 + }, + "defaultValue": "30" + }, + { + "id": 928, + "name": "SNAPSHOT_PREFIX", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 40, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L40" + } + ], + "type": { + "type": "literal", + "value": "ERROR_SNAPSHOT" + }, + "defaultValue": "'ERROR_SNAPSHOT'" + }, + { + "id": 931, + "name": "captureSnapshot", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 45, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L45" + } + ], + "signatures": [ + { + "id": 932, + "name": "captureSnapshot", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Capture a snapshot of the error context." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 45, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L45" + } + ], + "parameters": [ + { + "id": 933, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 873, + "name": "ErrnoException", + "package": "@crawlee/core" + } + }, + { + "id": 934, + "name": "context", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "CrawlingContext", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 935, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 937, + "name": "htmlFileName", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 45, + "character": 115, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 936, + "name": "screenshotFileName", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 45, + "character": 86, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 937, + 936 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 45, + "character": 84, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L45" + } + ] + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 938, + "name": "contextCaptureSnapshot", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 95, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L95" + } + ], + "signatures": [ + { + "id": 939, + "name": "contextCaptureSnapshot", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Captures a snapshot of the current page using the context.saveSnapshot function.\nThis function is applicable for browser contexts only.\nReturns an object containing the filenames of the screenshot and HTML file." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 95, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L95" + } + ], + "parameters": [ + { + "id": 940, + "name": "context", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "BrowserCrawlingContext" + }, + "name": "BrowserCrawlingContext", + "package": "@crawlee/core" + } + }, + { + "id": 941, + "name": "fileName", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 920, + "name": "SnapshotResult", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 947, + "name": "generateFilename", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L122" + } + ], + "signatures": [ + { + "id": 948, + "name": "generateFilename", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Generate a unique fileName for each error snapshot." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L122" + } + ], + "parameters": [ + { + "id": 949, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 873, + "name": "ErrnoException", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + }, + { + "id": 942, + "name": "saveHTMLSnapshot", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 110, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L110" + } + ], + "signatures": [ + { + "id": 943, + "name": "saveHTMLSnapshot", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Save the HTML snapshot of the page, and return the fileName with the extension." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 110, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L110" + } + ], + "parameters": [ + { + "id": 944, + "name": "html", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 945, + "name": "keyValueStore", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + }, + { + "id": 946, + "name": "fileName", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 929 + ] + }, + { + "title": "Properties", + "children": [ + 927, + 924, + 926, + 925, + 928 + ] + }, + { + "title": "Methods", + "children": [ + 931, + 938, + 947, + 942 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ] + }, + { + "id": 890, + "name": "ErrorTracker", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This class tracks errors and computes a summary of information like:\n- where the errors happened\n- what the error names are\n- what the error codes are\n- what is the general error message\n\nThis is extremely useful when there are dynamic error messages, such as argument validation.\n\nSince the structure of the " + }, + { + "kind": "code", + "text": "`tracker.result`" + }, + { + "kind": "text", + "text": " object differs when using different options,\nit's typed as " + }, + { + "kind": "code", + "text": "`Record`" + }, + { + "kind": "text", + "text": ". The most deep object has a " + }, + { + "kind": "code", + "text": "`count`" + }, + { + "kind": "text", + "text": " property, which is a number.\n\nIt's possible to get the total amount of errors via the " + }, + { + "kind": "code", + "text": "`tracker.total`" + }, + { + "kind": "text", + "text": " property." + } + ] + }, + "children": [ + { + "id": 891, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 292, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L292" + } + ], + "signatures": [ + { + "id": 892, + "name": "new ErrorTracker", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 292, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L292" + } + ], + "parameters": [ + { + "id": 893, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 882, + "name": "ErrorTrackerOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 890, + "name": "ErrorTracker", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 897, + "name": "errorSnapshotter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L290" + } + ], + "type": { + "type": "reference", + "target": 923, + "name": "ErrorSnapshotter", + "package": "@crawlee/core" + } + }, + { + "id": 895, + "name": "result", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 286, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L286" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + } + }, + { + "id": 896, + "name": "total", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 288, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L288" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 901, + "name": "add", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 336, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L336" + } + ], + "signatures": [ + { + "id": 902, + "name": "add", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 336, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L336" + } + ], + "parameters": [ + { + "id": 903, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 873, + "name": "ErrnoException", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 904, + "name": "addAsync", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 350, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L350" + } + ], + "signatures": [ + { + "id": 905, + "name": "addAsync", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is async, because it captures a snapshot of the error context.\nWe added this new method to avoid breaking changes." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 350, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L350" + } + ], + "parameters": [ + { + "id": 906, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 873, + "name": "ErrnoException", + "package": "@crawlee/core" + } + }, + { + "id": 907, + "name": "context", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 620, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "CrawlingContext", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 913, + "name": "captureSnapshot", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 405, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L405" + } + ], + "signatures": [ + { + "id": 914, + "name": "captureSnapshot", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 405, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L405" + } + ], + "parameters": [ + { + "id": 915, + "name": "storage", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + } + }, + { + "id": 916, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 873, + "name": "ErrnoException", + "package": "@crawlee/core" + } + }, + { + "id": 917, + "name": "context", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 620, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "CrawlingContext", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 910, + "name": "getMostPopularErrors", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 385, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L385" + } + ], + "signatures": [ + { + "id": 911, + "name": "getMostPopularErrors", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 385, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L385" + } + ], + "parameters": [ + { + "id": 912, + "name": "count", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "tuple", + "elements": [ + { + "type": "intrinsic", + "name": "number" + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + } + } + ] + }, + { + "id": 908, + "name": "getUniqueErrorCount", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 365, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L365" + } + ], + "signatures": [ + { + "id": 909, + "name": "getUniqueErrorCount", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 365, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L365" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ] + }, + { + "id": 918, + "name": "reset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 416, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L416" + } + ], + "signatures": [ + { + "id": 919, + "name": "reset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 416, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L416" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 891 + ] + }, + { + "title": "Properties", + "children": [ + 897, + 895, + 896 + ] + }, + { + "title": "Methods", + "children": [ + 901, + 904, + 913, + 910, + 908, + 918 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ] + }, + { + "id": 1060, + "name": "EventManager", + "variant": "declaration", + "kind": 128, + "flags": { + "isAbstract": true + }, + "children": [ + { + "id": 1061, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 29, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L29" + } + ], + "signatures": [ + { + "id": 1062, + "name": "new EventManager", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 29, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L29" + } + ], + "parameters": [ + { + "id": 1063, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 1060, + "name": "EventManager", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 1068, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 29, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L29" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + }, + { + "id": 1071, + "name": "close", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 54, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L54" + } + ], + "signatures": [ + { + "id": 1072, + "name": "close", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Clears the internal " + }, + { + "kind": "code", + "text": "`persistState`" + }, + { + "kind": "text", + "text": " event interval.\nThis is automatically called at the end of " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 54, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L54" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 1087, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L81" + } + ], + "signatures": [ + { + "id": 1088, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L81" + } + ], + "parameters": [ + { + "id": 1089, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1059, + "name": "EventTypeName", + "package": "@crawlee/core" + } + }, + { + "id": 1090, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1069, + "name": "init", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 37, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L37" + } + ], + "signatures": [ + { + "id": 1070, + "name": "init", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Initializes the event manager by creating the " + }, + { + "kind": "code", + "text": "`persistState`" + }, + { + "kind": "text", + "text": " event interval.\nThis is automatically called at the beginning of " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 37, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L37" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 1091, + "name": "isInitialized", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L85" + } + ], + "signatures": [ + { + "id": 1092, + "name": "isInitialized", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L85" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 1080, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 73, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L73" + } + ], + "signatures": [ + { + "id": 1081, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 73, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L73" + } + ], + "parameters": [ + { + "id": 1082, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1059, + "name": "EventTypeName", + "package": "@crawlee/core" + } + }, + { + "id": 1083, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1084, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 73, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L73" + } + ], + "signatures": [ + { + "id": 1085, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 73, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L73" + } + ], + "parameters": [ + { + "id": 1086, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1073, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 69, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L69" + } + ], + "signatures": [ + { + "id": 1074, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 69, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L69" + } + ], + "parameters": [ + { + "id": 1075, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1059, + "name": "EventTypeName", + "package": "@crawlee/core" + } + }, + { + "id": 1076, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1077, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 69, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L69" + } + ], + "signatures": [ + { + "id": 1078, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 69, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L69" + } + ], + "parameters": [ + { + "id": 1079, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 1061 + ] + }, + { + "title": "Properties", + "children": [ + 1068 + ] + }, + { + "title": "Methods", + "children": [ + 1071, + 1087, + 1069, + 1091, + 1080, + 1073 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 1103, + "name": "LocalEventManager" + } + ] + }, + { + "id": 2684, + "name": "KeyValueStore", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`KeyValueStore`" + }, + { + "kind": "text", + "text": " class represents a key-value store, a simple data storage that is used\nfor saving and reading data records or files. Each data record is\nrepresented by a unique key and associated with a MIME content type. Key-value stores are ideal\nfor saving screenshots, crawler inputs and outputs, web pages, PDFs or to persist the state of crawlers.\n\nDo not instantiate this class directly, use the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore.open" + }, + { + "kind": "text", + "text": " function instead.\n\nEach crawler run is associated with a default key-value store, which is created exclusively\nfor the run. By convention, the crawler input and output are stored into the\ndefault key-value store under the " + }, + { + "kind": "code", + "text": "`INPUT`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`OUTPUT`" + }, + { + "kind": "text", + "text": " key, respectively.\nTypically, input and output are JSON files, although it can be any other format.\nTo access the default key-value store directly, you can use the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore.getValue" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore.setValue" + }, + { + "kind": "text", + "text": " convenience functions.\n\nTo access the input, you can also use the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore.getInput" + }, + { + "kind": "text", + "text": " convenience function.\n\n" + }, + { + "kind": "code", + "text": "`KeyValueStore`" + }, + { + "kind": "text", + "text": " stores its data on a local disk.\n\nIf the " + }, + { + "kind": "code", + "text": "`CRAWLEE_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " environment variable is set, the data is stored in\nthe local directory in the following files:\n" + }, + { + "kind": "code", + "text": "```\n{CRAWLEE_STORAGE_DIR}/key_value_stores/{STORE_ID}/{INDEX}.{EXT}\n```" + }, + { + "kind": "text", + "text": "\nNote that " + }, + { + "kind": "code", + "text": "`{STORE_ID}`" + }, + { + "kind": "text", + "text": " is the name or ID of the key-value store. The default key-value store has ID: " + }, + { + "kind": "code", + "text": "`default`" + }, + { + "kind": "text", + "text": ",\nunless you override it by setting the " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_KEY_VALUE_STORE_ID`" + }, + { + "kind": "text", + "text": " environment variable.\nThe " + }, + { + "kind": "code", + "text": "`{KEY}`" + }, + { + "kind": "text", + "text": " is the key of the record and " + }, + { + "kind": "code", + "text": "`{EXT}`" + }, + { + "kind": "text", + "text": " corresponds to the MIME content type of the data value.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\n// Get crawler input from the default key-value store.\nconst input = await KeyValueStore.getInput();\n// Get some value from the default key-value store.\nconst otherValue = await KeyValueStore.getValue('my-key');\n\n// Write crawler output to the default key-value store.\nawait KeyValueStore.setValue('OUTPUT', { myResult: 123 });\n\n// Open a named key-value store\nconst store = await KeyValueStore.open('some-name');\n\n// Write a record. JavaScript object is automatically converted to JSON,\n// strings and binary buffers are stored as they are\nawait store.setValue('some-key', { foo: 'bar' });\n\n// Read a record. Note that JSON is automatically parsed to a JavaScript object,\n// text data returned as a string and other data is returned as binary buffer\nconst value = await store.getValue('some-key');\n\n // Drop (delete) the store\nawait store.drop();\n```" + } + ] + }, + "children": [ + { + "id": 2723, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 116, + "character": 56, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L116" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + }, + { + "id": 2718, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 105, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L105" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2719, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 106, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L106" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2748, + "name": "drop", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 372, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L372" + } + ], + "signatures": [ + { + "id": 2749, + "name": "drop", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the key-value store either from the Apify cloud storage or from the local directory,\ndepending on the mode of operation." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 372, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L372" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2752, + "name": "forEachKey", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 408, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L408" + } + ], + "signatures": [ + { + "id": 2753, + "name": "forEachKey", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Iterates over key-value store keys, yielding each in turn to an " + }, + { + "kind": "code", + "text": "`iteratee`" + }, + { + "kind": "text", + "text": " function.\nEach invocation of " + }, + { + "kind": "code", + "text": "`iteratee`" + }, + { + "kind": "text", + "text": " is called with three arguments: " + }, + { + "kind": "code", + "text": "`(key, index, info)`" + }, + { + "kind": "text", + "text": ", where " + }, + { + "kind": "code", + "text": "`key`" + }, + { + "kind": "text", + "text": "\nis the record key, " + }, + { + "kind": "code", + "text": "`index`" + }, + { + "kind": "text", + "text": " is a zero-based index of the key in the current iteration\n(regardless of " + }, + { + "kind": "code", + "text": "`options.exclusiveStartKey`" + }, + { + "kind": "text", + "text": ") and " + }, + { + "kind": "code", + "text": "`info`" + }, + { + "kind": "text", + "text": " is an object that contains a single property " + }, + { + "kind": "code", + "text": "`size`" + }, + { + "kind": "text", + "text": "\nindicating size of the record in bytes.\n\nIf the " + }, + { + "kind": "code", + "text": "`iteratee`" + }, + { + "kind": "text", + "text": " function returns a Promise then it is awaited before the next call.\nIf it throws an error, the iteration is aborted and the " + }, + { + "kind": "code", + "text": "`forEachKey`" + }, + { + "kind": "text", + "text": " function throws the error.\n\n**Example usage**\n" + }, + { + "kind": "code", + "text": "```javascript\nconst keyValueStore = await KeyValueStore.open();\nawait keyValueStore.forEachKey(async (key, index, info) => {\n console.log(`Key at ${index}: ${key} has size ${info.size}`);\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 408, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L408" + } + ], + "parameters": [ + { + "id": 2754, + "name": "iteratee", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function that is called for every key in the key-value store." + } + ] + }, + "type": { + "type": "reference", + "target": 2761, + "name": "KeyConsumer", + "package": "@crawlee/core" + } + }, + { + "id": 2755, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`forEachKey()`" + }, + { + "kind": "text", + "text": " parameters." + } + ] + }, + "type": { + "type": "reference", + "target": 2774, + "name": "KeyValueStoreIteratorOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2735, + "name": "getAutoSavedValue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 240, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L240" + } + ], + "signatures": [ + { + "id": 2736, + "name": "getAutoSavedValue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 240, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L240" + } + ], + "typeParameter": [ + { + "id": 2737, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 2738, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2739, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2737, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2737, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2724, + "name": "getValue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 152, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L152" + }, + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 185, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L185" + }, + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 218, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L218" + } + ], + "signatures": [ + { + "id": 2725, + "name": "getValue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets a value from the key-value store.\n\nThe function returns a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that resolves to the record value,\nwhose JavaScript type depends on the MIME content type of the record.\nRecords with the " + }, + { + "kind": "code", + "text": "`application/json`" + }, + { + "kind": "text", + "text": "\ncontent type are automatically parsed and returned as a JavaScript object.\nSimilarly, records with " + }, + { + "kind": "code", + "text": "`text/plain`" + }, + { + "kind": "text", + "text": " content types are returned as a string.\nFor all other content types, the value is returned as a raw\n[" + }, + { + "kind": "code", + "text": "`Buffer`" + }, + { + "kind": "text", + "text": "](https://nodejs.org/api/buffer.html) instance.\n\nIf the record does not exist, the function resolves to " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ".\n\nTo save or delete a value in the key-value store, use the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore.setValue" + }, + { + "kind": "text", + "text": " function.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst store = await KeyValueStore.open();\nconst buffer = await store.getValue('screenshot1.png');\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Returns a promise that resolves to an object, string\n or [" + }, + { + "kind": "code", + "text": "`Buffer`" + }, + { + "kind": "text", + "text": "](https://nodejs.org/api/buffer.html), depending\n on the MIME content type of the record." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 152, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L152" + } + ], + "typeParameter": [ + { + "id": 2726, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "parameters": [ + { + "id": 2727, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique key of the record. It can be at most 256 characters long and only consist\n of the following characters: " + }, + { + "kind": "code", + "text": "`a`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`A`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`Z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`9`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`!-_.'()`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 2726, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + }, + { + "id": 2728, + "name": "getValue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets a value from the key-value store.\n\nThe function returns a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that resolves to the record value,\nwhose JavaScript type depends on the MIME content type of the record.\nRecords with the " + }, + { + "kind": "code", + "text": "`application/json`" + }, + { + "kind": "text", + "text": "\ncontent type are automatically parsed and returned as a JavaScript object.\nSimilarly, records with " + }, + { + "kind": "code", + "text": "`text/plain`" + }, + { + "kind": "text", + "text": " content types are returned as a string.\nFor all other content types, the value is returned as a raw\n[" + }, + { + "kind": "code", + "text": "`Buffer`" + }, + { + "kind": "text", + "text": "](https://nodejs.org/api/buffer.html) instance.\n\nIf the record does not exist, the function resolves to " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ".\n\nTo save or delete a value in the key-value store, use the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore.setValue" + }, + { + "kind": "text", + "text": " function.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst store = await KeyValueStore.open();\nconst buffer = await store.getValue('screenshot1.png');\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Returns a promise that resolves to an object, string\n or [" + }, + { + "kind": "code", + "text": "`Buffer`" + }, + { + "kind": "text", + "text": "](https://nodejs.org/api/buffer.html), depending\n on the MIME content type of the record, or the default value if the key is missing from the store." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 185, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L185" + } + ], + "typeParameter": [ + { + "id": 2729, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } + } + ], + "parameters": [ + { + "id": 2730, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique key of the record. It can be at most 256 characters long and only consist\n of the following characters: " + }, + { + "kind": "code", + "text": "`a`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`A`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`Z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`9`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`!-_.'()`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2731, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fallback that will be returned if no value if present in the storage." + } + ] + }, + "type": { + "type": "reference", + "target": 2729, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2729, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2732, + "name": "recordExists", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 233, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L233" + } + ], + "signatures": [ + { + "id": 2733, + "name": "recordExists", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Tests whether a record with the given key exists in the key-value store without retrieving its value." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the record exists, " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " if it does not." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 233, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L233" + } + ], + "parameters": [ + { + "id": 2734, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The queried record key." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2742, + "name": "setValue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 320, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L320" + } + ], + "signatures": [ + { + "id": 2743, + "name": "setValue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Saves or deletes a record in the key-value store.\nThe function returns a promise that resolves once the record has been saved or deleted.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst store = await KeyValueStore.open();\nawait store.setValue('OUTPUT', { foo: 'bar' });\n```" + }, + { + "kind": "text", + "text": "\n\nBeware that the key can be at most 256 characters long and only contain the following characters: " + }, + { + "kind": "code", + "text": "`a-zA-Z0-9!-_.'()`" + }, + { + "kind": "text", + "text": "\n\nBy default, " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " is converted to JSON and stored with the\n" + }, + { + "kind": "code", + "text": "`application/json; charset=utf-8`" + }, + { + "kind": "text", + "text": " MIME content type.\nTo store the value with another content type, pass it in the options as follows:\n" + }, + { + "kind": "code", + "text": "```javascript\nconst store = await KeyValueStore.open('my-text-store');\nawait store.setValue('RESULTS', 'my text data', { contentType: 'text/plain' });\n```" + }, + { + "kind": "text", + "text": "\nIf you set custom content type, " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " must be either a string or\n[" + }, + { + "kind": "code", + "text": "`Buffer`" + }, + { + "kind": "text", + "text": "](https://nodejs.org/api/buffer.html), otherwise an error will be thrown.\n\nIf " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " is " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ", the record is deleted instead. Note that the " + }, + { + "kind": "code", + "text": "`setValue()`" + }, + { + "kind": "text", + "text": " function succeeds\nregardless whether the record existed or not.\n\nTo retrieve a value from the key-value store, use the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore.getValue" + }, + { + "kind": "text", + "text": " function.\n\n**IMPORTANT:** Always make sure to use the " + }, + { + "kind": "code", + "text": "`await`" + }, + { + "kind": "text", + "text": " keyword when calling " + }, + { + "kind": "code", + "text": "`setValue()`" + }, + { + "kind": "text", + "text": ",\notherwise the crawler process might finish before the value is stored!" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 320, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L320" + } + ], + "typeParameter": [ + { + "id": 2744, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 2745, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unique key of the record. It can be at most 256 characters long and only consist\n of the following characters: " + }, + { + "kind": "code", + "text": "`a`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`A`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`Z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "-" + }, + { + "kind": "code", + "text": "`9`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`!-_.'()`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2746, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Record data, which can be one of the following values:\n - If " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ", the record in the key-value store is deleted.\n - If no " + }, + { + "kind": "code", + "text": "`options.contentType`" + }, + { + "kind": "text", + "text": " is specified, " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " can be any JavaScript object and it will be stringified to JSON.\n - If " + }, + { + "kind": "code", + "text": "`options.contentType`" + }, + { + "kind": "text", + "text": " is set, " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " is taken as is and it must be a " + }, + { + "kind": "code", + "text": "`String`" + }, + { + "kind": "text", + "text": " or [" + }, + { + "kind": "code", + "text": "`Buffer`" + }, + { + "kind": "text", + "text": "](https://nodejs.org/api/buffer.html).\n For any other value an error will be thrown." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 2744, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ] + } + }, + { + "id": 2747, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Record options." + } + ] + }, + "type": { + "type": "reference", + "target": 2772, + "name": "RecordOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2700, + "name": "getAutoSavedValue", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 566, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L566" + } + ], + "signatures": [ + { + "id": 2701, + "name": "getAutoSavedValue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 566, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L566" + } + ], + "typeParameter": [ + { + "id": 2702, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 2703, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2704, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2702, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2702, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2685, + "name": "open", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 445, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L445" + } + ], + "signatures": [ + { + "id": 2686, + "name": "open", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens a key-value store and returns a promise resolving to an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": " class.\n\nKey-value stores are used to store records or files, along with their MIME content type.\nThe records are stored and retrieved using a unique key.\nThe actual data is stored either on a local filesystem or in the Apify cloud.\n\nFor more details and code examples, see the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 445, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L445" + } + ], + "parameters": [ + { + "id": 2687, + "name": "storeIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ID or name of the key-value store to be opened. If " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ",\n the function returns the default key-value store associated with the crawler run." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 2688, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Storage manager options." + } + ] + }, + "type": { + "type": "reference", + "target": 3092, + "name": "StorageManagerOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2697, + "name": "recordExists", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 561, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L561" + } + ], + "signatures": [ + { + "id": 2698, + "name": "recordExists", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Tests whether a record with the given key exists in the default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": " associated with the current crawler run." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the record exists, " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " if it does not." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 561, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L561" + } + ], + "parameters": [ + { + "id": 2699, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The queried record key." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2723, + 2718, + 2719 + ] + }, + { + "title": "Methods", + "children": [ + 2748, + 2752, + 2735, + 2724, + 2732, + 2742, + 2700, + 2685, + 2697 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ] + }, + { + "id": 1103, + "name": "LocalEventManager", + "variant": "declaration", + "kind": 128, + "flags": {}, + "children": [ + { + "id": 1104, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 29, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L29" + } + ], + "signatures": [ + { + "id": 1105, + "name": "new LocalEventManager", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 29, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L29" + } + ], + "parameters": [ + { + "id": 1106, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 1103, + "name": "LocalEventManager", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 1062, + "name": "EventManager.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1061, + "name": "EventManager.constructor" + } + }, + { + "id": 1150, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 29, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L29" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 1068, + "name": "EventManager.config" + } + }, + { + "id": 1113, + "name": "close", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 32, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L32" + } + ], + "signatures": [ + { + "id": 1114, + "name": "close", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Clears the internal " + }, + { + "kind": "code", + "text": "`persistState`" + }, + { + "kind": "text", + "text": " event interval.\nThis is automatically called at the end of " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 32, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L32" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 1072, + "name": "EventManager.close" + } + } + ], + "overwrites": { + "type": "reference", + "target": 1071, + "name": "EventManager.close" + } + }, + { + "id": 1165, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L81" + } + ], + "signatures": [ + { + "id": 1166, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L81" + } + ], + "parameters": [ + { + "id": 1167, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1059, + "name": "EventTypeName", + "package": "@crawlee/core" + } + }, + { + "id": 1168, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1088, + "name": "EventManager.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1087, + "name": "EventManager.emit" + } + }, + { + "id": 1111, + "name": "init", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 17, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L17" + } + ], + "signatures": [ + { + "id": 1112, + "name": "init", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Initializes the EventManager and sets up periodic " + }, + { + "kind": "code", + "text": "`systemInfo`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`persistState`" + }, + { + "kind": "text", + "text": " events.\nThis is automatically called at the beginning of " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 17, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L17" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 1070, + "name": "EventManager.init" + } + } + ], + "overwrites": { + "type": "reference", + "target": 1069, + "name": "EventManager.init" + } + }, + { + "id": 1169, + "name": "isInitialized", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L85" + } + ], + "signatures": [ + { + "id": 1170, + "name": "isInitialized", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L85" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 1092, + "name": "EventManager.isInitialized" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1091, + "name": "EventManager.isInitialized" + } + }, + { + "id": 1158, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 73, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L73" + } + ], + "signatures": [ + { + "id": 1159, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 73, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L73" + } + ], + "parameters": [ + { + "id": 1160, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1059, + "name": "EventTypeName", + "package": "@crawlee/core" + } + }, + { + "id": 1161, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1162, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 73, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L73" + } + ], + "signatures": [ + { + "id": 1163, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 73, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L73" + } + ], + "parameters": [ + { + "id": 1164, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1081, + "name": "EventManager.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1080, + "name": "EventManager.off" + } + }, + { + "id": 1151, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 69, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L69" + } + ], + "signatures": [ + { + "id": 1152, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 69, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L69" + } + ], + "parameters": [ + { + "id": 1153, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1059, + "name": "EventTypeName", + "package": "@crawlee/core" + } + }, + { + "id": 1154, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1155, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 69, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L69" + } + ], + "signatures": [ + { + "id": 1156, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 69, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L69" + } + ], + "parameters": [ + { + "id": 1157, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1074, + "name": "EventManager.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1073, + "name": "EventManager.on" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 1104 + ] + }, + { + "title": "Properties", + "children": [ + 1150 + ] + }, + { + "title": "Methods", + "children": [ + 1113, + 1165, + 1111, + 1169, + 1158, + 1151 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 1060, + "name": "EventManager", + "package": "@crawlee/core" + } + ] + }, + { + "id": 1182, + "name": "Log", + "variant": "declaration", + "kind": 128, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The log instance enables level aware logging of messages and we advise\nto use it instead of " + }, + { + "kind": "code", + "text": "`console.log()`" + }, + { + "kind": "text", + "text": " and its aliases in most development\nscenarios.\n\nA very useful use case for " + }, + { + "kind": "code", + "text": "`log`" + }, + { + "kind": "text", + "text": " is using " + }, + { + "kind": "code", + "text": "`log.debug`" + }, + { + "kind": "text", + "text": " liberally throughout\nthe codebase to get useful logging messages only when appropriate log level is set\nand keeping the console tidy in production environments.\n\nThe available logging levels are, in this order: " + }, + { + "kind": "code", + "text": "`DEBUG`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`INFO`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`WARNING`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`ERROR`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`OFF`" + }, + { + "kind": "text", + "text": "\nand can be referenced from the " + }, + { + "kind": "code", + "text": "`log.LEVELS`" + }, + { + "kind": "text", + "text": " constant, such as " + }, + { + "kind": "code", + "text": "`log.LEVELS.ERROR`" + }, + { + "kind": "text", + "text": ".\n\nTo log messages to the system console, use the " + }, + { + "kind": "code", + "text": "`log.level(message)`" + }, + { + "kind": "text", + "text": " invocation,\nsuch as " + }, + { + "kind": "code", + "text": "`log.debug('this is a debug message')`" + }, + { + "kind": "text", + "text": ".\n\nTo prevent writing of messages above a certain log level to the console, simply\nset the appropriate level. The default log level is " + }, + { + "kind": "code", + "text": "`INFO`" + }, + { + "kind": "text", + "text": ", which means that\n" + }, + { + "kind": "code", + "text": "`DEBUG`" + }, + { + "kind": "text", + "text": " messages will not be printed, unless enabled.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```js\nimport log from '@apify/log';\n\n// importing from the Apify SDK or Crawlee is also supported:\n// import { log } from 'apify';\n// import { log } from 'crawlee';\n\nlog.info('Information message', { someData: 123 }); // prints message\nlog.debug('Debug message', { debugData: 'hello' }); // doesn't print anything\n\nlog.setLevel(log.LEVELS.DEBUG);\nlog.debug('Debug message'); // prints message\n\nlog.setLevel(log.LEVELS.ERROR);\nlog.debug('Debug message'); // doesn't print anything\nlog.info('Info message'); // doesn't print anything\nlog.error('Error message', { errorDetails: 'This is bad!' }); // prints message\n\ntry {\n throw new Error('Not good!');\n} catch (e) {\n log.exception(e, 'Exception occurred', { errorDetails: 'This is really bad!' }); // prints message\n}\n\nlog.setOptions({ prefix: 'My actor' });\nlog.info('I am running!'); // prints \"My actor: I am running\"\n\nconst childLog = log.child({ prefix: 'Crawler' });\nlog.info('I am crawling!'); // prints \"My actor:Crawler: I am crawling\"\n```" + }, + { + "kind": "text", + "text": "\n\nAnother very useful way of setting the log level is by setting the " + }, + { + "kind": "code", + "text": "`APIFY_LOG_LEVEL`" + }, + { + "kind": "text", + "text": "\nenvironment variable, such as " + }, + { + "kind": "code", + "text": "`APIFY_LOG_LEVEL=DEBUG`" + }, + { + "kind": "text", + "text": ". This way, no code changes\nare necessary to turn on your debug messages and start debugging right away.\n\nTo add timestamps to your logs, you can override the default logger settings:\n" + }, + { + "kind": "code", + "text": "```js\nlog.setOptions({\n logger: new log.LoggerText({ skipTime: false }),\n});\n```" + }, + { + "kind": "text", + "text": "\nYou can customize your logging further by extending or replacing the default\nlogger instances with your own implementations." + } + ] + }, + "children": [ + { + "id": 1183, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 136, + "character": 4 + } + ], + "signatures": [ + { + "id": 1184, + "name": "new Log", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 136, + "character": 4 + } + ], + "parameters": [ + { + "id": 1185, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1244, + "name": "LoggerOptions", + "package": "@apify/log" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + } + } + ] + }, + { + "id": 1186, + "name": "LEVELS", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Map of available log levels that's useful for easy setting of appropriate log levels.\nEach log level is represented internally by a number. Eg. " + }, + { + "kind": "code", + "text": "`log.LEVELS.DEBUG === 5`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 133, + "character": 13 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + } + }, + { + "id": 1206, + "name": "child", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 168, + "character": 4 + } + ], + "signatures": [ + { + "id": 1207, + "name": "child", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a new instance of logger that inherits settings from a parent logger." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 168, + "character": 4 + } + ], + "parameters": [ + { + "id": 1208, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1244, + "name": "LoggerOptions", + "package": "@apify/log" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + } + } + ] + }, + { + "id": 1230, + "name": "debug", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 195, + "character": 4 + } + ], + "signatures": [ + { + "id": 1231, + "name": "debug", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logs a " + }, + { + "kind": "code", + "text": "`DEBUG`" + }, + { + "kind": "text", + "text": " message. By default, it will not be written to the console. To see " + }, + { + "kind": "code", + "text": "`DEBUG`" + }, + { + "kind": "text", + "text": "\nmessages in the console, set the log level to " + }, + { + "kind": "code", + "text": "`DEBUG`" + }, + { + "kind": "text", + "text": " either using the " + }, + { + "kind": "code", + "text": "`log.setLevel(log.LEVELS.DEBUG)`" + }, + { + "kind": "text", + "text": "\nmethod or using the environment variable " + }, + { + "kind": "code", + "text": "`APIFY_LOG_LEVEL=DEBUG`" + }, + { + "kind": "text", + "text": ". Data are stringified and appended\nto the message." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 195, + "character": 4 + } + ], + "parameters": [ + { + "id": 1232, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1233, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "AdditionalData" + }, + "name": "AdditionalData", + "package": "@apify/log" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1241, + "name": "deprecated", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 204, + "character": 4 + } + ], + "signatures": [ + { + "id": 1242, + "name": "deprecated", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logs given message only once as WARNING. It's used to warn user that some feature he is using has been deprecated." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 204, + "character": 4 + } + ], + "parameters": [ + { + "id": 1243, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1209, + "name": "error", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 173, + "character": 4 + } + ], + "signatures": [ + { + "id": 1210, + "name": "error", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logs an " + }, + { + "kind": "code", + "text": "`ERROR`" + }, + { + "kind": "text", + "text": " message. Use this method to log error messages that are not directly connected\nto an exception. For logging exceptions, use the " + }, + { + "kind": "code", + "text": "`log.exception`" + }, + { + "kind": "text", + "text": " method." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 173, + "character": 4 + } + ], + "parameters": [ + { + "id": 1211, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1212, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "AdditionalData" + }, + "name": "AdditionalData", + "package": "@apify/log" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1213, + "name": "exception", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 178, + "character": 4 + } + ], + "signatures": [ + { + "id": 1214, + "name": "exception", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logs an " + }, + { + "kind": "code", + "text": "`ERROR`" + }, + { + "kind": "text", + "text": " level message with a nicely formatted exception. Note that the exception is the first parameter\nhere and an additional message is only optional." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 178, + "character": 4 + } + ], + "parameters": [ + { + "id": 1215, + "name": "exception", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 1216, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1217, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "AdditionalData" + }, + "name": "AdditionalData", + "package": "@apify/log" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1190, + "name": "getLevel", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 144, + "character": 4 + } + ], + "signatures": [ + { + "id": 1191, + "name": "getLevel", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the currently selected logging level. This is useful for checking whether a message\nwill actually be printed to the console before one actually performs a resource intensive operation\nto construct the message, such as querying a DB for some metadata that need to be added. If the log\nlevel is not high enough at the moment, it doesn't make sense to execute the query." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 144, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ] + }, + { + "id": 1204, + "name": "getOptions", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 164, + "character": 4 + } + ], + "signatures": [ + { + "id": 1205, + "name": "getOptions", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the logger configuration." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 164, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Required" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1244, + "name": "LoggerOptions", + "package": "@apify/log" + } + ], + "name": "Required", + "package": "typescript" + } + } + ] + }, + { + "id": 1226, + "name": "info", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 188, + "character": 4 + } + ], + "signatures": [ + { + "id": 1227, + "name": "info", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logs an " + }, + { + "kind": "code", + "text": "`INFO`" + }, + { + "kind": "text", + "text": " message. " + }, + { + "kind": "code", + "text": "`INFO`" + }, + { + "kind": "text", + "text": " is the default log level so info messages will be always logged,\nunless the log level is changed. Data are stringified and appended to the message." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 188, + "character": 4 + } + ], + "parameters": [ + { + "id": 1228, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1229, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "AdditionalData" + }, + "name": "AdditionalData", + "package": "@apify/log" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1195, + "name": "internal", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 156, + "character": 4 + } + ], + "signatures": [ + { + "id": 1196, + "name": "internal", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 156, + "character": 4 + } + ], + "parameters": [ + { + "id": 1197, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1198, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1199, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 1200, + "name": "exception", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1234, + "name": "perf", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 196, + "character": 4 + } + ], + "signatures": [ + { + "id": 1235, + "name": "perf", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 196, + "character": 4 + } + ], + "parameters": [ + { + "id": 1236, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1237, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "AdditionalData" + }, + "name": "AdditionalData", + "package": "@apify/log" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1192, + "name": "setLevel", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 155, + "character": 4 + } + ], + "signatures": [ + { + "id": 1193, + "name": "setLevel", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the log level to the given value, preventing messages from less important log levels\nfrom being printed to the console. Use in conjunction with the " + }, + { + "kind": "code", + "text": "`log.LEVELS`" + }, + { + "kind": "text", + "text": " constants such as\n\n" + }, + { + "kind": "code", + "text": "```\nlog.setLevel(log.LEVELS.DEBUG);\n```" + }, + { + "kind": "text", + "text": "\n\nDefault log level is INFO." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 155, + "character": 4 + } + ], + "parameters": [ + { + "id": 1194, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1201, + "name": "setOptions", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 160, + "character": 4 + } + ], + "signatures": [ + { + "id": 1202, + "name": "setOptions", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Configures logger." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 160, + "character": 4 + } + ], + "parameters": [ + { + "id": 1203, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1244, + "name": "LoggerOptions", + "package": "@apify/log" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1218, + "name": "softFail", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 179, + "character": 4 + } + ], + "signatures": [ + { + "id": 1219, + "name": "softFail", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 179, + "character": 4 + } + ], + "parameters": [ + { + "id": 1220, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1221, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "AdditionalData" + }, + "name": "AdditionalData", + "package": "@apify/log" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1222, + "name": "warning", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 183, + "character": 4 + } + ], + "signatures": [ + { + "id": 1223, + "name": "warning", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logs a " + }, + { + "kind": "code", + "text": "`WARNING`" + }, + { + "kind": "text", + "text": " level message. Data are stringified and appended to the message." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 183, + "character": 4 + } + ], + "parameters": [ + { + "id": 1224, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1225, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "AdditionalData" + }, + "name": "AdditionalData", + "package": "@apify/log" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1238, + "name": "warningOnce", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 200, + "character": 4 + } + ], + "signatures": [ + { + "id": 1239, + "name": "warningOnce", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logs a " + }, + { + "kind": "code", + "text": "`WARNING`" + }, + { + "kind": "text", + "text": " level message only once." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 200, + "character": 4 + } + ], + "parameters": [ + { + "id": 1240, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 1183 + ] + }, + { + "title": "Properties", + "children": [ + 1186 + ] + }, + { + "title": "Methods", + "children": [ + 1206, + 1230, + 1241, + 1209, + 1213, + 1190, + 1204, + 1226, + 1195, + 1234, + 1192, + 1201, + 1218, + 1222, + 1238 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 128, + "character": 14 + } + ] + }, + { + "id": 1260, + "name": "Logger", + "variant": "declaration", + "kind": 128, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This is an abstract class that should\nbe extended by custom logger classes.\n\nthis._log() method must be implemented by them." + } + ] + }, + "children": [ + { + "id": 1301, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 33, + "character": 4 + } + ], + "signatures": [ + { + "id": 1302, + "name": "new Logger", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 33, + "character": 4 + } + ], + "parameters": [ + { + "id": 1303, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": 1260, + "name": "Logger", + "package": "@apify/log" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "EventEmitter.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "EventEmitter.constructor" + } + }, + { + "id": 1298, + "name": "captureRejectionSymbol", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: " + }, + { + "kind": "code", + "text": "`Symbol.for('nodejs.rejection')`" + }, + { + "kind": "text", + "text": "\n\nSee how to write a custom " + }, + { + "kind": "code", + "text": "`rejection handler`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 405, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1298, + "name": "captureRejectionSymbol", + "package": "@types/node", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.captureRejectionSymbol" + } + }, + { + "id": 1299, + "name": "captureRejections", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)\n\nChange the default " + }, + { + "kind": "code", + "text": "`captureRejections`" + }, + { + "kind": "text", + "text": " option on all new " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " objects." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 412, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.captureRejections" + } + }, + { + "id": 1300, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default, a maximum of " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners can be registered for any single\nevent. This limit can be changed for individual " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances\nusing the " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " method. To change the default\nfor _all_" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " property\ncan be used. If this value is not a positive number, a " + }, + { + "kind": "code", + "text": "`RangeError`" + }, + { + "kind": "text", + "text": " is thrown.\n\nTake caution when setting the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " because the\nchange affects _all_ " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, including those created before\nthe change is made. However, calling " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " still has\nprecedence over " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": ".\n\nThis is not a hard limit. The " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance will allow\nmore listeners to be added but will output a trace warning to stderr indicating\nthat a \"possible EventEmitter memory leak\" has been detected. For any single\n" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", the " + }, + { + "kind": "code", + "text": "`emitter.getMaxListeners()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " methods can be used to\ntemporarily avoid this warning:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.setMaxListeners(emitter.getMaxListeners() + 1);\nemitter.once('event', () => {\n // do stuff\n emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));\n});\n```" + }, + { + "kind": "text", + "text": "\n\nThe " + }, + { + "kind": "code", + "text": "`--trace-warnings`" + }, + { + "kind": "text", + "text": " command-line flag can be used to display the\nstack trace for such warnings.\n\nThe emitted warning can be inspected with " + }, + { + "kind": "code", + "text": "`process.on('warning')`" + }, + { + "kind": "text", + "text": " and will\nhave the additional " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`type`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`count`" + }, + { + "kind": "text", + "text": " properties, referring to\nthe event emitter instance, the event's name and the number of attached\nlisteners, respectively.\nIts " + }, + { + "kind": "code", + "text": "`name`" + }, + { + "kind": "text", + "text": " property is set to " + }, + { + "kind": "code", + "text": "`'MaxListenersExceededWarning'`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.11.2" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 451, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.defaultMaxListeners" + } + }, + { + "id": 1297, + "name": "errorMonitor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This symbol shall be used to install a listener for only monitoring " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " events. Listeners installed using this symbol are called before the regular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listeners are called.\n\nInstalling a listener using this symbol does not change the behavior once an " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is emitted. Therefore, the process will still crash if no\nregular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listener is installed." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 398, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1297, + "name": "errorMonitor", + "package": "@types/node", + "qualifiedName": "EventEmitter.errorMonitor" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.errorMonitor" + } + }, + { + "id": 1326, + "name": "[captureRejectionSymbol]", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "signatures": [ + { + "id": 1327, + "name": "[captureRejectionSymbol]", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "typeParameter": [ + { + "id": 1328, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1329, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 1330, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1331, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.[captureRejectionSymbol]" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.[captureRejectionSymbol]" + } + }, + { + "id": 1314, + "name": "_log", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 37, + "character": 4 + } + ], + "signatures": [ + { + "id": 1315, + "name": "_log", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 37, + "character": 4 + } + ], + "parameters": [ + { + "id": 1316, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1317, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1318, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 1319, + "name": "exception", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 1320, + "name": "opts", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1310, + "name": "_outputWithConsole", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 36, + "character": 4 + } + ], + "signatures": [ + { + "id": 1311, + "name": "_outputWithConsole", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 36, + "character": 4 + } + ], + "parameters": [ + { + "id": 1312, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1313, + "name": "line", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1332, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "signatures": [ + { + "id": 1333, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.on(eventName, listener)`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1334, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1335, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1336, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1337, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1338, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1339, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addListener" + } + }, + { + "id": 1388, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "signatures": [ + { + "id": 1389, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Synchronously calls each of the listeners registered for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", in the order they were registered, passing the supplied arguments\nto each.\n\nReturns " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the event had listeners, " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " otherwise.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEmitter = new EventEmitter();\n\n// First listener\nmyEmitter.on('event', function firstListener() {\n console.log('Helloooo! first listener');\n});\n// Second listener\nmyEmitter.on('event', function secondListener(arg1, arg2) {\n console.log(`event with parameters ${arg1}, ${arg2} in second listener`);\n});\n// Third listener\nmyEmitter.on('event', function thirdListener(...args) {\n const parameters = args.join(', ');\n console.log(`event with parameters ${parameters} in third listener`);\n});\n\nconsole.log(myEmitter.listeners('event'));\n\nmyEmitter.emit('event', 1, 2, 3, 4, 5);\n\n// Prints:\n// [\n// [Function: firstListener],\n// [Function: secondListener],\n// [Function: thirdListener]\n// ]\n// Helloooo! first listener\n// event with parameters 1, 2 in second listener\n// event with parameters 1, 2, 3, 4, 5 in third listener\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1390, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1391, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1392, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.emit" + } + }, + { + "id": 1414, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "signatures": [ + { + "id": 1415, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an array listing the events for which the emitter has registered\nlisteners. The values in the array are strings or " + }, + { + "kind": "code", + "text": "`Symbol`" + }, + { + "kind": "text", + "text": "s.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\n\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => {});\nmyEE.on('bar', () => {});\n\nconst sym = Symbol('symbol');\nmyEE.on(sym, () => {});\n\nconsole.log(myEE.eventNames());\n// Prints: [ 'foo', 'bar', Symbol(symbol) ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.eventNames" + } + }, + { + "id": 1378, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "signatures": [ + { + "id": 1379, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the current max listener value for the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " which is either\nset by " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " or defaults to " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "defaultMaxListeners", + "target": 1300 + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v1.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + }, + { + "id": 1308, + "name": "getOptions", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 35, + "character": 4 + } + ], + "signatures": [ + { + "id": 1309, + "name": "getOptions", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 35, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + } + } + ] + }, + { + "id": 1393, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "signatures": [ + { + "id": 1394, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the number of listeners listening for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\nIf " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " is provided, it will return how many times the listener is found\nin the list of the listeners of the event." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v3.2.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1395, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1396, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1397, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event handler function" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + }, + { + "id": 1380, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "signatures": [ + { + "id": 1381, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\nconsole.log(util.inspect(server.listeners('connection')));\n// Prints: [ [Function] ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1382, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1383, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listeners" + } + }, + { + "id": 1321, + "name": "log", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 38, + "character": 4 + } + ], + "signatures": [ + { + "id": 1322, + "name": "log", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 38, + "character": 4 + } + ], + "parameters": [ + { + "id": 1323, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1324, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1325, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1364, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "signatures": [ + { + "id": 1365, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.removeListener()`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v10.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1366, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1367, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1368, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1369, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1370, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1371, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.off" + } + }, + { + "id": 1340, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "signatures": [ + { + "id": 1341, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the end of the listeners array for the event\nnamed " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has already\nbeen added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => console.log('a'));\nmyEE.prependListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.101" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1342, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1343, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1344, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1345, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1346, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1347, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + }, + { + "id": 1348, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "signatures": [ + { + "id": 1349, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time** " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". The\nnext time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this listener is removed and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.once('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependOnceListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.once('foo', () => console.log('a'));\nmyEE.prependOnceListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1350, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1351, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1352, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1353, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1354, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1355, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + }, + { + "id": 1398, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "signatures": [ + { + "id": 1399, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the _beginning_ of the listeners array for the\nevent named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has\nalready been added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependListener('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1400, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1401, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1402, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1403, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1404, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1405, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependListener" + } + }, + { + "id": 1406, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "signatures": [ + { + "id": 1407, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time**" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " to the _beginning_ of the listeners array. The next time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this\nlistener is removed, and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependOnceListener('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1408, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1409, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1410, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1411, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1412, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1413, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependOnceListener" + } + }, + { + "id": 1384, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "signatures": [ + { + "id": 1385, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ",\nincluding any wrappers (such as those created by " + }, + { + "kind": "code", + "text": "`.once()`" + }, + { + "kind": "text", + "text": ").\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.once('log', () => console.log('log once'));\n\n// Returns a new Array with a function `onceWrapper` which has a property\n// `listener` which contains the original listener bound above\nconst listeners = emitter.rawListeners('log');\nconst logFnWrapper = listeners[0];\n\n// Logs \"log once\" to the console and does not unbind the `once` event\nlogFnWrapper.listener();\n\n// Logs \"log once\" to the console and removes the listener\nlogFnWrapper();\n\nemitter.on('log', () => console.log('log persistently'));\n// Will return a new Array with a single function bound by `.on()` above\nconst newListeners = emitter.rawListeners('log');\n\n// Logs \"log persistently\" twice\nnewListeners[0]();\nemitter.emit('log');\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v9.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1386, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1387, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.rawListeners" + } + }, + { + "id": 1372, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "signatures": [ + { + "id": 1373, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes all listeners, or those of the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nIt is bad practice to remove listeners added elsewhere in the code,\nparticularly when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance was created by some other\ncomponent or module (e.g. sockets or file streams).\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "parameters": [ + { + "id": 1374, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeAllListeners" + } + }, + { + "id": 1356, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "signatures": [ + { + "id": 1357, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the specified " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " from the listener array for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nconst callback = (stream) => {\n console.log('someone connected!');\n};\nserver.on('connection', callback);\n// ...\nserver.removeListener('connection', callback);\n```" + }, + { + "kind": "text", + "text": "\n\n" + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove, at most, one instance of a listener from the\nlistener array. If any single listener has been added multiple times to the\nlistener array for the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", then " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " must be\ncalled multiple times to remove each instance.\n\nOnce an event is emitted, all listeners attached to it at the\ntime of emitting are called in order. This implies that any " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`removeAllListeners()`" + }, + { + "kind": "text", + "text": " calls _after_ emitting and _before_ the last listener finishes execution\nwill not remove them from" + }, + { + "kind": "code", + "text": "`emit()`" + }, + { + "kind": "text", + "text": " in progress. Subsequent events behave as expected.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nclass MyEmitter extends EventEmitter {}\nconst myEmitter = new MyEmitter();\n\nconst callbackA = () => {\n console.log('A');\n myEmitter.removeListener('event', callbackB);\n};\n\nconst callbackB = () => {\n console.log('B');\n};\n\nmyEmitter.on('event', callbackA);\n\nmyEmitter.on('event', callbackB);\n\n// callbackA removes listener callbackB but it will still be called.\n// Internal listener array at time of emit [callbackA, callbackB]\nmyEmitter.emit('event');\n// Prints:\n// A\n// B\n\n// callbackB is now removed.\n// Internal listener array [callbackA]\nmyEmitter.emit('event');\n// Prints:\n// A\n```" + }, + { + "kind": "text", + "text": "\n\nBecause listeners are managed using an internal array, calling this will\nchange the position indices of any listener registered _after_ the listener\nbeing removed. This will not impact the order in which listeners are called,\nbut it means that any copies of the listener array as returned by\nthe " + }, + { + "kind": "code", + "text": "`emitter.listeners()`" + }, + { + "kind": "text", + "text": " method will need to be recreated.\n\nWhen a single function has been added as a handler multiple times for a single\nevent (as in the example below), " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove the most\nrecently added instance. In the example the " + }, + { + "kind": "code", + "text": "`once('ping')`" + }, + { + "kind": "text", + "text": " listener is removed:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst ee = new EventEmitter();\n\nfunction pong() {\n console.log('pong');\n}\n\nee.on('ping', pong);\nee.once('ping', pong);\nee.removeListener('ping', pong);\n\nee.emit('ping');\nee.emit('ping');\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1358, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1359, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1360, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1361, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1362, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1363, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeListener" + } + }, + { + "id": 1375, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "signatures": [ + { + "id": 1376, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s will print a warning if more than " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners are\nadded for a particular event. This is a useful default that helps finding\nmemory leaks. The " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " method allows the limit to be\nmodified for this specific " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance. The value can be set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": " (or " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": ") to indicate an unlimited number of listeners.\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.5" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "parameters": [ + { + "id": 1377, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + }, + { + "id": 1305, + "name": "setOptions", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 34, + "character": 4 + } + ], + "signatures": [ + { + "id": 1306, + "name": "setOptions", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 34, + "character": 4 + } + ], + "parameters": [ + { + "id": 1307, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1290, + "name": "addAbortListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "signatures": [ + { + "id": 1291, + "name": "addAbortListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Listens once to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on the provided " + }, + { + "kind": "code", + "text": "`signal`" + }, + { + "kind": "text", + "text": ".\n\nListening to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on abort signals is unsafe and may\nlead to resource leaks since another third party with the signal can\ncall " + }, + { + "kind": "code", + "text": "`e.stopImmediatePropagation()`" + }, + { + "kind": "text", + "text": ". Unfortunately Node.js cannot change\nthis since it would violate the web standard. Additionally, the original\nAPI makes it easy to forget to remove listeners.\n\nThis API allows safely using " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": "s in Node.js APIs by solving these\ntwo issues by listening to the event such that " + }, + { + "kind": "code", + "text": "`stopImmediatePropagation`" + }, + { + "kind": "text", + "text": " does\nnot prevent the listener from running.\n\nReturns a disposable so that it may be unsubscribed from more easily.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { addAbortListener } from 'node:events';\n\nfunction example(signal) {\n let disposable;\n try {\n signal.addEventListener('abort', (e) => e.stopImmediatePropagation());\n disposable = addAbortListener(signal, (e) => {\n // Do something when signal is aborted.\n });\n } finally {\n disposable?.[Symbol.dispose]();\n }\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v20.5.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Disposable that removes the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " listener." + } + ] + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "parameters": [ + { + "id": 1292, + "name": "signal", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "AbortSignal" + }, + "name": "AbortSignal", + "package": "typescript" + } + }, + { + "id": 1293, + "name": "resource", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1294, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "signatures": [ + { + "id": 1295, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "parameters": [ + { + "id": 1296, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "Event" + }, + "name": "Event", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.esnext.disposable.d.ts", + "qualifiedName": "Disposable" + }, + "name": "Disposable", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addAbortListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addAbortListener" + } + }, + { + "id": 1279, + "name": "getEventListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "signatures": [ + { + "id": 1280, + "name": "getEventListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.listeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the event listeners for the\nevent target. This is useful for debugging and diagnostic purposes.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getEventListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n const listener = () => console.log('Events are fun');\n ee.on('foo', listener);\n console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]\n}\n{\n const et = new EventTarget();\n const listener = () => console.log('Events are fun');\n et.addEventListener('foo', listener);\n console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.2.0, v14.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "parameters": [ + { + "id": 1281, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + }, + { + "id": 1282, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getEventListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getEventListeners" + } + }, + { + "id": 1283, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "signatures": [ + { + "id": 1284, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the currently set max amount of listeners.\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.getMaxListeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the max event listeners for the\nevent target. If the number of event handlers on a single EventTarget exceeds\nthe max set, the EventTarget will print a warning.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n console.log(getMaxListeners(ee)); // 10\n setMaxListeners(11, ee);\n console.log(getMaxListeners(ee)); // 11\n}\n{\n const et = new EventTarget();\n console.log(getMaxListeners(et)); // 10\n setMaxListeners(11, et);\n console.log(getMaxListeners(et)); // 11\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v19.9.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "parameters": [ + { + "id": 1285, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + }, + { + "id": 1275, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "signatures": [ + { + "id": 1276, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A class method that returns the number of listeners for the given " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " registered on the given " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, listenerCount } from 'node:events';\n\nconst myEmitter = new EventEmitter();\nmyEmitter.on('event', () => {});\nmyEmitter.on('event', () => {});\nconsole.log(listenerCount(myEmitter, 'event'));\n// Prints: 2\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.9.12" + } + ] + }, + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Since v3.2.0 - Use " + }, + { + "kind": "code", + "text": "`listenerCount`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "parameters": [ + { + "id": 1277, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The emitter to query" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1278, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event name" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + }, + { + "id": 1270, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "signatures": [ + { + "id": 1271, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\n// Emit later on\nprocess.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n});\n\nfor await (const event of on(ee, 'foo')) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n}\n// Unreachable here\n```" + }, + { + "kind": "text", + "text": "\n\nReturns an " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events. It will throw\nif the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": ". It removes all listeners when\nexiting the loop. The " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " returned by each iteration is an array\ncomposed of the emitted event arguments.\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting on events:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ac = new AbortController();\n\n(async () => {\n const ee = new EventEmitter();\n\n // Emit later on\n process.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n });\n\n for await (const event of on(ee, 'foo', { signal: ac.signal })) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n }\n // Unreachable here\n})();\n\nprocess.nextTick(() => ac.abort());\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.16.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "An " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events emitted by the " + }, + { + "kind": "code", + "text": "`emitter`" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "parameters": [ + { + "id": 1272, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1273, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1274, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "qualifiedName": "AsyncIterableIterator" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "AsyncIterableIterator", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + }, + { + "id": 1261, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + }, + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "signatures": [ + { + "id": 1262, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that is fulfilled when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits the given\nevent or that is rejected if the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " while waiting.\nThe " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " will resolve with an array of all the arguments emitted to the\ngiven event.\n\nThis method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special" + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event\nsemantics and does not listen to the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { once, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\nprocess.nextTick(() => {\n ee.emit('myevent', 42);\n});\n\nconst [value] = await once(ee, 'myevent');\nconsole.log(value);\n\nconst err = new Error('kaboom');\nprocess.nextTick(() => {\n ee.emit('error', err);\n});\n\ntry {\n await once(ee, 'myevent');\n} catch (err) {\n console.error('error happened', err);\n}\n```" + }, + { + "kind": "text", + "text": "\n\nThe special handling of the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is only used when " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for another event. If " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for the\n'" + }, + { + "kind": "code", + "text": "`error'`" + }, + { + "kind": "text", + "text": " event itself, then it is treated as any other kind of event without\nspecial handling:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\n\nonce(ee, 'error')\n .then(([err]) => console.log('ok', err.message))\n .catch((err) => console.error('error', err.message));\n\nee.emit('error', new Error('boom'));\n\n// Prints: ok boom\n```" + }, + { + "kind": "text", + "text": "\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting for the event:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\nconst ac = new AbortController();\n\nasync function foo(emitter, event, signal) {\n try {\n await once(emitter, event, { signal });\n console.log('event emitted!');\n } catch (error) {\n if (error.name === 'AbortError') {\n console.error('Waiting for the event was canceled!');\n } else {\n console.error('There was an error', error.message);\n }\n }\n}\n\nfoo(ee, 'foo', ac.signal);\nac.abort(); // Abort waiting for the event\nee.emit('foo'); // Prints: Waiting for the event was canceled!\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v11.13.0, v10.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + } + ], + "parameters": [ + { + "id": 1263, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1264, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1265, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + }, + { + "id": 1266, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "parameters": [ + { + "id": 1267, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + }, + { + "id": 1268, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1269, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + }, + { + "id": 1286, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "signatures": [ + { + "id": 1287, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { setMaxListeners, EventEmitter } from 'node:events';\n\nconst target = new EventTarget();\nconst emitter = new EventEmitter();\n\nsetMaxListeners(5, target, emitter);\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "parameters": [ + { + "id": 1288, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A non-negative number. The maximum number of listeners per " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": " event." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1289, + "name": "eventTargets", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 1301 + ] + }, + { + "title": "Properties", + "children": [ + 1298, + 1299, + 1300, + 1297 + ] + }, + { + "title": "Methods", + "children": [ + 1326, + 1314, + 1310, + 1332, + 1388, + 1414, + 1378, + 1308, + 1393, + 1380, + 1321, + 1364, + 1340, + 1348, + 1398, + 1406, + 1384, + 1372, + 1356, + 1375, + 1305, + 1290, + 1279, + 1283, + 1275, + 1270, + 1261, + 1286 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 31, + "character": 14 + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter" + }, + "name": "EventEmitter", + "package": "@types/node" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 1416, + "name": "LoggerJson" + }, + { + "type": "reference", + "target": 1573, + "name": "LoggerText" + } + ] + }, + { + "id": 1416, + "name": "LoggerJson", + "variant": "declaration", + "kind": 128, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This is an abstract class that should\nbe extended by custom logger classes.\n\nthis._log() method must be implemented by them." + } + ] + }, + "children": [ + { + "id": 1457, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 241, + "character": 4 + } + ], + "signatures": [ + { + "id": 1458, + "name": "new LoggerJson", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 241, + "character": 4 + } + ], + "parameters": [ + { + "id": 1459, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1460, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + } + ], + "type": { + "type": "reference", + "target": 1416, + "name": "LoggerJson", + "package": "@apify/log" + }, + "overwrites": { + "type": "reference", + "target": 1302, + "name": "Logger.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 1301, + "name": "Logger.constructor" + } + }, + { + "id": 1454, + "name": "captureRejectionSymbol", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: " + }, + { + "kind": "code", + "text": "`Symbol.for('nodejs.rejection')`" + }, + { + "kind": "text", + "text": "\n\nSee how to write a custom " + }, + { + "kind": "code", + "text": "`rejection handler`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 405, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1298, + "name": "captureRejectionSymbol", + "package": "@types/node", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1298, + "name": "Logger.captureRejectionSymbol" + } + }, + { + "id": 1455, + "name": "captureRejections", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)\n\nChange the default " + }, + { + "kind": "code", + "text": "`captureRejections`" + }, + { + "kind": "text", + "text": " option on all new " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " objects." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 412, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 1299, + "name": "Logger.captureRejections" + } + }, + { + "id": 1456, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default, a maximum of " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners can be registered for any single\nevent. This limit can be changed for individual " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances\nusing the " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " method. To change the default\nfor _all_" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " property\ncan be used. If this value is not a positive number, a " + }, + { + "kind": "code", + "text": "`RangeError`" + }, + { + "kind": "text", + "text": " is thrown.\n\nTake caution when setting the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " because the\nchange affects _all_ " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, including those created before\nthe change is made. However, calling " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " still has\nprecedence over " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": ".\n\nThis is not a hard limit. The " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance will allow\nmore listeners to be added but will output a trace warning to stderr indicating\nthat a \"possible EventEmitter memory leak\" has been detected. For any single\n" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", the " + }, + { + "kind": "code", + "text": "`emitter.getMaxListeners()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " methods can be used to\ntemporarily avoid this warning:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.setMaxListeners(emitter.getMaxListeners() + 1);\nemitter.once('event', () => {\n // do stuff\n emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));\n});\n```" + }, + { + "kind": "text", + "text": "\n\nThe " + }, + { + "kind": "code", + "text": "`--trace-warnings`" + }, + { + "kind": "text", + "text": " command-line flag can be used to display the\nstack trace for such warnings.\n\nThe emitted warning can be inspected with " + }, + { + "kind": "code", + "text": "`process.on('warning')`" + }, + { + "kind": "text", + "text": " and will\nhave the additional " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`type`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`count`" + }, + { + "kind": "text", + "text": " properties, referring to\nthe event emitter instance, the event's name and the number of attached\nlisteners, respectively.\nIts " + }, + { + "kind": "code", + "text": "`name`" + }, + { + "kind": "text", + "text": " property is set to " + }, + { + "kind": "code", + "text": "`'MaxListenersExceededWarning'`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.11.2" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 451, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1300, + "name": "Logger.defaultMaxListeners" + } + }, + { + "id": 1453, + "name": "errorMonitor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This symbol shall be used to install a listener for only monitoring " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " events. Listeners installed using this symbol are called before the regular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listeners are called.\n\nInstalling a listener using this symbol does not change the behavior once an " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is emitted. Therefore, the process will still crash if no\nregular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listener is installed." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 398, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1297, + "name": "errorMonitor", + "package": "@types/node", + "qualifiedName": "EventEmitter.errorMonitor" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1297, + "name": "Logger.errorMonitor" + } + }, + { + "id": 1483, + "name": "[captureRejectionSymbol]", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "signatures": [ + { + "id": 1484, + "name": "[captureRejectionSymbol]", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "typeParameter": [ + { + "id": 1485, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1486, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 1487, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1488, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1327, + "name": "Logger.[captureRejectionSymbol]" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1326, + "name": "Logger.[captureRejectionSymbol]" + } + }, + { + "id": 1461, + "name": "_log", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 242, + "character": 4 + } + ], + "signatures": [ + { + "id": 1462, + "name": "_log", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 242, + "character": 4 + } + ], + "parameters": [ + { + "id": 1463, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1464, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1465, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 1466, + "name": "exception", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 1467, + "name": "opts", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "target": 1315, + "name": "Logger._log" + } + } + ], + "overwrites": { + "type": "reference", + "target": 1314, + "name": "Logger._log" + } + }, + { + "id": 1474, + "name": "_outputWithConsole", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 36, + "character": 4 + } + ], + "signatures": [ + { + "id": 1475, + "name": "_outputWithConsole", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 36, + "character": 4 + } + ], + "parameters": [ + { + "id": 1476, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1477, + "name": "line", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1311, + "name": "Logger._outputWithConsole" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1310, + "name": "Logger._outputWithConsole" + } + }, + { + "id": 1489, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "signatures": [ + { + "id": 1490, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.on(eventName, listener)`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1491, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1492, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1493, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1494, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1495, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1496, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1333, + "name": "Logger.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1332, + "name": "Logger.addListener" + } + }, + { + "id": 1545, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "signatures": [ + { + "id": 1546, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Synchronously calls each of the listeners registered for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", in the order they were registered, passing the supplied arguments\nto each.\n\nReturns " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the event had listeners, " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " otherwise.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEmitter = new EventEmitter();\n\n// First listener\nmyEmitter.on('event', function firstListener() {\n console.log('Helloooo! first listener');\n});\n// Second listener\nmyEmitter.on('event', function secondListener(arg1, arg2) {\n console.log(`event with parameters ${arg1}, ${arg2} in second listener`);\n});\n// Third listener\nmyEmitter.on('event', function thirdListener(...args) {\n const parameters = args.join(', ');\n console.log(`event with parameters ${parameters} in third listener`);\n});\n\nconsole.log(myEmitter.listeners('event'));\n\nmyEmitter.emit('event', 1, 2, 3, 4, 5);\n\n// Prints:\n// [\n// [Function: firstListener],\n// [Function: secondListener],\n// [Function: thirdListener]\n// ]\n// Helloooo! first listener\n// event with parameters 1, 2 in second listener\n// event with parameters 1, 2, 3, 4, 5 in third listener\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1547, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1548, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1549, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 1389, + "name": "Logger.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1388, + "name": "Logger.emit" + } + }, + { + "id": 1571, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "signatures": [ + { + "id": 1572, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an array listing the events for which the emitter has registered\nlisteners. The values in the array are strings or " + }, + { + "kind": "code", + "text": "`Symbol`" + }, + { + "kind": "text", + "text": "s.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\n\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => {});\nmyEE.on('bar', () => {});\n\nconst sym = Symbol('symbol');\nmyEE.on(sym, () => {});\n\nconsole.log(myEE.eventNames());\n// Prints: [ 'foo', 'bar', Symbol(symbol) ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1415, + "name": "Logger.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1414, + "name": "Logger.eventNames" + } + }, + { + "id": 1535, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "signatures": [ + { + "id": 1536, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the current max listener value for the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " which is either\nset by " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " or defaults to " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "defaultMaxListeners", + "target": 1456 + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v1.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1379, + "name": "Logger.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1378, + "name": "Logger.getMaxListeners" + } + }, + { + "id": 1472, + "name": "getOptions", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 35, + "character": 4 + } + ], + "signatures": [ + { + "id": 1473, + "name": "getOptions", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 35, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1309, + "name": "Logger.getOptions" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1308, + "name": "Logger.getOptions" + } + }, + { + "id": 1550, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "signatures": [ + { + "id": 1551, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the number of listeners listening for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\nIf " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " is provided, it will return how many times the listener is found\nin the list of the listeners of the event." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v3.2.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1552, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1553, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1554, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event handler function" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1394, + "name": "Logger.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1393, + "name": "Logger.listenerCount" + } + }, + { + "id": 1537, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "signatures": [ + { + "id": 1538, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\nconsole.log(util.inspect(server.listeners('connection')));\n// Prints: [ [Function] ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1539, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1540, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1381, + "name": "Logger.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1380, + "name": "Logger.listeners" + } + }, + { + "id": 1478, + "name": "log", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 38, + "character": 4 + } + ], + "signatures": [ + { + "id": 1479, + "name": "log", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 38, + "character": 4 + } + ], + "parameters": [ + { + "id": 1480, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1481, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1482, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1322, + "name": "Logger.log" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1321, + "name": "Logger.log" + } + }, + { + "id": 1521, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "signatures": [ + { + "id": 1522, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.removeListener()`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v10.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1523, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1524, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1525, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1526, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1527, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1528, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1365, + "name": "Logger.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1364, + "name": "Logger.off" + } + }, + { + "id": 1497, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "signatures": [ + { + "id": 1498, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the end of the listeners array for the event\nnamed " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has already\nbeen added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => console.log('a'));\nmyEE.prependListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.101" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1499, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1500, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1501, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1502, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1503, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1504, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1341, + "name": "Logger.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1340, + "name": "Logger.on" + } + }, + { + "id": 1505, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "signatures": [ + { + "id": 1506, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time** " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". The\nnext time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this listener is removed and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.once('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependOnceListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.once('foo', () => console.log('a'));\nmyEE.prependOnceListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1507, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1508, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1509, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1510, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1511, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1512, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1349, + "name": "Logger.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1348, + "name": "Logger.once" + } + }, + { + "id": 1555, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "signatures": [ + { + "id": 1556, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the _beginning_ of the listeners array for the\nevent named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has\nalready been added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependListener('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1557, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1558, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1559, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1560, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1561, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1562, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1399, + "name": "Logger.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1398, + "name": "Logger.prependListener" + } + }, + { + "id": 1563, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "signatures": [ + { + "id": 1564, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time**" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " to the _beginning_ of the listeners array. The next time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this\nlistener is removed, and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependOnceListener('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1565, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1566, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1567, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1568, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1569, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1570, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1407, + "name": "Logger.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1406, + "name": "Logger.prependOnceListener" + } + }, + { + "id": 1541, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "signatures": [ + { + "id": 1542, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ",\nincluding any wrappers (such as those created by " + }, + { + "kind": "code", + "text": "`.once()`" + }, + { + "kind": "text", + "text": ").\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.once('log', () => console.log('log once'));\n\n// Returns a new Array with a function `onceWrapper` which has a property\n// `listener` which contains the original listener bound above\nconst listeners = emitter.rawListeners('log');\nconst logFnWrapper = listeners[0];\n\n// Logs \"log once\" to the console and does not unbind the `once` event\nlogFnWrapper.listener();\n\n// Logs \"log once\" to the console and removes the listener\nlogFnWrapper();\n\nemitter.on('log', () => console.log('log persistently'));\n// Will return a new Array with a single function bound by `.on()` above\nconst newListeners = emitter.rawListeners('log');\n\n// Logs \"log persistently\" twice\nnewListeners[0]();\nemitter.emit('log');\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v9.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1543, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1544, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1385, + "name": "Logger.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1384, + "name": "Logger.rawListeners" + } + }, + { + "id": 1529, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "signatures": [ + { + "id": 1530, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes all listeners, or those of the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nIt is bad practice to remove listeners added elsewhere in the code,\nparticularly when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance was created by some other\ncomponent or module (e.g. sockets or file streams).\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "parameters": [ + { + "id": 1531, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1373, + "name": "Logger.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1372, + "name": "Logger.removeAllListeners" + } + }, + { + "id": 1513, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "signatures": [ + { + "id": 1514, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the specified " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " from the listener array for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nconst callback = (stream) => {\n console.log('someone connected!');\n};\nserver.on('connection', callback);\n// ...\nserver.removeListener('connection', callback);\n```" + }, + { + "kind": "text", + "text": "\n\n" + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove, at most, one instance of a listener from the\nlistener array. If any single listener has been added multiple times to the\nlistener array for the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", then " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " must be\ncalled multiple times to remove each instance.\n\nOnce an event is emitted, all listeners attached to it at the\ntime of emitting are called in order. This implies that any " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`removeAllListeners()`" + }, + { + "kind": "text", + "text": " calls _after_ emitting and _before_ the last listener finishes execution\nwill not remove them from" + }, + { + "kind": "code", + "text": "`emit()`" + }, + { + "kind": "text", + "text": " in progress. Subsequent events behave as expected.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nclass MyEmitter extends EventEmitter {}\nconst myEmitter = new MyEmitter();\n\nconst callbackA = () => {\n console.log('A');\n myEmitter.removeListener('event', callbackB);\n};\n\nconst callbackB = () => {\n console.log('B');\n};\n\nmyEmitter.on('event', callbackA);\n\nmyEmitter.on('event', callbackB);\n\n// callbackA removes listener callbackB but it will still be called.\n// Internal listener array at time of emit [callbackA, callbackB]\nmyEmitter.emit('event');\n// Prints:\n// A\n// B\n\n// callbackB is now removed.\n// Internal listener array [callbackA]\nmyEmitter.emit('event');\n// Prints:\n// A\n```" + }, + { + "kind": "text", + "text": "\n\nBecause listeners are managed using an internal array, calling this will\nchange the position indices of any listener registered _after_ the listener\nbeing removed. This will not impact the order in which listeners are called,\nbut it means that any copies of the listener array as returned by\nthe " + }, + { + "kind": "code", + "text": "`emitter.listeners()`" + }, + { + "kind": "text", + "text": " method will need to be recreated.\n\nWhen a single function has been added as a handler multiple times for a single\nevent (as in the example below), " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove the most\nrecently added instance. In the example the " + }, + { + "kind": "code", + "text": "`once('ping')`" + }, + { + "kind": "text", + "text": " listener is removed:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst ee = new EventEmitter();\n\nfunction pong() {\n console.log('pong');\n}\n\nee.on('ping', pong);\nee.once('ping', pong);\nee.removeListener('ping', pong);\n\nee.emit('ping');\nee.emit('ping');\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1515, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1516, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1517, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1518, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1519, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1520, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1357, + "name": "Logger.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1356, + "name": "Logger.removeListener" + } + }, + { + "id": 1532, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "signatures": [ + { + "id": 1533, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s will print a warning if more than " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners are\nadded for a particular event. This is a useful default that helps finding\nmemory leaks. The " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " method allows the limit to be\nmodified for this specific " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance. The value can be set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": " (or " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": ") to indicate an unlimited number of listeners.\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.5" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "parameters": [ + { + "id": 1534, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1376, + "name": "Logger.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1375, + "name": "Logger.setMaxListeners" + } + }, + { + "id": 1469, + "name": "setOptions", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 34, + "character": 4 + } + ], + "signatures": [ + { + "id": 1470, + "name": "setOptions", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 34, + "character": 4 + } + ], + "parameters": [ + { + "id": 1471, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1306, + "name": "Logger.setOptions" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1305, + "name": "Logger.setOptions" + } + }, + { + "id": 1446, + "name": "addAbortListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "signatures": [ + { + "id": 1447, + "name": "addAbortListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Listens once to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on the provided " + }, + { + "kind": "code", + "text": "`signal`" + }, + { + "kind": "text", + "text": ".\n\nListening to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on abort signals is unsafe and may\nlead to resource leaks since another third party with the signal can\ncall " + }, + { + "kind": "code", + "text": "`e.stopImmediatePropagation()`" + }, + { + "kind": "text", + "text": ". Unfortunately Node.js cannot change\nthis since it would violate the web standard. Additionally, the original\nAPI makes it easy to forget to remove listeners.\n\nThis API allows safely using " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": "s in Node.js APIs by solving these\ntwo issues by listening to the event such that " + }, + { + "kind": "code", + "text": "`stopImmediatePropagation`" + }, + { + "kind": "text", + "text": " does\nnot prevent the listener from running.\n\nReturns a disposable so that it may be unsubscribed from more easily.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { addAbortListener } from 'node:events';\n\nfunction example(signal) {\n let disposable;\n try {\n signal.addEventListener('abort', (e) => e.stopImmediatePropagation());\n disposable = addAbortListener(signal, (e) => {\n // Do something when signal is aborted.\n });\n } finally {\n disposable?.[Symbol.dispose]();\n }\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v20.5.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Disposable that removes the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " listener." + } + ] + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "parameters": [ + { + "id": 1448, + "name": "signal", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "AbortSignal" + }, + "name": "AbortSignal", + "package": "typescript" + } + }, + { + "id": 1449, + "name": "resource", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1450, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "signatures": [ + { + "id": 1451, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "parameters": [ + { + "id": 1452, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "Event" + }, + "name": "Event", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.esnext.disposable.d.ts", + "qualifiedName": "Disposable" + }, + "name": "Disposable", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1291, + "name": "Logger.addAbortListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1290, + "name": "Logger.addAbortListener" + } + }, + { + "id": 1435, + "name": "getEventListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "signatures": [ + { + "id": 1436, + "name": "getEventListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.listeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the event listeners for the\nevent target. This is useful for debugging and diagnostic purposes.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getEventListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n const listener = () => console.log('Events are fun');\n ee.on('foo', listener);\n console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]\n}\n{\n const et = new EventTarget();\n const listener = () => console.log('Events are fun');\n et.addEventListener('foo', listener);\n console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.2.0, v14.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "parameters": [ + { + "id": 1437, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + }, + { + "id": 1438, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1280, + "name": "Logger.getEventListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1279, + "name": "Logger.getEventListeners" + } + }, + { + "id": 1439, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "signatures": [ + { + "id": 1440, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the currently set max amount of listeners.\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.getMaxListeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the max event listeners for the\nevent target. If the number of event handlers on a single EventTarget exceeds\nthe max set, the EventTarget will print a warning.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n console.log(getMaxListeners(ee)); // 10\n setMaxListeners(11, ee);\n console.log(getMaxListeners(ee)); // 11\n}\n{\n const et = new EventTarget();\n console.log(getMaxListeners(et)); // 10\n setMaxListeners(11, et);\n console.log(getMaxListeners(et)); // 11\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v19.9.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "parameters": [ + { + "id": 1441, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1284, + "name": "Logger.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1283, + "name": "Logger.getMaxListeners" + } + }, + { + "id": 1431, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "signatures": [ + { + "id": 1432, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A class method that returns the number of listeners for the given " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " registered on the given " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, listenerCount } from 'node:events';\n\nconst myEmitter = new EventEmitter();\nmyEmitter.on('event', () => {});\nmyEmitter.on('event', () => {});\nconsole.log(listenerCount(myEmitter, 'event'));\n// Prints: 2\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.9.12" + } + ] + }, + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Since v3.2.0 - Use " + }, + { + "kind": "code", + "text": "`listenerCount`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "parameters": [ + { + "id": 1433, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The emitter to query" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1434, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event name" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1276, + "name": "Logger.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1275, + "name": "Logger.listenerCount" + } + }, + { + "id": 1426, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "signatures": [ + { + "id": 1427, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\n// Emit later on\nprocess.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n});\n\nfor await (const event of on(ee, 'foo')) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n}\n// Unreachable here\n```" + }, + { + "kind": "text", + "text": "\n\nReturns an " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events. It will throw\nif the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": ". It removes all listeners when\nexiting the loop. The " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " returned by each iteration is an array\ncomposed of the emitted event arguments.\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting on events:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ac = new AbortController();\n\n(async () => {\n const ee = new EventEmitter();\n\n // Emit later on\n process.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n });\n\n for await (const event of on(ee, 'foo', { signal: ac.signal })) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n }\n // Unreachable here\n})();\n\nprocess.nextTick(() => ac.abort());\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.16.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "An " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events emitted by the " + }, + { + "kind": "code", + "text": "`emitter`" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "parameters": [ + { + "id": 1428, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1429, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1430, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "qualifiedName": "AsyncIterableIterator" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "AsyncIterableIterator", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1271, + "name": "Logger.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1270, + "name": "Logger.on" + } + }, + { + "id": 1417, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + }, + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "signatures": [ + { + "id": 1418, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that is fulfilled when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits the given\nevent or that is rejected if the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " while waiting.\nThe " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " will resolve with an array of all the arguments emitted to the\ngiven event.\n\nThis method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special" + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event\nsemantics and does not listen to the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { once, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\nprocess.nextTick(() => {\n ee.emit('myevent', 42);\n});\n\nconst [value] = await once(ee, 'myevent');\nconsole.log(value);\n\nconst err = new Error('kaboom');\nprocess.nextTick(() => {\n ee.emit('error', err);\n});\n\ntry {\n await once(ee, 'myevent');\n} catch (err) {\n console.error('error happened', err);\n}\n```" + }, + { + "kind": "text", + "text": "\n\nThe special handling of the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is only used when " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for another event. If " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for the\n'" + }, + { + "kind": "code", + "text": "`error'`" + }, + { + "kind": "text", + "text": " event itself, then it is treated as any other kind of event without\nspecial handling:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\n\nonce(ee, 'error')\n .then(([err]) => console.log('ok', err.message))\n .catch((err) => console.error('error', err.message));\n\nee.emit('error', new Error('boom'));\n\n// Prints: ok boom\n```" + }, + { + "kind": "text", + "text": "\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting for the event:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\nconst ac = new AbortController();\n\nasync function foo(emitter, event, signal) {\n try {\n await once(emitter, event, { signal });\n console.log('event emitted!');\n } catch (error) {\n if (error.name === 'AbortError') {\n console.error('Waiting for the event was canceled!');\n } else {\n console.error('There was an error', error.message);\n }\n }\n}\n\nfoo(ee, 'foo', ac.signal);\nac.abort(); // Abort waiting for the event\nee.emit('foo'); // Prints: Waiting for the event was canceled!\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v11.13.0, v10.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + } + ], + "parameters": [ + { + "id": 1419, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1420, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1421, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1262, + "name": "Logger.once" + } + }, + { + "id": 1422, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "parameters": [ + { + "id": 1423, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + }, + { + "id": 1424, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1425, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1266, + "name": "Logger.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1261, + "name": "Logger.once" + } + }, + { + "id": 1442, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "signatures": [ + { + "id": 1443, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { setMaxListeners, EventEmitter } from 'node:events';\n\nconst target = new EventTarget();\nconst emitter = new EventEmitter();\n\nsetMaxListeners(5, target, emitter);\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "parameters": [ + { + "id": 1444, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A non-negative number. The maximum number of listeners per " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": " event." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1445, + "name": "eventTargets", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1287, + "name": "Logger.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1286, + "name": "Logger.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 1457 + ] + }, + { + "title": "Properties", + "children": [ + 1454, + 1455, + 1456, + 1453 + ] + }, + { + "title": "Methods", + "children": [ + 1483, + 1461, + 1474, + 1489, + 1545, + 1571, + 1535, + 1472, + 1550, + 1537, + 1478, + 1521, + 1497, + 1505, + 1555, + 1563, + 1541, + 1529, + 1513, + 1532, + 1469, + 1446, + 1435, + 1439, + 1431, + 1426, + 1417, + 1442 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 240, + "character": 14 + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 1260, + "name": "Logger", + "package": "@apify/log" + } + ] + }, + { + "id": 1573, + "name": "LoggerText", + "variant": "declaration", + "kind": 128, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This is an abstract class that should\nbe extended by custom logger classes.\n\nthis._log() method must be implemented by them." + } + ] + }, + "children": [ + { + "id": 1614, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 246, + "character": 4 + } + ], + "signatures": [ + { + "id": 1615, + "name": "new LoggerText", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 246, + "character": 4 + } + ], + "parameters": [ + { + "id": 1616, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1617, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + } + } + } + } + ], + "type": { + "type": "reference", + "target": 1573, + "name": "LoggerText", + "package": "@apify/log" + }, + "overwrites": { + "type": "reference", + "target": 1302, + "name": "Logger.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 1301, + "name": "Logger.constructor" + } + }, + { + "id": 1611, + "name": "captureRejectionSymbol", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: " + }, + { + "kind": "code", + "text": "`Symbol.for('nodejs.rejection')`" + }, + { + "kind": "text", + "text": "\n\nSee how to write a custom " + }, + { + "kind": "code", + "text": "`rejection handler`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 405, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1298, + "name": "captureRejectionSymbol", + "package": "@types/node", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1298, + "name": "Logger.captureRejectionSymbol" + } + }, + { + "id": 1612, + "name": "captureRejections", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)\n\nChange the default " + }, + { + "kind": "code", + "text": "`captureRejections`" + }, + { + "kind": "text", + "text": " option on all new " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " objects." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 412, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 1299, + "name": "Logger.captureRejections" + } + }, + { + "id": 1613, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default, a maximum of " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners can be registered for any single\nevent. This limit can be changed for individual " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances\nusing the " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " method. To change the default\nfor _all_" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " property\ncan be used. If this value is not a positive number, a " + }, + { + "kind": "code", + "text": "`RangeError`" + }, + { + "kind": "text", + "text": " is thrown.\n\nTake caution when setting the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " because the\nchange affects _all_ " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, including those created before\nthe change is made. However, calling " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " still has\nprecedence over " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": ".\n\nThis is not a hard limit. The " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance will allow\nmore listeners to be added but will output a trace warning to stderr indicating\nthat a \"possible EventEmitter memory leak\" has been detected. For any single\n" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", the " + }, + { + "kind": "code", + "text": "`emitter.getMaxListeners()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " methods can be used to\ntemporarily avoid this warning:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.setMaxListeners(emitter.getMaxListeners() + 1);\nemitter.once('event', () => {\n // do stuff\n emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));\n});\n```" + }, + { + "kind": "text", + "text": "\n\nThe " + }, + { + "kind": "code", + "text": "`--trace-warnings`" + }, + { + "kind": "text", + "text": " command-line flag can be used to display the\nstack trace for such warnings.\n\nThe emitted warning can be inspected with " + }, + { + "kind": "code", + "text": "`process.on('warning')`" + }, + { + "kind": "text", + "text": " and will\nhave the additional " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`type`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`count`" + }, + { + "kind": "text", + "text": " properties, referring to\nthe event emitter instance, the event's name and the number of attached\nlisteners, respectively.\nIts " + }, + { + "kind": "code", + "text": "`name`" + }, + { + "kind": "text", + "text": " property is set to " + }, + { + "kind": "code", + "text": "`'MaxListenersExceededWarning'`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.11.2" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 451, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1300, + "name": "Logger.defaultMaxListeners" + } + }, + { + "id": 1610, + "name": "errorMonitor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This symbol shall be used to install a listener for only monitoring " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " events. Listeners installed using this symbol are called before the regular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listeners are called.\n\nInstalling a listener using this symbol does not change the behavior once an " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is emitted. Therefore, the process will still crash if no\nregular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listener is installed." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 398, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1297, + "name": "errorMonitor", + "package": "@types/node", + "qualifiedName": "EventEmitter.errorMonitor" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1297, + "name": "Logger.errorMonitor" + } + }, + { + "id": 1645, + "name": "[captureRejectionSymbol]", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "signatures": [ + { + "id": 1646, + "name": "[captureRejectionSymbol]", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "typeParameter": [ + { + "id": 1647, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1648, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 1649, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1650, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1327, + "name": "Logger.[captureRejectionSymbol]" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1326, + "name": "Logger.[captureRejectionSymbol]" + } + }, + { + "id": 1618, + "name": "_log", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 247, + "character": 4 + } + ], + "signatures": [ + { + "id": 1619, + "name": "_log", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 247, + "character": 4 + } + ], + "parameters": [ + { + "id": 1620, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1621, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1622, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 1623, + "name": "exception", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 1624, + "name": "opts", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "target": 1315, + "name": "Logger._log" + } + } + ], + "overwrites": { + "type": "reference", + "target": 1314, + "name": "Logger._log" + } + }, + { + "id": 1636, + "name": "_outputWithConsole", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 36, + "character": 4 + } + ], + "signatures": [ + { + "id": 1637, + "name": "_outputWithConsole", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 36, + "character": 4 + } + ], + "parameters": [ + { + "id": 1638, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1639, + "name": "line", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1311, + "name": "Logger._outputWithConsole" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1310, + "name": "Logger._outputWithConsole" + } + }, + { + "id": 1651, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "signatures": [ + { + "id": 1652, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.on(eventName, listener)`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1653, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1654, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1655, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1656, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1657, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1658, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1333, + "name": "Logger.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1332, + "name": "Logger.addListener" + } + }, + { + "id": 1707, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "signatures": [ + { + "id": 1708, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Synchronously calls each of the listeners registered for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", in the order they were registered, passing the supplied arguments\nto each.\n\nReturns " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the event had listeners, " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " otherwise.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEmitter = new EventEmitter();\n\n// First listener\nmyEmitter.on('event', function firstListener() {\n console.log('Helloooo! first listener');\n});\n// Second listener\nmyEmitter.on('event', function secondListener(arg1, arg2) {\n console.log(`event with parameters ${arg1}, ${arg2} in second listener`);\n});\n// Third listener\nmyEmitter.on('event', function thirdListener(...args) {\n const parameters = args.join(', ');\n console.log(`event with parameters ${parameters} in third listener`);\n});\n\nconsole.log(myEmitter.listeners('event'));\n\nmyEmitter.emit('event', 1, 2, 3, 4, 5);\n\n// Prints:\n// [\n// [Function: firstListener],\n// [Function: secondListener],\n// [Function: thirdListener]\n// ]\n// Helloooo! first listener\n// event with parameters 1, 2 in second listener\n// event with parameters 1, 2, 3, 4, 5 in third listener\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1709, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1710, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1711, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 1389, + "name": "Logger.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1388, + "name": "Logger.emit" + } + }, + { + "id": 1733, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "signatures": [ + { + "id": 1734, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an array listing the events for which the emitter has registered\nlisteners. The values in the array are strings or " + }, + { + "kind": "code", + "text": "`Symbol`" + }, + { + "kind": "text", + "text": "s.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\n\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => {});\nmyEE.on('bar', () => {});\n\nconst sym = Symbol('symbol');\nmyEE.on(sym, () => {});\n\nconsole.log(myEE.eventNames());\n// Prints: [ 'foo', 'bar', Symbol(symbol) ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1415, + "name": "Logger.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1414, + "name": "Logger.eventNames" + } + }, + { + "id": 1697, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "signatures": [ + { + "id": 1698, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the current max listener value for the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " which is either\nset by " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " or defaults to " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "defaultMaxListeners", + "target": 1613 + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v1.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1379, + "name": "Logger.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1378, + "name": "Logger.getMaxListeners" + } + }, + { + "id": 1634, + "name": "getOptions", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 35, + "character": 4 + } + ], + "signatures": [ + { + "id": 1635, + "name": "getOptions", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 35, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1309, + "name": "Logger.getOptions" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1308, + "name": "Logger.getOptions" + } + }, + { + "id": 1712, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "signatures": [ + { + "id": 1713, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the number of listeners listening for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\nIf " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " is provided, it will return how many times the listener is found\nin the list of the listeners of the event." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v3.2.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1714, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1715, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1716, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event handler function" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1394, + "name": "Logger.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1393, + "name": "Logger.listenerCount" + } + }, + { + "id": 1699, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "signatures": [ + { + "id": 1700, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\nconsole.log(util.inspect(server.listeners('connection')));\n// Prints: [ [Function] ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1701, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1702, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1381, + "name": "Logger.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1380, + "name": "Logger.listeners" + } + }, + { + "id": 1640, + "name": "log", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 38, + "character": 4 + } + ], + "signatures": [ + { + "id": 1641, + "name": "log", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 38, + "character": 4 + } + ], + "parameters": [ + { + "id": 1642, + "name": "level", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + } + }, + { + "id": 1643, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1644, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1322, + "name": "Logger.log" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1321, + "name": "Logger.log" + } + }, + { + "id": 1683, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "signatures": [ + { + "id": 1684, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.removeListener()`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v10.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1685, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1686, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1687, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1688, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1689, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1690, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1365, + "name": "Logger.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1364, + "name": "Logger.off" + } + }, + { + "id": 1659, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "signatures": [ + { + "id": 1660, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the end of the listeners array for the event\nnamed " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has already\nbeen added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => console.log('a'));\nmyEE.prependListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.101" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1661, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1662, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1663, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1664, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1665, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1666, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1341, + "name": "Logger.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1340, + "name": "Logger.on" + } + }, + { + "id": 1667, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "signatures": [ + { + "id": 1668, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time** " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". The\nnext time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this listener is removed and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.once('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependOnceListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.once('foo', () => console.log('a'));\nmyEE.prependOnceListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1669, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1670, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1671, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1672, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1673, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1674, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1349, + "name": "Logger.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1348, + "name": "Logger.once" + } + }, + { + "id": 1717, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "signatures": [ + { + "id": 1718, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the _beginning_ of the listeners array for the\nevent named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has\nalready been added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependListener('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1719, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1720, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1721, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1722, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1723, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1724, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1399, + "name": "Logger.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1398, + "name": "Logger.prependListener" + } + }, + { + "id": 1725, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "signatures": [ + { + "id": 1726, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time**" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " to the _beginning_ of the listeners array. The next time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this\nlistener is removed, and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependOnceListener('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1727, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1728, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1729, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1730, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1731, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1732, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1407, + "name": "Logger.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1406, + "name": "Logger.prependOnceListener" + } + }, + { + "id": 1703, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "signatures": [ + { + "id": 1704, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ",\nincluding any wrappers (such as those created by " + }, + { + "kind": "code", + "text": "`.once()`" + }, + { + "kind": "text", + "text": ").\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.once('log', () => console.log('log once'));\n\n// Returns a new Array with a function `onceWrapper` which has a property\n// `listener` which contains the original listener bound above\nconst listeners = emitter.rawListeners('log');\nconst logFnWrapper = listeners[0];\n\n// Logs \"log once\" to the console and does not unbind the `once` event\nlogFnWrapper.listener();\n\n// Logs \"log once\" to the console and removes the listener\nlogFnWrapper();\n\nemitter.on('log', () => console.log('log persistently'));\n// Will return a new Array with a single function bound by `.on()` above\nconst newListeners = emitter.rawListeners('log');\n\n// Logs \"log persistently\" twice\nnewListeners[0]();\nemitter.emit('log');\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v9.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1705, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1706, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1385, + "name": "Logger.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1384, + "name": "Logger.rawListeners" + } + }, + { + "id": 1691, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "signatures": [ + { + "id": 1692, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes all listeners, or those of the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nIt is bad practice to remove listeners added elsewhere in the code,\nparticularly when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance was created by some other\ncomponent or module (e.g. sockets or file streams).\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "parameters": [ + { + "id": 1693, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1373, + "name": "Logger.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1372, + "name": "Logger.removeAllListeners" + } + }, + { + "id": 1675, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "signatures": [ + { + "id": 1676, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the specified " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " from the listener array for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nconst callback = (stream) => {\n console.log('someone connected!');\n};\nserver.on('connection', callback);\n// ...\nserver.removeListener('connection', callback);\n```" + }, + { + "kind": "text", + "text": "\n\n" + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove, at most, one instance of a listener from the\nlistener array. If any single listener has been added multiple times to the\nlistener array for the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", then " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " must be\ncalled multiple times to remove each instance.\n\nOnce an event is emitted, all listeners attached to it at the\ntime of emitting are called in order. This implies that any " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`removeAllListeners()`" + }, + { + "kind": "text", + "text": " calls _after_ emitting and _before_ the last listener finishes execution\nwill not remove them from" + }, + { + "kind": "code", + "text": "`emit()`" + }, + { + "kind": "text", + "text": " in progress. Subsequent events behave as expected.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nclass MyEmitter extends EventEmitter {}\nconst myEmitter = new MyEmitter();\n\nconst callbackA = () => {\n console.log('A');\n myEmitter.removeListener('event', callbackB);\n};\n\nconst callbackB = () => {\n console.log('B');\n};\n\nmyEmitter.on('event', callbackA);\n\nmyEmitter.on('event', callbackB);\n\n// callbackA removes listener callbackB but it will still be called.\n// Internal listener array at time of emit [callbackA, callbackB]\nmyEmitter.emit('event');\n// Prints:\n// A\n// B\n\n// callbackB is now removed.\n// Internal listener array [callbackA]\nmyEmitter.emit('event');\n// Prints:\n// A\n```" + }, + { + "kind": "text", + "text": "\n\nBecause listeners are managed using an internal array, calling this will\nchange the position indices of any listener registered _after_ the listener\nbeing removed. This will not impact the order in which listeners are called,\nbut it means that any copies of the listener array as returned by\nthe " + }, + { + "kind": "code", + "text": "`emitter.listeners()`" + }, + { + "kind": "text", + "text": " method will need to be recreated.\n\nWhen a single function has been added as a handler multiple times for a single\nevent (as in the example below), " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove the most\nrecently added instance. In the example the " + }, + { + "kind": "code", + "text": "`once('ping')`" + }, + { + "kind": "text", + "text": " listener is removed:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst ee = new EventEmitter();\n\nfunction pong() {\n console.log('pong');\n}\n\nee.on('ping', pong);\nee.once('ping', pong);\nee.removeListener('ping', pong);\n\nee.emit('ping');\nee.emit('ping');\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 1677, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 1678, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1679, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1680, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 1681, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 1682, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1357, + "name": "Logger.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1356, + "name": "Logger.removeListener" + } + }, + { + "id": 1694, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "signatures": [ + { + "id": 1695, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s will print a warning if more than " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners are\nadded for a particular event. This is a useful default that helps finding\nmemory leaks. The " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " method allows the limit to be\nmodified for this specific " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance. The value can be set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": " (or " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": ") to indicate an unlimited number of listeners.\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.5" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "parameters": [ + { + "id": 1696, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": 1376, + "name": "Logger.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1375, + "name": "Logger.setMaxListeners" + } + }, + { + "id": 1631, + "name": "setOptions", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 34, + "character": 4 + } + ], + "signatures": [ + { + "id": 1632, + "name": "setOptions", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 34, + "character": 4 + } + ], + "parameters": [ + { + "id": 1633, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "Record", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1306, + "name": "Logger.setOptions" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1305, + "name": "Logger.setOptions" + } + }, + { + "id": 1603, + "name": "addAbortListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "signatures": [ + { + "id": 1604, + "name": "addAbortListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Listens once to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on the provided " + }, + { + "kind": "code", + "text": "`signal`" + }, + { + "kind": "text", + "text": ".\n\nListening to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on abort signals is unsafe and may\nlead to resource leaks since another third party with the signal can\ncall " + }, + { + "kind": "code", + "text": "`e.stopImmediatePropagation()`" + }, + { + "kind": "text", + "text": ". Unfortunately Node.js cannot change\nthis since it would violate the web standard. Additionally, the original\nAPI makes it easy to forget to remove listeners.\n\nThis API allows safely using " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": "s in Node.js APIs by solving these\ntwo issues by listening to the event such that " + }, + { + "kind": "code", + "text": "`stopImmediatePropagation`" + }, + { + "kind": "text", + "text": " does\nnot prevent the listener from running.\n\nReturns a disposable so that it may be unsubscribed from more easily.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { addAbortListener } from 'node:events';\n\nfunction example(signal) {\n let disposable;\n try {\n signal.addEventListener('abort', (e) => e.stopImmediatePropagation());\n disposable = addAbortListener(signal, (e) => {\n // Do something when signal is aborted.\n });\n } finally {\n disposable?.[Symbol.dispose]();\n }\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v20.5.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Disposable that removes the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " listener." + } + ] + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "parameters": [ + { + "id": 1605, + "name": "signal", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "AbortSignal" + }, + "name": "AbortSignal", + "package": "typescript" + } + }, + { + "id": 1606, + "name": "resource", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1607, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "signatures": [ + { + "id": 1608, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "parameters": [ + { + "id": 1609, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "Event" + }, + "name": "Event", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.esnext.disposable.d.ts", + "qualifiedName": "Disposable" + }, + "name": "Disposable", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1291, + "name": "Logger.addAbortListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1290, + "name": "Logger.addAbortListener" + } + }, + { + "id": 1592, + "name": "getEventListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "signatures": [ + { + "id": 1593, + "name": "getEventListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.listeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the event listeners for the\nevent target. This is useful for debugging and diagnostic purposes.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getEventListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n const listener = () => console.log('Events are fun');\n ee.on('foo', listener);\n console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]\n}\n{\n const et = new EventTarget();\n const listener = () => console.log('Events are fun');\n et.addEventListener('foo', listener);\n console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.2.0, v14.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "parameters": [ + { + "id": 1594, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + }, + { + "id": 1595, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1280, + "name": "Logger.getEventListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1279, + "name": "Logger.getEventListeners" + } + }, + { + "id": 1596, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "signatures": [ + { + "id": 1597, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the currently set max amount of listeners.\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.getMaxListeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the max event listeners for the\nevent target. If the number of event handlers on a single EventTarget exceeds\nthe max set, the EventTarget will print a warning.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n console.log(getMaxListeners(ee)); // 10\n setMaxListeners(11, ee);\n console.log(getMaxListeners(ee)); // 11\n}\n{\n const et = new EventTarget();\n console.log(getMaxListeners(et)); // 10\n setMaxListeners(11, et);\n console.log(getMaxListeners(et)); // 11\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v19.9.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "parameters": [ + { + "id": 1598, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1284, + "name": "Logger.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1283, + "name": "Logger.getMaxListeners" + } + }, + { + "id": 1588, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "signatures": [ + { + "id": 1589, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A class method that returns the number of listeners for the given " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " registered on the given " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, listenerCount } from 'node:events';\n\nconst myEmitter = new EventEmitter();\nmyEmitter.on('event', () => {});\nmyEmitter.on('event', () => {});\nconsole.log(listenerCount(myEmitter, 'event'));\n// Prints: 2\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.9.12" + } + ] + }, + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Since v3.2.0 - Use " + }, + { + "kind": "code", + "text": "`listenerCount`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "parameters": [ + { + "id": 1590, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The emitter to query" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1591, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event name" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 1276, + "name": "Logger.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1275, + "name": "Logger.listenerCount" + } + }, + { + "id": 1583, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "signatures": [ + { + "id": 1584, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\n// Emit later on\nprocess.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n});\n\nfor await (const event of on(ee, 'foo')) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n}\n// Unreachable here\n```" + }, + { + "kind": "text", + "text": "\n\nReturns an " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events. It will throw\nif the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": ". It removes all listeners when\nexiting the loop. The " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " returned by each iteration is an array\ncomposed of the emitted event arguments.\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting on events:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ac = new AbortController();\n\n(async () => {\n const ee = new EventEmitter();\n\n // Emit later on\n process.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n });\n\n for await (const event of on(ee, 'foo', { signal: ac.signal })) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n }\n // Unreachable here\n})();\n\nprocess.nextTick(() => ac.abort());\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.16.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "An " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events emitted by the " + }, + { + "kind": "code", + "text": "`emitter`" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "parameters": [ + { + "id": 1585, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1586, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1587, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "qualifiedName": "AsyncIterableIterator" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "AsyncIterableIterator", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1271, + "name": "Logger.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1270, + "name": "Logger.on" + } + }, + { + "id": 1574, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + }, + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "signatures": [ + { + "id": 1575, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that is fulfilled when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits the given\nevent or that is rejected if the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " while waiting.\nThe " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " will resolve with an array of all the arguments emitted to the\ngiven event.\n\nThis method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special" + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event\nsemantics and does not listen to the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { once, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\nprocess.nextTick(() => {\n ee.emit('myevent', 42);\n});\n\nconst [value] = await once(ee, 'myevent');\nconsole.log(value);\n\nconst err = new Error('kaboom');\nprocess.nextTick(() => {\n ee.emit('error', err);\n});\n\ntry {\n await once(ee, 'myevent');\n} catch (err) {\n console.error('error happened', err);\n}\n```" + }, + { + "kind": "text", + "text": "\n\nThe special handling of the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is only used when " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for another event. If " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for the\n'" + }, + { + "kind": "code", + "text": "`error'`" + }, + { + "kind": "text", + "text": " event itself, then it is treated as any other kind of event without\nspecial handling:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\n\nonce(ee, 'error')\n .then(([err]) => console.log('ok', err.message))\n .catch((err) => console.error('error', err.message));\n\nee.emit('error', new Error('boom'));\n\n// Prints: ok boom\n```" + }, + { + "kind": "text", + "text": "\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting for the event:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\nconst ac = new AbortController();\n\nasync function foo(emitter, event, signal) {\n try {\n await once(emitter, event, { signal });\n console.log('event emitted!');\n } catch (error) {\n if (error.name === 'AbortError') {\n console.error('Waiting for the event was canceled!');\n } else {\n console.error('There was an error', error.message);\n }\n }\n}\n\nfoo(ee, 'foo', ac.signal);\nac.abort(); // Abort waiting for the event\nee.emit('foo'); // Prints: Waiting for the event was canceled!\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v11.13.0, v10.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + } + ], + "parameters": [ + { + "id": 1576, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 1577, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1578, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1262, + "name": "Logger.once" + } + }, + { + "id": 1579, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "parameters": [ + { + "id": 1580, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + }, + { + "id": 1581, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1582, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 1266, + "name": "Logger.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1261, + "name": "Logger.once" + } + }, + { + "id": 1599, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "signatures": [ + { + "id": 1600, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { setMaxListeners, EventEmitter } from 'node:events';\n\nconst target = new EventTarget();\nconst emitter = new EventEmitter();\n\nsetMaxListeners(5, target, emitter);\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "parameters": [ + { + "id": 1601, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A non-negative number. The maximum number of listeners per " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": " event." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1602, + "name": "eventTargets", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1287, + "name": "Logger.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1286, + "name": "Logger.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 1614 + ] + }, + { + "title": "Properties", + "children": [ + 1611, + 1612, + 1613, + 1610 + ] + }, + { + "title": "Methods", + "children": [ + 1645, + 1618, + 1636, + 1651, + 1707, + 1733, + 1697, + 1634, + 1712, + 1699, + 1640, + 1683, + 1659, + 1667, + 1717, + 1725, + 1703, + 1691, + 1675, + 1694, + 1631, + 1603, + 1592, + 1596, + 1588, + 1583, + 1574, + 1599 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 245, + "character": 14 + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 1260, + "name": "Logger", + "package": "@apify/log" + } + ] + }, + { + "id": 77, + "name": "NonRetryableError", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Errors of " + }, + { + "kind": "code", + "text": "`NonRetryableError`" + }, + { + "kind": "text", + "text": " type will never be retried by the crawler." + } + ] + }, + "children": [ + { + "id": 88, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1082, + "character": 4 + } + ], + "signatures": [ + { + "id": 89, + "name": "new NonRetryableError", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1082, + "character": 4 + } + ], + "parameters": [ + { + "id": 90, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 77, + "name": "NonRetryableError", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.constructor" + } + }, + { + "id": 91, + "name": "new NonRetryableError", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1082, + "character": 4 + } + ], + "parameters": [ + { + "id": 92, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 93, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "ErrorOptions" + }, + "name": "ErrorOptions", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": 77, + "name": "NonRetryableError", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.constructor" + } + }, + { + "id": 97, + "name": "cause", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es2022.error.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.cause" + } + }, + { + "id": 95, + "name": "message", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1077, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.message" + } + }, + { + "id": 94, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1076, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.name" + } + }, + { + "id": 96, + "name": "stack", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1078, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.stack" + } + }, + { + "id": 82, + "name": "prepareStackTrace", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional override for formatting stack traces" + } + ], + "blockTags": [ + { + "tag": "@see", + "content": [ + { + "kind": "text", + "text": "https://v8.dev/docs/stack-trace-api#customizing-stack-traces" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 83, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "signatures": [ + { + "id": 84, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "parameters": [ + { + "id": 85, + "name": "err", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 86, + "name": "stackTraces", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.NodeJS.CallSite" + }, + "name": "CallSite", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.CallSite" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.prepareStackTrace" + } + }, + { + "id": 87, + "name": "stackTraceLimit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 30, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.stackTraceLimit" + } + }, + { + "id": 78, + "name": "captureStackTrace", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "signatures": [ + { + "id": 79, + "name": "captureStackTrace", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Create .stack property on a target object" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "parameters": [ + { + "id": 80, + "name": "targetObject", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 81, + "name": "constructorOpt", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.captureStackTrace" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.captureStackTrace" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 88 + ] + }, + { + "title": "Properties", + "children": [ + 97, + 95, + 94, + 96, + 82, + 87 + ] + }, + { + "title": "Methods", + "children": [ + 78 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 98, + "name": "CriticalError" + } + ] + }, + { + "id": 1756, + "name": "ProxyConfiguration", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Configures connection to a proxy server with the provided options. Proxy servers are used to prevent target websites from blocking\nyour crawlers based on IP address rate limits or blacklists. Setting proxy configuration in your crawlers automatically configures\nthem to use the selected proxies for all connections. You can get information about the currently used proxy by inspecting\nthe " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyInfo" + }, + { + "kind": "text", + "text": " property in your crawler's page function. There, you can inspect the proxy's URL and other attributes.\n\nIf you want to use your own proxies, use the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfigurationOptions.proxyUrls" + }, + { + "kind": "text", + "text": " option. Your list of proxy URLs will\nbe rotated by the configuration if this option is provided.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\n\nconst proxyConfiguration = new ProxyConfiguration({\n proxyUrls: ['...', '...'],\n});\n\nconst crawler = new CheerioCrawler({\n // ...\n proxyConfiguration,\n requestHandler({ proxyInfo }) {\n const usedProxyUrl = proxyInfo.url; // Getting the proxy URL\n }\n})\n\n```" + } + ] + }, + "children": [ + { + "id": 1757, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 228, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L228" + } + ], + "signatures": [ + { + "id": 1758, + "name": "new ProxyConfiguration", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " instance based on the provided options. Proxy servers are used to prevent target websites from\nblocking your crawlers based on IP address rate limits or blacklists. Setting proxy configuration in your crawlers automatically configures\nthem to use the selected proxies for all connections.\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst proxyConfiguration = new ProxyConfiguration({\n proxyUrls: ['http://user:pass@proxy-1.com', 'http://user:pass@proxy-2.com'],\n});\n\nconst crawler = new CheerioCrawler({\n // ...\n proxyConfiguration,\n requestHandler({ proxyInfo }) {\n const usedProxyUrl = proxyInfo.url; // Getting the proxy URL\n }\n})\n\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 228, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L228" + } + ], + "parameters": [ + { + "id": 1759, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1741, + "name": "ProxyConfigurationOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 1760, + "name": "isManInTheMiddle", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 199, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L199" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + }, + { + "id": 1768, + "name": "newProxyInfo", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 263, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L263" + } + ], + "signatures": [ + { + "id": 1769, + "name": "newProxyInfo", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function creates a new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyInfo" + }, + { + "kind": "text", + "text": " info object.\nIt is used by CheerioCrawler and PuppeteerCrawler to generate proxy URLs and also to allow the user to inspect\nthe currently used proxy via the requestHandler parameter " + }, + { + "kind": "code", + "text": "`proxyInfo`" + }, + { + "kind": "text", + "text": ".\nUse it if you want to work with a rich representation of a proxy URL.\nIf you need the URL string only, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration.newUrl" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Represents information about used proxy and its configuration." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 263, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L263" + } + ], + "parameters": [ + { + "id": 1770, + "name": "sessionId", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents the identifier of user " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session" + }, + { + "kind": "text", + "text": " that can be managed by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " or\n you can use the Apify Proxy [Session](https://docs.apify.com/proxy#sessions) identifier.\n When the provided sessionId is a number, it's converted to a string. Property sessionId of\n " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyInfo" + }, + { + "kind": "text", + "text": " is always returned as a type string.\n\n All the HTTP requests going through the proxy with the same session identifier\n will use the same target proxy server (i.e. the same IP address).\n The identifier must not be longer than 50 characters and include only the following: " + }, + { + "kind": "code", + "text": "`0-9`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`a-z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`A-Z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`\".\"`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`\"_\"`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`\"~\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 1771, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxyOptions" + }, + "name": "TieredProxyOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 1779, + "name": "newUrl", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 363, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L363" + } + ], + "signatures": [ + { + "id": 1780, + "name": "newUrl", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a new proxy URL based on provided configuration options and the " + }, + { + "kind": "code", + "text": "`sessionId`" + }, + { + "kind": "text", + "text": " parameter." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "A string with a proxy URL, including authentication credentials and port number.\n For example, " + }, + { + "kind": "code", + "text": "`http://bob:password123@proxy.example.com:8000`" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 363, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L363" + } + ], + "parameters": [ + { + "id": 1781, + "name": "sessionId", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents the identifier of user " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session" + }, + { + "kind": "text", + "text": " that can be managed by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " or\n you can use the Apify Proxy [Session](https://docs.apify.com/proxy#sessions) identifier.\n When the provided sessionId is a number, it's converted to a string.\n\n All the HTTP requests going through the proxy with the same session identifier\n will use the same target proxy server (i.e. the same IP address).\n The identifier must not be longer than 50 characters and include only the following: " + }, + { + "kind": "code", + "text": "`0-9`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`a-z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`A-Z`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`\".\"`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`\"_\"`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`\"~\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 1782, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxyOptions" + }, + "name": "TieredProxyOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 1757 + ] + }, + { + "title": "Properties", + "children": [ + 1760 + ] + }, + { + "title": "Methods", + "children": [ + 1768, + 1779 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ] + }, + { + "id": 14, + "name": "PseudoUrl", + "variant": "declaration", + "kind": 128, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents a pseudo-URL (PURL) - a URL pattern used to find\nthe matching URLs on a page or html document.\n\nA PURL is simply a URL with special directives enclosed in " + }, + { + "kind": "code", + "text": "`[]`" + }, + { + "kind": "text", + "text": " brackets.\nCurrently, the only supported directive is " + }, + { + "kind": "code", + "text": "`[RegExp]`" + }, + { + "kind": "text", + "text": ",\nwhich defines a JavaScript-style regular expression to match against the URL.\n\nThe " + }, + { + "kind": "code", + "text": "`PseudoUrl`" + }, + { + "kind": "text", + "text": " class can be constructed either using a pseudo-URL string\nor a regular expression (an instance of the " + }, + { + "kind": "code", + "text": "`RegExp`" + }, + { + "kind": "text", + "text": " object).\nWith a pseudo-URL string, the matching is always case-insensitive.\nIf you need case-sensitive matching, use an appropriate " + }, + { + "kind": "code", + "text": "`RegExp`" + }, + { + "kind": "text", + "text": " object.\n\nInternally, " + }, + { + "kind": "code", + "text": "`PseudoUrl`" + }, + { + "kind": "text", + "text": " class is using " + }, + { + "kind": "code", + "text": "`purlToRegExp`" + }, + { + "kind": "text", + "text": " function which parses the provided PURL\nand converts it to an instance of the " + }, + { + "kind": "code", + "text": "`RegExp`" + }, + { + "kind": "text", + "text": " object (in case it's not).\n\nFor example, a PURL " + }, + { + "kind": "code", + "text": "`http://www.example.com/pages/[(\\w|-)*]`" + }, + { + "kind": "text", + "text": " will match all of the following URLs:\n\n- " + }, + { + "kind": "code", + "text": "`http://www.example.com/pages/`" + }, + { + "kind": "text", + "text": "\n- " + }, + { + "kind": "code", + "text": "`http://www.example.com/pages/my-awesome-page`" + }, + { + "kind": "text", + "text": "\n- " + }, + { + "kind": "code", + "text": "`http://www.example.com/pages/something`" + }, + { + "kind": "text", + "text": "\n\nBe careful to correctly escape special characters in the pseudo-URL string.\nIf either " + }, + { + "kind": "code", + "text": "`[`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`]`" + }, + { + "kind": "text", + "text": " is part of the normal query string, it must be encoded as " + }, + { + "kind": "code", + "text": "`[\\x5B]`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`[\\x5D]`" + }, + { + "kind": "text", + "text": ",\nrespectively. For example, the following PURL:\n" + }, + { + "kind": "code", + "text": "```http\nhttp://www.example.com/search?do[\\x5B]load[\\x5D]=1\n```" + }, + { + "kind": "text", + "text": "\nwill match the URL:\n" + }, + { + "kind": "code", + "text": "```http\nhttp://www.example.com/search?do[load]=1\n```" + }, + { + "kind": "text", + "text": "\n\nIf the regular expression in the pseudo-URL contains a backslash character (\\),\nyou need to escape it with another back backslash, as shown in the example below.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\n// Using a pseudo-URL string\nconst purl = new PseudoUrl('http://www.example.com/pages/[(\\\\w|-)+]');\n\n// Using a regular expression\nconst purl2 = new PseudoUrl(/http://www\\.example\\.com/pages/(\\w|-)+/);\n\nif (purl.matches('http://www.example.com/pages/my-awesome-page')) console.log('Match!');\n```" + } + ] + }, + "children": [ + { + "id": 15, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/pseudo_url/cjs/index.d.ts", + "line": 58, + "character": 4 + } + ], + "signatures": [ + { + "id": 16, + "name": "new PseudoUrl", + "variant": "signature", + "kind": 16384, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/pseudo_url/cjs/index.d.ts", + "line": 58, + "character": 4 + } + ], + "parameters": [ + { + "id": 17, + "name": "purl", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A pseudo-URL string or a regular expression object.\n Using a " + }, + { + "kind": "code", + "text": "`RegExp`" + }, + { + "kind": "text", + "text": " instance enables more granular control,\n such as making the matching case-sensitive." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": 14, + "name": "PseudoUrl", + "package": "@apify/pseudo_url" + } + } + ] + }, + { + "id": 18, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isReadonly": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/pseudo_url/cjs/index.d.ts", + "line": 51, + "character": 13 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 19, + "name": "matches", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/pseudo_url/cjs/index.d.ts", + "line": 62, + "character": 4 + } + ], + "signatures": [ + { + "id": 20, + "name": "matches", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Determines whether a URL matches this pseudo-URL pattern." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/pseudo_url/cjs/index.d.ts", + "line": 62, + "character": 4 + } + ], + "parameters": [ + { + "id": 21, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 15 + ] + }, + { + "title": "Properties", + "children": [ + 18 + ] + }, + { + "title": "Methods", + "children": [ + 19 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/@apify/pseudo_url/cjs/index.d.ts", + "line": 50, + "character": 14 + } + ] + }, + { + "id": 1808, + "name": "Request", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents a URL to be crawled, optionally including HTTP method, headers, payload and other metadata.\nThe " + }, + { + "kind": "code", + "text": "`Request`" + }, + { + "kind": "text", + "text": " object also stores information about errors that occurred during processing of the request.\n\nEach " + }, + { + "kind": "code", + "text": "`Request`" + }, + { + "kind": "text", + "text": " instance has the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property, which can be either specified\nmanually in the constructor or generated automatically from the URL. Two requests with the same " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": "\nare considered as pointing to the same web resource. This behavior applies to all Crawlee classes,\nsuch as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": ".\n\n> To access and examine the actual request sent over http, with all autofilled headers you can access\n" + }, + { + "kind": "code", + "text": "`response.request`" + }, + { + "kind": "text", + "text": " object from the request handler\n\nExample use:\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst request = new Request({\n url: 'http://www.example.com',\n headers: { Accept: 'application/json' },\n});\n\n...\n\nrequest.userData.foo = 'bar';\nrequest.pushErrorMessage(new Error('Request failed!'));\n\n...\n\nconst foo = request.userData.foo;\n```" + } + ] + }, + "children": [ + { + "id": 1815, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 137, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L137" + } + ], + "signatures": [ + { + "id": 1816, + "name": "new Request", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`Request`" + }, + { + "kind": "text", + "text": " parameters including the URL, HTTP method and headers, and others." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 137, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L137" + } + ], + "typeParameter": [ + { + "id": 1817, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 1818, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": 1817, + "name": "UserData", + "package": "@crawlee/core", + "qualifiedName": "Request.UserData", + "refersToTypeParameter": true + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 1817, + "name": "UserData", + "package": "@crawlee/core", + "qualifiedName": "Request.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 1827, + "name": "errorMessages", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of error messages from request processing." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 117, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L117" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 1831, + "name": "handledAt", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ISO datetime string that indicates the time when the request has been processed.\nIs " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if the request has not been crawled yet." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 132, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L132" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1828, + "name": "headers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Object with HTTP headers. Key is header name, value is the value." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L120" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "Record", + "package": "typescript" + } + }, + { + "id": 1819, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request ID" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 83, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L83" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1821, + "name": "loadedUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An actually loaded URL after redirects, if present. HTTP redirects are guaranteed\nto be included.\n\nWhen using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": ", meta tag and JavaScript redirects may,\nor may not be included, depending on their nature. This generally means that redirects,\nwhich happen immediately will most likely be included, but delayed redirects will not." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 96, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L96" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1823, + "name": "method", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTTP method, e.g. " + }, + { + "kind": "code", + "text": "`GET`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`POST`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 105, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L105" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "AllowedHttpMethods" + }, + "name": "AllowedHttpMethods", + "package": "@crawlee/core" + } + }, + { + "id": 1825, + "name": "noRetry", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " value indicates that the request will not be automatically retried on error." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 111, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L111" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 1824, + "name": "payload", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTTP request payload, e.g. for POST requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 108, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L108" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1826, + "name": "retryCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates the number of times the crawling of the request has been retried on error." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L114" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1822, + "name": "uniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A unique key identifying the request.\nTwo requests with the same " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " are considered as pointing to the same URL." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 102, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L102" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1820, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URL of the web page to crawl." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1830, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom user data assigned to the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L126" + } + ], + "type": { + "type": "reference", + "target": 1817, + "name": "UserData", + "package": "@crawlee/core", + "qualifiedName": "Request.UserData", + "refersToTypeParameter": true + }, + "defaultValue": "..." + }, + { + "id": 1840, + "name": "label", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 287, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L287" + }, + { + "fileName": "packages/core/src/request.ts", + "line": 292, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L292" + } + ], + "getSignature": { + "id": 1841, + "name": "label", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "shortcut for getting " + }, + { + "kind": "code", + "text": "`request.userData.label`" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 287, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L287" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + "setSignature": { + "id": 1842, + "name": "label", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "shortcut for setting " + }, + { + "kind": "code", + "text": "`request.userData.label`" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 292, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L292" + } + ], + "parameters": [ + { + "id": 1843, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 1844, + "name": "maxRetries", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 297, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L297" + }, + { + "fileName": "packages/core/src/request.ts", + "line": 302, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L302" + } + ], + "getSignature": { + "id": 1845, + "name": "maxRetries", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of retries for this request. Allows to override the global " + }, + { + "kind": "code", + "text": "`maxRequestRetries`" + }, + { + "kind": "text", + "text": " option of " + }, + { + "kind": "code", + "text": "`BasicCrawler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 297, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L297" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + "setSignature": { + "id": 1846, + "name": "maxRetries", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of retries for this request. Allows to override the global " + }, + { + "kind": "code", + "text": "`maxRequestRetries`" + }, + { + "kind": "text", + "text": " option of " + }, + { + "kind": "code", + "text": "`BasicCrawler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 302, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L302" + } + ], + "parameters": [ + { + "id": 1847, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 1836, + "name": "sessionRotationCount", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 273, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L273" + }, + { + "fileName": "packages/core/src/request.ts", + "line": 278, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L278" + } + ], + "getSignature": { + "id": 1837, + "name": "sessionRotationCount", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates the number of times the crawling of the request has rotated the session due to a session or a proxy error." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 273, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L273" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + "setSignature": { + "id": 1838, + "name": "sessionRotationCount", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates the number of times the crawling of the request has rotated the session due to a session or a proxy error." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 278, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L278" + } + ], + "parameters": [ + { + "id": 1839, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 1832, + "name": "skipNavigation", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 259, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L259" + }, + { + "fileName": "packages/core/src/request.ts", + "line": 264, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L264" + } + ], + "getSignature": { + "id": 1833, + "name": "skipNavigation", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Tells the crawler processing this request to skip the navigation and process the request directly." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 259, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L259" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + "setSignature": { + "id": 1834, + "name": "skipNavigation", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Tells the crawler processing this request to skip the navigation and process the request directly." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 264, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L264" + } + ], + "parameters": [ + { + "id": 1835, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 1848, + "name": "state", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 311, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L311" + }, + { + "fileName": "packages/core/src/request.ts", + "line": 316, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L316" + } + ], + "getSignature": { + "id": 1849, + "name": "state", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Describes the request's current lifecycle state." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 311, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L311" + } + ], + "type": { + "type": "reference", + "target": 1799, + "name": "RequestState", + "package": "@crawlee/core" + } + }, + "setSignature": { + "id": 1850, + "name": "state", + "variant": "signature", + "kind": 1048576, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Describes the request's current lifecycle state." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 316, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L316" + } + ], + "parameters": [ + { + "id": 1851, + "name": "value", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1799, + "name": "RequestState", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + }, + { + "id": 1856, + "name": "pushErrorMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 349, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L349" + } + ], + "signatures": [ + { + "id": 1857, + "name": "pushErrorMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Stores information about an error that occurred during processing of this request.\n\nYou should always use Error instances when throwing errors in JavaScript.\n\nNevertheless, to improve the debugging experience when using third party libraries\nthat may not always throw an Error instance, the function performs a type\ninspection of the passed argument and attempts to extract as much information\nas possible, since just throwing a bad type error makes any debugging rather difficult." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 349, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L349" + } + ], + "parameters": [ + { + "id": 1858, + "name": "errorOrMessage", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Error object or error message to be stored in the request." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 1859, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1885, + "name": "PushErrorMessageOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 1815 + ] + }, + { + "title": "Properties", + "children": [ + 1827, + 1831, + 1828, + 1819, + 1821, + 1823, + 1825, + 1824, + 1826, + 1822, + 1820, + 1830 + ] + }, + { + "title": "Accessors", + "children": [ + 1840, + 1844, + 1836, + 1832, + 1848 + ] + }, + { + "title": "Methods", + "children": [ + 1856 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "typeParameters": [ + { + "id": 1866, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 657, + "name": "RequestHandlerResult", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A partial implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RestrictedCrawlingContext" + }, + { + "kind": "text", + "text": " that stores parameters of calls to context methods for later inspection." + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "children": [ + { + "id": 658, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 162, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L162" + } + ], + "signatures": [ + { + "id": 659, + "name": "new RequestHandlerResult", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 162, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L162" + } + ], + "parameters": [ + { + "id": 660, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + }, + { + "id": 661, + "name": "crawleeStateKey", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 657, + "name": "RequestHandlerResult", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 712, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L237" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 713, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 714, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 715, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 716, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 718, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 717, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 718, + 717 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 719, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 708, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 233, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L233" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 709, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 56, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L56" + } + ], + "signatures": [ + { + "id": 710, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 56, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L56" + } + ], + "parameters": [ + { + "id": 711, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 725, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L246" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 726, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 77, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L77" + } + ], + "signatures": [ + { + "id": 727, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 77, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L77" + } + ], + "parameters": [ + { + "id": 728, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "id" + }, + { + "type": "literal", + "value": "name" + }, + { + "type": "literal", + "value": "getValue" + }, + { + "type": "literal", + "value": "getAutoSavedValue" + }, + { + "type": "literal", + "value": "setValue" + } + ] + } + ], + "name": "Pick", + "package": "typescript" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 703, + "name": "pushData", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 229, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L229" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 704, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 705, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 706, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 707, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 720, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 241, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L241" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 721, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 722, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 723, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 724, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "defaultValue": "..." + }, + { + "id": 674, + "name": "calls", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 167, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L167" + } + ], + "getSignature": { + "id": 675, + "name": "calls", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A record of calls to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RestrictedCrawlingContext.pushData" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RestrictedCrawlingContext.addRequests" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RestrictedCrawlingContext.enqueueLinks" + }, + { + "kind": "text", + "text": " made by a request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 167, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L167" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 676, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 678, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 169, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L169" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "requestsLike", + "isOptional": false, + "element": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 679, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 681, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 680, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 681, + 680 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": true, + "element": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ] + } + } + }, + { + "id": 682, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 170, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L170" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": true, + "element": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ] + } + } + }, + { + "id": 677, + "name": "pushData", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 168, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L168" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "data", + "isOptional": false, + "element": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "type": "namedTupleMember", + "name": "datasetIdOrName", + "isOptional": true, + "element": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 678, + 682, + 677 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 167, + "character": 30, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L167" + } + ] + } + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + }, + { + "id": 688, + "name": "datasetItems", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 185, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L185" + } + ], + "getSignature": { + "id": 689, + "name": "datasetItems", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Items added to datasets by a request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 185, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L185" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 690, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 692, + "name": "datasetIdOrName", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 185, + "character": 57, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L185" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 691, + "name": "item", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 185, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L185" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 692, + 691 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 185, + "character": 37, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L185" + } + ] + } + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + } + } + }, + { + "id": 698, + "name": "enqueuedUrlLists", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 215, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L215" + } + ], + "getSignature": { + "id": 699, + "name": "enqueuedUrlLists", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URL lists enqueued to the request queue by a request handler via " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RestrictedCrawlingContext.addRequests" + }, + { + "kind": "text", + "text": " using the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 215, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L215" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 700, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 702, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 215, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L215" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 701, + "name": "listUrl", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 215, + "character": 43, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L215" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 702, + 701 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 215, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L215" + } + ] + } + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + } + } + }, + { + "id": 693, + "name": "enqueuedUrls", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 192, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L192" + } + ], + "getSignature": { + "id": 694, + "name": "enqueuedUrls", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URLs enqueued to the request queue by a request handler, either via " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RestrictedCrawlingContext.addRequests" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RestrictedCrawlingContext.enqueueLinks" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 192, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L192" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 695, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 697, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 192, + "character": 52, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L192" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 696, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 192, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L192" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 697, + 696 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 192, + "character": 37, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L192" + } + ] + } + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + } + } + }, + { + "id": 683, + "name": "keyValueStoreChanges", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 178, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L178" + } + ], + "getSignature": { + "id": 684, + "name": "keyValueStoreChanges", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A record of changes made to key-value stores by a request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 178, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L178" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 685, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 686, + "name": "changedValue", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 178, + "character": 77, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L178" + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 687, + "name": "options", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 178, + "character": 100, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L178" + } + ], + "type": { + "type": "reference", + "target": 2772, + "name": "RecordOptions", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 686, + 687 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 178, + "character": 75, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L178" + } + ] + } + } + ], + "name": "Record", + "package": "typescript" + } + ], + "name": "Record", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 658 + ] + }, + { + "title": "Properties", + "children": [ + 712, + 708, + 725, + 703, + 720 + ] + }, + { + "title": "Accessors", + "children": [ + 674, + 688, + 698, + 693, + 683 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ] + }, + { + "id": 2787, + "name": "RequestList", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents a static list of URLs to crawl.\nThe URLs can be provided either in code or parsed from a text file hosted on the web.\n" + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " is used by " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " as a source of URLs to crawl.\n\nEach URL is represented using an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " class.\nThe list can only contain unique URLs. More precisely, it can only contain " + }, + { + "kind": "code", + "text": "`Request`" + }, + { + "kind": "text", + "text": " instances\nwith distinct " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " properties. By default, " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is generated from the URL, but it can also be overridden.\nTo add a single URL to the list multiple times, corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects will need to have different\n" + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " properties. You can use the " + }, + { + "kind": "code", + "text": "`keepDuplicateUrls`" + }, + { + "kind": "text", + "text": " option to do this for you when initializing the\n" + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " from sources.\n\n" + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " doesn't have a public constructor, you need to create it with the asynchronous " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList.open" + }, + { + "kind": "text", + "text": " function. After\nthe request list is created, no more URLs can be added to it.\nUnlike " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " is static but it can contain even millions of URLs.\n> Note that " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " can be used together with " + }, + { + "kind": "code", + "text": "`RequestQueue`" + }, + { + "kind": "text", + "text": " by the same crawler.\n> In such cases, each request from " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " is enqueued into " + }, + { + "kind": "code", + "text": "`RequestQueue`" + }, + { + "kind": "text", + "text": " first and then consumed from the latter.\n> This is necessary to avoid the same URL being processed more than once (from the list first and then possibly from the queue).\n> In practical terms, such a combination can be useful when there is a large number of initial URLs,\n> but more URLs would be added dynamically by the crawler.\n\n" + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " has an internal state where it stores information about which requests were already handled,\nwhich are in progress and which were reclaimed. The state may be automatically persisted to the default\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": " by setting the " + }, + { + "kind": "code", + "text": "`persistStateKey`" + }, + { + "kind": "text", + "text": " option so that if the Node.js process is restarted,\nthe crawling can continue where it left off. The automated persisting is launched upon receiving the " + }, + { + "kind": "code", + "text": "`persistState`" + }, + { + "kind": "text", + "text": "\nevent that is periodically emitted by " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "EventManager" + }, + { + "kind": "text", + "text": ".\n\nThe internal state is closely tied to the provided sources (URLs). If the sources change on crawler restart, the state will become corrupted and\n" + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " will raise an exception. This typically happens when the sources is a list of URLs downloaded from the web.\nIn such case, use the " + }, + { + "kind": "code", + "text": "`persistRequestsKey`" + }, + { + "kind": "text", + "text": " option in conjunction with " + }, + { + "kind": "code", + "text": "`persistStateKey`" + }, + { + "kind": "text", + "text": ",\nto make the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " store the initial sources to the default key-value store and load them after restart,\nwhich will prevent any issues that a live list of URLs might cause.\n\n**Basic usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nconst requestList = await RequestList.open('my-request-list', [\n 'http://www.example.com/page-1',\n { url: 'http://www.example.com/page-2', method: 'POST', userData: { foo: 'bar' }},\n { requestsFromUrl: 'http://www.example.com/my-url-list.txt', userData: { isFromUrl: true } },\n]);\n```" + }, + { + "kind": "text", + "text": "\n\n**Advanced usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nconst requestList = await RequestList.open(null, [\n // Separate requests\n { url: 'http://www.example.com/page-1', method: 'GET', headers: { ... } },\n { url: 'http://www.example.com/page-2', userData: { foo: 'bar' }},\n\n // Bulk load of URLs from file `http://www.example.com/my-url-list.txt`\n // Note that all URLs must start with http:// or https://\n { requestsFromUrl: 'http://www.example.com/my-url-list.txt', userData: { isFromUrl: true } },\n], {\n // Persist the state to avoid re-crawling which can lead to data duplications.\n // Keep in mind that the sources have to be immutable or this will throw an error.\n persistStateKey: 'my-state',\n});\n```" + } + ] + }, + "children": [ + { + "id": 2837, + "name": "fetchNextRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 587, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L587" + } + ], + "signatures": [ + { + "id": 2838, + "name": "fetchNextRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets the next " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " to process. First, the function gets a request previously reclaimed\nusing the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList.reclaimRequest" + }, + { + "kind": "text", + "text": " function, if there is any.\nOtherwise it gets the next request from sources.\n\nThe function's " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " resolves to " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if there are no more\nrequests to process." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 587, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L587" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2831, + "name": "getState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 547, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L547" + } + ], + "signatures": [ + { + "id": 2832, + "name": "getState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an object representing the internal state of the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " instance.\nNote that the object's fields can change in future releases." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 547, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L547" + } + ], + "type": { + "type": "reference", + "target": 2882, + "name": "RequestListState", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 2873, + "name": "handledCount", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 782, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L782" + } + ], + "signatures": [ + { + "id": 2874, + "name": "handledCount", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns number of handled requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 782, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L782" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ] + }, + { + "id": 2833, + "name": "isEmpty", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 564, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L564" + } + ], + "signatures": [ + { + "id": 2834, + "name": "isEmpty", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList.fetchNextRequest" + }, + { + "kind": "text", + "text": " function\nwould return " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ", otherwise it resolves to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ".\nNote that even if the list is empty, there might be some pending requests currently being processed." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 564, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L564" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2835, + "name": "isFinished", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 573, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L573" + } + ], + "signatures": [ + { + "id": 2836, + "name": "isFinished", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if all requests were already handled and there are no more left." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 573, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L573" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2871, + "name": "length", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 773, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L773" + } + ], + "signatures": [ + { + "id": 2872, + "name": "length", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the total number of unique requests present in the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 773, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L773" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ] + }, + { + "id": 2843, + "name": "markRequestHandled", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 623, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L623" + } + ], + "signatures": [ + { + "id": 2844, + "name": "markRequestHandled", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Marks request as handled after successful processing." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 623, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L623" + } + ], + "parameters": [ + { + "id": 2845, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2822, + "name": "persistState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 434, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L434" + } + ], + "signatures": [ + { + "id": 2823, + "name": "persistState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Persists the current state of the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " into the default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": ".\nThe state is persisted automatically in regular intervals, but calling this method manually\nis useful in cases where you want to have the most current state available after you pause\nor stop fetching its requests. For example after you pause or abort a crawl. Or just before\na server migration." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 434, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L434" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2846, + "name": "reclaimRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 638, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L638" + } + ], + "signatures": [ + { + "id": 2847, + "name": "reclaimRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Reclaims request to the list if its processing failed.\nThe request will become available in the next " + }, + { + "kind": "code", + "text": "`this.fetchNextRequest()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 638, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L638" + } + ], + "parameters": [ + { + "id": 2848, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2788, + "name": "open", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 841, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L841" + } + ], + "signatures": [ + { + "id": 2789, + "name": "open", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens a request list and returns a promise resolving to an instance\nof the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that is already initialized.\n\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " represents a list of URLs to crawl, which is always stored in memory.\nTo enable picking up where left off after a process restart, the request list sources\nare persisted to the key-value store at initialization of the list. Then, while crawling,\na small state object is regularly persisted to keep track of the crawling status.\n\nFor more details and code examples, see the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst sources = [\n 'https://www.example.com',\n 'https://www.google.com',\n 'https://www.bing.com'\n];\n\nconst requestList = await RequestList.open('my-name', sources);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 841, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L841" + } + ], + "parameters": [ + { + "id": 2790, + "name": "listNameOrOptions", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Name of the request list to be opened, or the options object. Setting a name enables the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": "'s\n state to be persisted in the key-value store. This is useful in case of a restart or migration. Since " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": "\n is only stored in memory, a restart or migration wipes it clean. Setting a name will enable the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": "'s\n state to survive those situations and continue where it left off.\n\n The name will be used as a prefix in key-value store, producing keys such as " + }, + { + "kind": "code", + "text": "`NAME-REQUEST_LIST_STATE`" + }, + { + "kind": "text", + "text": "\n and " + }, + { + "kind": "code", + "text": "`NAME-REQUEST_LIST_SOURCES`" + }, + { + "kind": "text", + "text": ".\n\n If " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ", the list will not be persisted and will only be stored in memory. Process restart\n will then cause the list to be crawled again from the beginning. We suggest always using a name." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 2778, + "name": "RequestListOptions", + "package": "@crawlee/core" + } + ] + } + }, + { + "id": 2791, + "name": "sources", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of sources of URLs for the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": ". It can be either an array of strings,\n plain objects that define at least the " + }, + { + "kind": "code", + "text": "`url`" + }, + { + "kind": "text", + "text": " property, or an array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " instances.\n\n **IMPORTANT:** The " + }, + { + "kind": "code", + "text": "`sources`" + }, + { + "kind": "text", + "text": " array will be consumed (left empty) after " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " initializes.\n This is a measure to prevent memory leaks in situations when millions of sources are\n added.\n\n Additionally, the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " property may be used instead of " + }, + { + "kind": "code", + "text": "`url`" + }, + { + "kind": "text", + "text": ",\n which will instruct " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " to download the source URLs from a given remote location.\n The URLs will be parsed from the received response. In this case you can limit the URLs\n using " + }, + { + "kind": "code", + "text": "`regex`" + }, + { + "kind": "text", + "text": " parameter containing regular expression pattern for URLs to be included.\n\n For details, see the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestListOptions.sources" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSource" + }, + "name": "RequestListSource", + "package": "@crawlee/core" + } + } + }, + { + "id": 2792, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " options. Note that the " + }, + { + "kind": "code", + "text": "`listName`" + }, + { + "kind": "text", + "text": " parameter supersedes\n the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestListOptions.persistStateKey" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestListOptions.persistRequestsKey" + }, + { + "kind": "text", + "text": "\n options and the " + }, + { + "kind": "code", + "text": "`sources`" + }, + { + "kind": "text", + "text": " parameter supersedes the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestListOptions.sources" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "type": { + "type": "reference", + "target": 2778, + "name": "RequestListOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 2837, + 2831, + 2873, + 2833, + 2835, + 2871, + 2843, + 2822, + 2846, + 2788 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ] + }, + { + "id": 2889, + "name": "RequestProvider", + "variant": "declaration", + "kind": 128, + "flags": { + "isAbstract": true + }, + "children": [ + { + "id": 2894, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 57, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L57" + } + ], + "signatures": [ + { + "id": 2895, + "name": "new RequestProvider", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 57, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L57" + } + ], + "parameters": [ + { + "id": 2896, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "InternalRequestProviderOptions" + }, + "name": "InternalRequestProviderOptions", + "package": "@crawlee/core" + } + }, + { + "id": 2897, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 2908, + "name": "assumedHandledCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 45, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 2907, + "name": "assumedTotalCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 44, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L44" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0" + }, + { + "id": 2902, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 35, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L35" + } + ], + "type": { + "type": "reference", + "target": 13702, + "name": "RequestQueueClient", + "package": "@crawlee/types" + } + }, + { + "id": 2901, + "name": "clientKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 34, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L34" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "..." + }, + { + "id": 2915, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 57, + "character": 66, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L57" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + }, + { + "id": 2898, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 31, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L31" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "target": 3020, + "name": "IStorage.id" + } + }, + { + "id": 2905, + "name": "internalTimeoutMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 39, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L39" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 2904, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 38, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L38" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + } + }, + { + "id": 2899, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L32" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "implementationOf": { + "type": "reference", + "target": 3021, + "name": "IStorage.name" + } + }, + { + "id": 2906, + "name": "requestLockSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 2900, + "name": "timeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L33" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "30" + }, + { + "id": 2920, + "name": "addRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 108, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L108" + } + ], + "signatures": [ + { + "id": 2921, + "name": "addRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a request to the queue.\n\nIf a request with the same " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property is already present in the queue,\nit will not be updated. You can find out whether this happened from the resulting\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "QueueOperationInfo" + }, + { + "kind": "text", + "text": " object.\n\nTo add multiple requests to the queue by extracting links from a webpage,\nsee the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": " helper function." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 108, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L108" + } + ], + "parameters": [ + { + "id": 2922, + "name": "requestLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object or vanilla object with request data.\nNote that the function sets the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " fields to the passed Request." + } + ] + }, + "type": { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + }, + { + "id": 2923, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request queue operation options." + } + ] + }, + "type": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2924, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 176, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L176" + } + ], + "signatures": [ + { + "id": 2925, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches of 25.\n\nIf a request that is passed in is already present due to its " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property being the same,\nit will not be updated. You can find out whether this happened by finding the request in the resulting\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 176, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L176" + } + ], + "parameters": [ + { + "id": 2926, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects or vanilla objects with request data.\nNote that the function sets the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " fields to the passed requests if missing." + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + } + }, + { + "id": 2927, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request queue operation options." + } + ] + }, + "type": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2928, + "name": "addRequestsBatched", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 284, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L284" + } + ], + "signatures": [ + { + "id": 2929, + "name": "addRequestsBatched", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 284, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L284" + } + ], + "parameters": [ + { + "id": 2930, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 2931, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 3010, + "name": "AddRequestsBatchedOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3016, + "name": "AddRequestsBatchedResult", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2963, + "name": "drop", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 563, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L563" + } + ], + "signatures": [ + { + "id": 2964, + "name": "drop", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the queue either from the Apify Cloud storage or from the local database,\ndepending on the mode of operation." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 563, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L563" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2936, + "name": "fetchNextRequest", + "variant": "declaration", + "kind": 2048, + "flags": { + "isAbstract": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 425, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L425" + } + ], + "signatures": [ + { + "id": 2937, + "name": "fetchNextRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a next request in the queue to be processed, or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if there are no more pending requests.\n\nOnce you successfully finish processing of the request, you need to call\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.markRequestHandled" + }, + { + "kind": "text", + "text": "\nto mark the request as handled in the queue. If there was some error in processing the request,\ncall " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.reclaimRequest" + }, + { + "kind": "text", + "text": " instead,\nso that the queue will give the request to some other consumer in another call to the " + }, + { + "kind": "code", + "text": "`fetchNextRequest`" + }, + { + "kind": "text", + "text": " function.\n\nNote that the " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " return value doesn't mean the queue processing finished,\nit means there are currently no pending requests.\nTo check whether all requests in queue were finished,\nuse " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.isFinished" + }, + { + "kind": "text", + "text": " instead." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Returns the request object or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if there are no more pending requests." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 425, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L425" + } + ], + "typeParameter": [ + { + "id": 2938, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 2939, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 2938, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2967, + "name": "getInfo", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 610, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L610" + } + ], + "signatures": [ + { + "id": 2968, + "name": "getInfo", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an object containing general information about the request queue.\n\nThe function returns the same object as the Apify API Client's\n[getQueue](https://docs.apify.com/api/apify-client-js/latest#ApifyClient-requestQueues)\nfunction, which in turn calls the\n[Get request queue](https://apify.com/docs/api/v2#/reference/request-queues/queue/get-request-queue)\nAPI endpoint.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```\n{\n id: \"WkzbQMuFYuamGv3YF\",\n name: \"my-queue\",\n userId: \"wRsJZtadYvn4mBZmm\",\n createdAt: new Date(\"2015-12-12T07:34:14.202Z\"),\n modifiedAt: new Date(\"2015-12-13T08:36:13.202Z\"),\n accessedAt: new Date(\"2015-12-14T08:36:13.202Z\"),\n totalRequestCount: 25,\n handledRequestCount: 5,\n pendingRequestCount: 20,\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 610, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L610" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13621, + "name": "RequestQueueInfo", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2932, + "name": "getRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 397, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L397" + } + ], + "signatures": [ + { + "id": 2933, + "name": "getRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets the request from the queue specified by ID." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Returns the request object, or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if it was not found." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 397, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L397" + } + ], + "typeParameter": [ + { + "id": 2934, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 2935, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ID of the request." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 2405, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2918, + "name": "getTotalCount", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L90" + } + ], + "signatures": [ + { + "id": 2919, + "name": "getTotalCount", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an offline approximation of the total number of requests in the queue (i.e. pending + handled).\n\nSurvives restarts and actor migrations." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L90" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ] + }, + { + "id": 2965, + "name": "handledCount", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 580, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L580" + } + ], + "signatures": [ + { + "id": 2966, + "name": "handledCount", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the number of handled requests.\n\nThis function is just a convenient shortcut for:\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst { handledRequestCount } = await queue.getInfo();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 580, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L580" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "number" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2949, + "name": "isEmpty", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 505, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L505" + } + ], + "signatures": [ + { + "id": 2950, + "name": "isEmpty", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": "\nwould return " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ", otherwise it resolves to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ".\nNote that even if the queue is empty, there might be some pending requests currently being processed.\nIf you need to ensure that there is no activity in the queue, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.isFinished" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 505, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L505" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2951, + "name": "isFinished", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 516, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L516" + } + ], + "signatures": [ + { + "id": 2952, + "name": "isFinished", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if all requests were already handled and there are no more left.\nDue to the nature of distributed storage used by the queue,\nthe function might occasionally return a false negative,\nbut it will never return a false positive." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 516, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L516" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2940, + "name": "markRequestHandled", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 433, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L433" + } + ], + "signatures": [ + { + "id": 2941, + "name": "markRequestHandled", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Marks a request that was previously returned by the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": "\nfunction as handled after successful processing.\nHandled requests will never again be returned by the " + }, + { + "kind": "code", + "text": "`fetchNextRequest`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 433, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L433" + } + ], + "parameters": [ + { + "id": 2942, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2943, + "name": "reclaimRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 470, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L470" + } + ], + "signatures": [ + { + "id": 2944, + "name": "reclaimRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Reclaims a failed request back to the queue, so that it can be returned for processing later again\nby another call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nThe request record in the queue is updated using the provided " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " parameter.\nFor example, this lets you store the number of retries or error messages for the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 470, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L470" + } + ], + "parameters": [ + { + "id": 2945, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + }, + { + "id": 2946, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2890, + "name": "open", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 681, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L681" + } + ], + "signatures": [ + { + "id": 2891, + "name": "open", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens a request queue and returns a promise resolving to an instance\nof the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class.\n\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " represents a queue of URLs to crawl, which is stored either on local filesystem or in the cloud.\nThe queue is used for deep crawling of websites, where you start with several URLs and then\nrecursively follow links to other pages. The data structure supports both breadth-first\nand depth-first crawling orders.\n\nFor more details and code examples, see the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 681, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L681" + } + ], + "parameters": [ + { + "id": 2892, + "name": "queueIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ID or name of the request queue to be opened. If " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ",\n the function returns the default request queue associated with the crawler run." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 2893, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Open Request Queue options." + } + ] + }, + "type": { + "type": "reference", + "target": 3092, + "name": "StorageManagerOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 2894 + ] + }, + { + "title": "Properties", + "children": [ + 2908, + 2907, + 2902, + 2901, + 2915, + 2898, + 2905, + 2904, + 2899, + 2906, + 2900 + ] + }, + { + "title": "Methods", + "children": [ + 2920, + 2924, + 2928, + 2963, + 2936, + 2967, + 2932, + 2918, + 2965, + 2949, + 2951, + 2940, + 2943, + 2890 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 2337, + "name": "RequestQueueV1" + }, + { + "type": "reference", + "target": 2431, + "name": "RequestQueue" + } + ], + "implementedTypes": [ + { + "type": "reference", + "target": 3019, + "name": "IStorage", + "package": "@crawlee/core" + } + ] + }, + { + "id": 2431, + "name": "RequestQueue", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents a queue of URLs to crawl, which is used for deep crawling of websites\nwhere you start with several URLs and then recursively\nfollow links to other pages. The data structure supports both breadth-first and depth-first crawling orders.\n\nEach URL is represented using an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " class.\nThe queue can only contain unique URLs. More precisely, it can only contain " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " instances\nwith distinct " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " properties. By default, " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is generated from the URL, but it can also be overridden.\nTo add a single URL multiple times to the queue,\ncorresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects will need to have different " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " properties.\n\nDo not instantiate this class directly, use the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.open" + }, + { + "kind": "text", + "text": " function instead.\n\n" + }, + { + "kind": "code", + "text": "`RequestQueue`" + }, + { + "kind": "text", + "text": " is used by " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " as a source of URLs to crawl.\nUnlike " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`RequestQueue`" + }, + { + "kind": "text", + "text": " supports dynamic adding and removing of requests.\nOn the other hand, the queue is not optimized for operations that add or remove a large number of URLs in a batch.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\n// Open the default request queue associated with the crawler run\nconst queue = await RequestQueue.open();\n\n// Open a named request queue\nconst queueWithName = await RequestQueue.open('some-name');\n\n// Enqueue few requests\nawait queue.addRequest({ url: 'http://example.com/aaa' });\nawait queue.addRequest({ url: 'http://example.com/bbb' });\nawait queue.addRequest({ url: 'http://example.com/foo/bar' }, { forefront: true });\n```" + } + ] + }, + "children": [ + { + "id": 2435, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 61, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L61" + } + ], + "signatures": [ + { + "id": 2436, + "name": "new RequestQueue", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 61, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L61" + } + ], + "parameters": [ + { + "id": 2437, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2984, + "name": "RequestProviderOptions", + "package": "@crawlee/core" + } + }, + { + "id": 2438, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 2431, + "name": "RequestQueue", + "package": "@crawlee/core" + }, + "overwrites": { + "type": "reference", + "target": 2895, + "name": "RequestProvider.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2894, + "name": "RequestProvider.constructor" + } + }, + { + "id": 2477, + "name": "assumedHandledCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 45, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "target": 2908, + "name": "RequestProvider.assumedHandledCount" + } + }, + { + "id": 2476, + "name": "assumedTotalCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 44, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L44" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "target": 2907, + "name": "RequestProvider.assumedTotalCount" + } + }, + { + "id": 2471, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 35, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L35" + } + ], + "type": { + "type": "reference", + "target": 13702, + "name": "RequestQueueClient", + "package": "@crawlee/types" + }, + "inheritedFrom": { + "type": "reference", + "target": 2902, + "name": "RequestProvider.client" + } + }, + { + "id": 2470, + "name": "clientKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 34, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L34" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 2901, + "name": "RequestProvider.clientKey" + } + }, + { + "id": 2483, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 57, + "character": 66, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L57" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 2915, + "name": "RequestProvider.config" + } + }, + { + "id": 2467, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 31, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L31" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 2898, + "name": "RequestProvider.id" + } + }, + { + "id": 2474, + "name": "internalTimeoutMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 39, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L39" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 2905, + "name": "RequestProvider.internalTimeoutMillis" + } + }, + { + "id": 2473, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 38, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L38" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": 2904, + "name": "RequestProvider.log" + } + }, + { + "id": 2468, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L32" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 2899, + "name": "RequestProvider.name" + } + }, + { + "id": 2475, + "name": "requestLockSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 2906, + "name": "RequestProvider.requestLockSecs" + } + }, + { + "id": 2469, + "name": "timeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L33" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "30", + "inheritedFrom": { + "type": "reference", + "target": 2900, + "name": "RequestProvider.timeoutSecs" + } + }, + { + "id": 2488, + "name": "addRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 108, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L108" + } + ], + "signatures": [ + { + "id": 2489, + "name": "addRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a request to the queue.\n\nIf a request with the same " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property is already present in the queue,\nit will not be updated. You can find out whether this happened from the resulting\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "QueueOperationInfo" + }, + { + "kind": "text", + "text": " object.\n\nTo add multiple requests to the queue by extracting links from a webpage,\nsee the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": " helper function." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 108, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L108" + } + ], + "parameters": [ + { + "id": 2490, + "name": "requestLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object or vanilla object with request data.\nNote that the function sets the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " fields to the passed Request." + } + ] + }, + "type": { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + }, + { + "id": 2491, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request queue operation options." + } + ] + }, + "type": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2921, + "name": "RequestProvider.addRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2920, + "name": "RequestProvider.addRequest" + } + }, + { + "id": 2492, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 176, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L176" + } + ], + "signatures": [ + { + "id": 2493, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches of 25.\n\nIf a request that is passed in is already present due to its " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property being the same,\nit will not be updated. You can find out whether this happened by finding the request in the resulting\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 176, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L176" + } + ], + "parameters": [ + { + "id": 2494, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects or vanilla objects with request data.\nNote that the function sets the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " fields to the passed requests if missing." + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + } + }, + { + "id": 2495, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request queue operation options." + } + ] + }, + "type": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2925, + "name": "RequestProvider.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2924, + "name": "RequestProvider.addRequests" + } + }, + { + "id": 2496, + "name": "addRequestsBatched", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 284, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L284" + } + ], + "signatures": [ + { + "id": 2497, + "name": "addRequestsBatched", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 284, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L284" + } + ], + "parameters": [ + { + "id": 2498, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 2499, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 3010, + "name": "AddRequestsBatchedOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3016, + "name": "AddRequestsBatchedResult", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2929, + "name": "RequestProvider.addRequestsBatched" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2928, + "name": "RequestProvider.addRequestsBatched" + } + }, + { + "id": 2511, + "name": "drop", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 563, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L563" + } + ], + "signatures": [ + { + "id": 2512, + "name": "drop", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the queue either from the Apify Cloud storage or from the local database,\ndepending on the mode of operation." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 563, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L563" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2964, + "name": "RequestProvider.drop" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2963, + "name": "RequestProvider.drop" + } + }, + { + "id": 2444, + "name": "fetchNextRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 102, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L102" + } + ], + "signatures": [ + { + "id": 2445, + "name": "fetchNextRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a next request in the queue to be processed, or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if there are no more pending requests.\n\nOnce you successfully finish processing of the request, you need to call\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.markRequestHandled" + }, + { + "kind": "text", + "text": "\nto mark the request as handled in the queue. If there was some error in processing the request,\ncall " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.reclaimRequest" + }, + { + "kind": "text", + "text": " instead,\nso that the queue will give the request to some other consumer in another call to the " + }, + { + "kind": "code", + "text": "`fetchNextRequest`" + }, + { + "kind": "text", + "text": " function.\n\nNote that the " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " return value doesn't mean the queue processing finished,\nit means there are currently no pending requests.\nTo check whether all requests in queue were finished,\nuse " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.isFinished" + }, + { + "kind": "text", + "text": " instead." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Returns the request object or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if there are no more pending requests." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 102, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L102" + } + ], + "typeParameter": [ + { + "id": 2446, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 2446, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2937, + "name": "RequestProvider.fetchNextRequest" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2936, + "name": "RequestProvider.fetchNextRequest" + } + }, + { + "id": 2515, + "name": "getInfo", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 610, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L610" + } + ], + "signatures": [ + { + "id": 2516, + "name": "getInfo", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an object containing general information about the request queue.\n\nThe function returns the same object as the Apify API Client's\n[getQueue](https://docs.apify.com/api/apify-client-js/latest#ApifyClient-requestQueues)\nfunction, which in turn calls the\n[Get request queue](https://apify.com/docs/api/v2#/reference/request-queues/queue/get-request-queue)\nAPI endpoint.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```\n{\n id: \"WkzbQMuFYuamGv3YF\",\n name: \"my-queue\",\n userId: \"wRsJZtadYvn4mBZmm\",\n createdAt: new Date(\"2015-12-12T07:34:14.202Z\"),\n modifiedAt: new Date(\"2015-12-13T08:36:13.202Z\"),\n accessedAt: new Date(\"2015-12-14T08:36:13.202Z\"),\n totalRequestCount: 25,\n handledRequestCount: 5,\n pendingRequestCount: 20,\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 610, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L610" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13621, + "name": "RequestQueueInfo", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2968, + "name": "RequestProvider.getInfo" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2967, + "name": "RequestProvider.getInfo" + } + }, + { + "id": 2500, + "name": "getRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 397, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L397" + } + ], + "signatures": [ + { + "id": 2501, + "name": "getRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets the request from the queue specified by ID." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Returns the request object, or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if it was not found." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 397, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L397" + } + ], + "typeParameter": [ + { + "id": 2502, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 2503, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ID of the request." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 2405, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2933, + "name": "RequestProvider.getRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2932, + "name": "RequestProvider.getRequest" + } + }, + { + "id": 2486, + "name": "getTotalCount", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L90" + } + ], + "signatures": [ + { + "id": 2487, + "name": "getTotalCount", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an offline approximation of the total number of requests in the queue (i.e. pending + handled).\n\nSurvives restarts and actor migrations." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L90" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 2919, + "name": "RequestProvider.getTotalCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2918, + "name": "RequestProvider.getTotalCount" + } + }, + { + "id": 2513, + "name": "handledCount", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 580, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L580" + } + ], + "signatures": [ + { + "id": 2514, + "name": "handledCount", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the number of handled requests.\n\nThis function is just a convenient shortcut for:\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst { handledRequestCount } = await queue.getInfo();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 580, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L580" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "number" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2966, + "name": "RequestProvider.handledCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2965, + "name": "RequestProvider.handledCount" + } + }, + { + "id": 2507, + "name": "isEmpty", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 505, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L505" + } + ], + "signatures": [ + { + "id": 2508, + "name": "isEmpty", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": "\nwould return " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ", otherwise it resolves to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ".\nNote that even if the queue is empty, there might be some pending requests currently being processed.\nIf you need to ensure that there is no activity in the queue, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.isFinished" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 505, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L505" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2950, + "name": "RequestProvider.isEmpty" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2949, + "name": "RequestProvider.isEmpty" + } + }, + { + "id": 2509, + "name": "isFinished", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 516, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L516" + } + ], + "signatures": [ + { + "id": 2510, + "name": "isFinished", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if all requests were already handled and there are no more left.\nDue to the nature of distributed storage used by the queue,\nthe function might occasionally return a false negative,\nbut it will never return a false positive." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 516, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L516" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2952, + "name": "RequestProvider.isFinished" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2951, + "name": "RequestProvider.isFinished" + } + }, + { + "id": 2504, + "name": "markRequestHandled", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 433, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L433" + } + ], + "signatures": [ + { + "id": 2505, + "name": "markRequestHandled", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Marks a request that was previously returned by the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": "\nfunction as handled after successful processing.\nHandled requests will never again be returned by the " + }, + { + "kind": "code", + "text": "`fetchNextRequest`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 433, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L433" + } + ], + "parameters": [ + { + "id": 2506, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2941, + "name": "RequestProvider.markRequestHandled" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2940, + "name": "RequestProvider.markRequestHandled" + } + }, + { + "id": 2447, + "name": "reclaimRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 169, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L169" + } + ], + "signatures": [ + { + "id": 2448, + "name": "reclaimRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Reclaims a failed request back to the queue, so that it can be returned for processing later again\nby another call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nThe request record in the queue is updated using the provided " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " parameter.\nFor example, this lets you store the number of retries or error messages for the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 169, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L169" + } + ], + "parameters": [ + { + "id": 2449, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "request", + "isOptional": false, + "element": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2944, + "name": "RequestProvider.reclaimRequest" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2943, + "name": "RequestProvider.reclaimRequest" + } + }, + { + "id": 2432, + "name": "open", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 379, + "character": 26, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L379" + } + ], + "signatures": [ + { + "id": 2433, + "name": "open", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens a request queue and returns a promise resolving to an instance\nof the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class.\n\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " represents a queue of URLs to crawl, which is stored either on local filesystem or in the cloud.\nThe queue is used for deep crawling of websites, where you start with several URLs and then\nrecursively follow links to other pages. The data structure supports both breadth-first\nand depth-first crawling orders.\n\nFor more details and code examples, see the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 379, + "character": 26, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L379" + } + ], + "parameters": [ + { + "id": 2434, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ID or name of the request queue to be opened. If " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ",\n the function returns the default request queue associated with the crawler run." + } + ] + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "queueIdOrName", + "isOptional": true, + "element": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 3092, + "name": "StorageManagerOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2431, + "name": "RequestQueue", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2891, + "name": "RequestProvider.open" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2890, + "name": "RequestProvider.open" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 2435 + ] + }, + { + "title": "Properties", + "children": [ + 2477, + 2476, + 2471, + 2470, + 2483, + 2467, + 2474, + 2473, + 2468, + 2475, + 2469 + ] + }, + { + "title": "Methods", + "children": [ + 2488, + 2492, + 2496, + 2511, + 2444, + 2515, + 2500, + 2486, + 2513, + 2507, + 2509, + 2504, + 2447, + 2432 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue_v2.ts", + "line": 58, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue_v2.ts#L58" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ] + }, + { + "id": 2337, + "name": "RequestQueueV1", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents a queue of URLs to crawl, which is used for deep crawling of websites\nwhere you start with several URLs and then recursively\nfollow links to other pages. The data structure supports both breadth-first and depth-first crawling orders.\n\nEach URL is represented using an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " class.\nThe queue can only contain unique URLs. More precisely, it can only contain " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " instances\nwith distinct " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " properties. By default, " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is generated from the URL, but it can also be overridden.\nTo add a single URL multiple times to the queue,\ncorresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects will need to have different " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " properties.\n\nDo not instantiate this class directly, use the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.open" + }, + { + "kind": "text", + "text": " function instead.\n\n" + }, + { + "kind": "code", + "text": "`RequestQueue`" + }, + { + "kind": "text", + "text": " is used by " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " as a source of URLs to crawl.\nUnlike " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`RequestQueue`" + }, + { + "kind": "text", + "text": " supports dynamic adding and removing of requests.\nOn the other hand, the queue is not optimized for operations that add or remove a large number of URLs in a batch.\n\n" + }, + { + "kind": "code", + "text": "`RequestQueue`" + }, + { + "kind": "text", + "text": " stores its data either on local disk or in the Apify Cloud,\ndepending on whether the " + }, + { + "kind": "code", + "text": "`APIFY_LOCAL_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`APIFY_TOKEN`" + }, + { + "kind": "text", + "text": " environment variable is set.\n\nIf the " + }, + { + "kind": "code", + "text": "`APIFY_LOCAL_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " environment variable is set, the queue data is stored in\nthat directory in an SQLite database file.\n\nIf the " + }, + { + "kind": "code", + "text": "`APIFY_TOKEN`" + }, + { + "kind": "text", + "text": " environment variable is set but " + }, + { + "kind": "code", + "text": "`APIFY_LOCAL_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " is not, the data is stored in the\n[Apify Request Queue](https://docs.apify.com/storage/request-queue)\ncloud storage. Note that you can force usage of the cloud storage also by passing the " + }, + { + "kind": "code", + "text": "`forceCloud`" + }, + { + "kind": "text", + "text": "\noption to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.open" + }, + { + "kind": "text", + "text": " function,\neven if the " + }, + { + "kind": "code", + "text": "`APIFY_LOCAL_STORAGE_DIR`" + }, + { + "kind": "text", + "text": " variable is set.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\n// Open the default request queue associated with the crawler run\nconst queue = await RequestQueue.open();\n\n// Open a named request queue\nconst queueWithName = await RequestQueue.open('some-name');\n\n// Enqueue few requests\nawait queue.addRequest({ url: 'http://example.com/aaa' });\nawait queue.addRequest({ url: 'http://example.com/bbb' });\nawait queue.addRequest({ url: 'http://example.com/foo/bar' }, { forefront: true });\n```" + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "RequestQueue v1 is deprecated and will be removed in the future. Please use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "children": [ + { + "id": 2392, + "name": "assumedHandledCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 45, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "target": 2908, + "name": "RequestProvider.assumedHandledCount" + } + }, + { + "id": 2391, + "name": "assumedTotalCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 44, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L44" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "0", + "inheritedFrom": { + "type": "reference", + "target": 2907, + "name": "RequestProvider.assumedTotalCount" + } + }, + { + "id": 2386, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 35, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L35" + } + ], + "type": { + "type": "reference", + "target": 13702, + "name": "RequestQueueClient", + "package": "@crawlee/types" + }, + "inheritedFrom": { + "type": "reference", + "target": 2902, + "name": "RequestProvider.client" + } + }, + { + "id": 2385, + "name": "clientKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 34, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L34" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 2901, + "name": "RequestProvider.clientKey" + } + }, + { + "id": 2398, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 57, + "character": 66, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L57" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 2915, + "name": "RequestProvider.config" + } + }, + { + "id": 2382, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 31, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L31" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 2898, + "name": "RequestProvider.id" + } + }, + { + "id": 2389, + "name": "internalTimeoutMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 39, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L39" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 2905, + "name": "RequestProvider.internalTimeoutMillis" + } + }, + { + "id": 2388, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 38, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L38" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": 2904, + "name": "RequestProvider.log" + } + }, + { + "id": 2383, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L32" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 2899, + "name": "RequestProvider.name" + } + }, + { + "id": 2390, + "name": "requestLockSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 2906, + "name": "RequestProvider.requestLockSecs" + } + }, + { + "id": 2384, + "name": "timeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L33" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "30", + "inheritedFrom": { + "type": "reference", + "target": 2900, + "name": "RequestProvider.timeoutSecs" + } + }, + { + "id": 2365, + "name": "addRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 304, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L304" + } + ], + "signatures": [ + { + "id": 2366, + "name": "addRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a request to the queue.\n\nIf a request with the same " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property is already present in the queue,\nit will not be updated. You can find out whether this happened from the resulting\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "QueueOperationInfo" + }, + { + "kind": "text", + "text": " object.\n\nTo add multiple requests to the queue by extracting links from a webpage,\nsee the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": " helper function." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 304, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L304" + } + ], + "parameters": [ + { + "id": 2367, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "comment": { + "summary": [ + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object or vanilla object with request data.\nNote that the function sets the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " fields to the passed Request." + } + ] + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "requestLike", + "isOptional": false, + "element": { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2921, + "name": "RequestProvider.addRequest" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2920, + "name": "RequestProvider.addRequest" + } + }, + { + "id": 2368, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 311, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L311" + } + ], + "signatures": [ + { + "id": 2369, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches of 25.\n\nIf a request that is passed in is already present due to its " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property being the same,\nit will not be updated. You can find out whether this happened by finding the request in the resulting\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 311, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L311" + } + ], + "parameters": [ + { + "id": 2370, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "comment": { + "summary": [ + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects or vanilla objects with request data.\nNote that the function sets the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`id`" + }, + { + "kind": "text", + "text": " fields to the passed requests if missing." + } + ] + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "requestsLike", + "isOptional": false, + "element": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2925, + "name": "RequestProvider.addRequests" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2924, + "name": "RequestProvider.addRequests" + } + }, + { + "id": 2371, + "name": "addRequestsBatched", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 318, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L318" + } + ], + "signatures": [ + { + "id": 2372, + "name": "addRequestsBatched", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 318, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L318" + } + ], + "parameters": [ + { + "id": 2373, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "requests", + "isOptional": false, + "element": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 3010, + "name": "AddRequestsBatchedOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3016, + "name": "AddRequestsBatchedResult", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2929, + "name": "RequestProvider.addRequestsBatched" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2928, + "name": "RequestProvider.addRequestsBatched" + } + }, + { + "id": 2417, + "name": "drop", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 563, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L563" + } + ], + "signatures": [ + { + "id": 2418, + "name": "drop", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the queue either from the Apify Cloud storage or from the local database,\ndepending on the mode of operation." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 563, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L563" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2964, + "name": "RequestProvider.drop" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2963, + "name": "RequestProvider.drop" + } + }, + { + "id": 2353, + "name": "fetchNextRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 118, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L118" + } + ], + "signatures": [ + { + "id": 2354, + "name": "fetchNextRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a next request in the queue to be processed, or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if there are no more pending requests.\n\nOnce you successfully finish processing of the request, you need to call\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.markRequestHandled" + }, + { + "kind": "text", + "text": "\nto mark the request as handled in the queue. If there was some error in processing the request,\ncall " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.reclaimRequest" + }, + { + "kind": "text", + "text": " instead,\nso that the queue will give the request to some other consumer in another call to the " + }, + { + "kind": "code", + "text": "`fetchNextRequest`" + }, + { + "kind": "text", + "text": " function.\n\nNote that the " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " return value doesn't mean the queue processing finished,\nit means there are currently no pending requests.\nTo check whether all requests in queue were finished,\nuse " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.isFinished" + }, + { + "kind": "text", + "text": " instead." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Returns the request object or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if there are no more pending requests." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 118, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L118" + } + ], + "typeParameter": [ + { + "id": 2355, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 2355, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2937, + "name": "RequestProvider.fetchNextRequest" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2936, + "name": "RequestProvider.fetchNextRequest" + } + }, + { + "id": 2421, + "name": "getInfo", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 610, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L610" + } + ], + "signatures": [ + { + "id": 2422, + "name": "getInfo", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an object containing general information about the request queue.\n\nThe function returns the same object as the Apify API Client's\n[getQueue](https://docs.apify.com/api/apify-client-js/latest#ApifyClient-requestQueues)\nfunction, which in turn calls the\n[Get request queue](https://apify.com/docs/api/v2#/reference/request-queues/queue/get-request-queue)\nAPI endpoint.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```\n{\n id: \"WkzbQMuFYuamGv3YF\",\n name: \"my-queue\",\n userId: \"wRsJZtadYvn4mBZmm\",\n createdAt: new Date(\"2015-12-12T07:34:14.202Z\"),\n modifiedAt: new Date(\"2015-12-13T08:36:13.202Z\"),\n accessedAt: new Date(\"2015-12-14T08:36:13.202Z\"),\n totalRequestCount: 25,\n handledRequestCount: 5,\n pendingRequestCount: 20,\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 610, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L610" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13621, + "name": "RequestQueueInfo", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2968, + "name": "RequestProvider.getInfo" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2967, + "name": "RequestProvider.getInfo" + } + }, + { + "id": 2403, + "name": "getRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 397, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L397" + } + ], + "signatures": [ + { + "id": 2404, + "name": "getRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets the request from the queue specified by ID." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Returns the request object, or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if it was not found." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 397, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L397" + } + ], + "typeParameter": [ + { + "id": 2405, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 2406, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "ID of the request." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 2405, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2933, + "name": "RequestProvider.getRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2932, + "name": "RequestProvider.getRequest" + } + }, + { + "id": 2401, + "name": "getTotalCount", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L90" + } + ], + "signatures": [ + { + "id": 2402, + "name": "getTotalCount", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an offline approximation of the total number of requests in the queue (i.e. pending + handled).\n\nSurvives restarts and actor migrations." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L90" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 2919, + "name": "RequestProvider.getTotalCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2918, + "name": "RequestProvider.getTotalCount" + } + }, + { + "id": 2419, + "name": "handledCount", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 580, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L580" + } + ], + "signatures": [ + { + "id": 2420, + "name": "handledCount", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the number of handled requests.\n\nThis function is just a convenient shortcut for:\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst { handledRequestCount } = await queue.getInfo();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 580, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L580" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "number" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2966, + "name": "RequestProvider.handledCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2965, + "name": "RequestProvider.handledCount" + } + }, + { + "id": 2407, + "name": "isEmpty", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 505, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L505" + } + ], + "signatures": [ + { + "id": 2408, + "name": "isEmpty", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": "\nwould return " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": ", otherwise it resolves to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ".\nNote that even if the queue is empty, there might be some pending requests currently being processed.\nIf you need to ensure that there is no activity in the queue, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.isFinished" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 505, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L505" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 2950, + "name": "RequestProvider.isEmpty" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 2949, + "name": "RequestProvider.isEmpty" + } + }, + { + "id": 2363, + "name": "isFinished", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 289, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L289" + } + ], + "signatures": [ + { + "id": 2364, + "name": "isFinished", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if all requests were already handled and there are no more left.\nDue to the nature of distributed storage used by the queue,\nthe function might occasionally return a false negative,\nbut it will never return a false positive." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 289, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L289" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2952, + "name": "RequestProvider.isFinished" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2951, + "name": "RequestProvider.isFinished" + } + }, + { + "id": 2374, + "name": "markRequestHandled", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 325, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L325" + } + ], + "signatures": [ + { + "id": 2375, + "name": "markRequestHandled", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Marks a request that was previously returned by the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": "\nfunction as handled after successful processing.\nHandled requests will never again be returned by the " + }, + { + "kind": "code", + "text": "`fetchNextRequest`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 325, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L325" + } + ], + "parameters": [ + { + "id": 2376, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "request", + "isOptional": false, + "element": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2941, + "name": "RequestProvider.markRequestHandled" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2940, + "name": "RequestProvider.markRequestHandled" + } + }, + { + "id": 2377, + "name": "reclaimRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 338, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L338" + } + ], + "signatures": [ + { + "id": 2378, + "name": "reclaimRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Reclaims a failed request back to the queue, so that it can be returned for processing later again\nby another call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nThe request record in the queue is updated using the provided " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " parameter.\nFor example, this lets you store the number of retries or error messages for the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 338, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L338" + } + ], + "parameters": [ + { + "id": 2379, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "request", + "isOptional": false, + "element": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationInfo" + }, + "name": "RequestQueueOperationInfo", + "package": "@crawlee/core" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2944, + "name": "RequestProvider.reclaimRequest" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2943, + "name": "RequestProvider.reclaimRequest" + } + }, + { + "id": 2338, + "name": "open", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 386, + "character": 26, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L386" + } + ], + "signatures": [ + { + "id": 2339, + "name": "open", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens a request queue and returns a promise resolving to an instance\nof the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class.\n\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " represents a queue of URLs to crawl, which is stored either on local filesystem or in the cloud.\nThe queue is used for deep crawling of websites, where you start with several URLs and then\nrecursively follow links to other pages. The data structure supports both breadth-first\nand depth-first crawling orders.\n\nFor more details and code examples, see the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 386, + "character": 26, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L386" + } + ], + "parameters": [ + { + "id": 2340, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "queueIdOrName", + "isOptional": true, + "element": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 3092, + "name": "StorageManagerOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2337, + "name": "RequestQueue", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": 2891, + "name": "RequestProvider.open" + } + } + ], + "overwrites": { + "type": "reference", + "target": 2890, + "name": "RequestProvider.open" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2392, + 2391, + 2386, + 2385, + 2398, + 2382, + 2389, + 2388, + 2383, + 2390, + 2384 + ] + }, + { + "title": "Methods", + "children": [ + 2365, + 2368, + 2371, + 2417, + 2353, + 2421, + 2403, + 2401, + 2419, + 2407, + 2363, + 2374, + 2377, + 2338 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_queue.ts", + "line": 78, + "character": 6, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_queue.ts#L78" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ] + }, + { + "id": 140, + "name": "RetryRequestError", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Errors of " + }, + { + "kind": "code", + "text": "`RetryRequestError`" + }, + { + "kind": "text", + "text": " type will always be retried by the crawler.\n\n*This error overrides the " + }, + { + "kind": "code", + "text": "`maxRequestRetries`" + }, + { + "kind": "text", + "text": " option, i.e. the request can be retried indefinitely until it succeeds.*" + } + ] + }, + "children": [ + { + "id": 151, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L23" + } + ], + "signatures": [ + { + "id": 152, + "name": "new RetryRequestError", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L23" + } + ], + "parameters": [ + { + "id": 153, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 140, + "name": "RetryRequestError", + "package": "@crawlee/core" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "Error.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "Error.constructor" + } + }, + { + "id": 157, + "name": "cause", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es2022.error.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.cause" + } + }, + { + "id": 155, + "name": "message", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1077, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.message" + } + }, + { + "id": 154, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1076, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.name" + } + }, + { + "id": 156, + "name": "stack", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1078, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.stack" + } + }, + { + "id": 145, + "name": "prepareStackTrace", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional override for formatting stack traces" + } + ], + "blockTags": [ + { + "tag": "@see", + "content": [ + { + "kind": "text", + "text": "https://v8.dev/docs/stack-trace-api#customizing-stack-traces" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 146, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "signatures": [ + { + "id": 147, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "parameters": [ + { + "id": 148, + "name": "err", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 149, + "name": "stackTraces", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.NodeJS.CallSite" + }, + "name": "CallSite", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.CallSite" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.prepareStackTrace" + } + }, + { + "id": 150, + "name": "stackTraceLimit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 30, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.stackTraceLimit" + } + }, + { + "id": 141, + "name": "captureStackTrace", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "signatures": [ + { + "id": 142, + "name": "captureStackTrace", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Create .stack property on a target object" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "parameters": [ + { + "id": 143, + "name": "targetObject", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 144, + "name": "constructorOpt", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.captureStackTrace" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.captureStackTrace" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 151 + ] + }, + { + "title": "Properties", + "children": [ + 157, + 155, + 154, + 156, + 145, + 150 + ] + }, + { + "title": "Methods", + "children": [ + 141 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 158, + "name": "SessionError" + } + ] + }, + { + "id": 1939, + "name": "Router", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Simple router that works based on request labels. This instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your crawler.\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { Router, CheerioCrawler, CheerioCrawlingContext } from 'crawlee';\n\nconst router = Router.create();\n\n// we can also use factory methods for specific crawling contexts, the above equals to:\n// import { createCheerioRouter } from 'crawlee';\n// const router = createCheerioRouter();\n\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new CheerioCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + }, + { + "kind": "text", + "text": "\n\nAlternatively we can use the default router instance from crawler object:\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { CheerioCrawler } from 'crawlee';\n\nconst crawler = new CheerioCrawler();\n\ncrawler.router.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\ncrawler.router.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nawait crawler.run();\n```" + }, + { + "kind": "text", + "text": "\n\nFor convenience, we can also define the routes right when creating the router:\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { CheerioCrawler, createCheerioRouter } from 'crawlee';\nconst crawler = new CheerioCrawler({\n requestHandler: createCheerioRouter({\n 'label-a': async (ctx) => { ... },\n 'label-b': async (ctx) => { ... },\n })},\n});\nawait crawler.run();\n```" + }, + { + "kind": "text", + "text": "\n\nMiddlewares are also supported via the " + }, + { + "kind": "code", + "text": "`router.use`" + }, + { + "kind": "text", + "text": " method. There can be multiple\nmiddlewares for a single router, they will be executed sequentially in the same\norder as they were registered.\n\n" + }, + { + "kind": "code", + "text": "```ts\ncrawler.router.use(async (ctx) => {\n ctx.log.info('...');\n});\n```" + } + ] + }, + "children": [ + { + "id": 1966, + "name": "addDefaultHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L109" + } + ], + "signatures": [ + { + "id": 1967, + "name": "addDefaultHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Registers default route handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L109" + } + ], + "typeParameter": [ + { + "id": 1968, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 1990, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "Router.Context", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 1969, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1970, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 110, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L110" + } + ], + "signatures": [ + { + "id": 1971, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 110, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L110" + } + ], + "parameters": [ + { + "id": 1972, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1990, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "Router.Context", + "refersToTypeParameter": true + }, + { + "type": "literal", + "value": "request" + } + ], + "name": "Omit", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 1973, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1974, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 110, + "character": 52, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L110" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 1907, + "name": "UserData", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1974 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 110, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L110" + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1956, + "name": "addHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 98, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L98" + } + ], + "signatures": [ + { + "id": 1957, + "name": "addHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Registers new route handler for given label." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 98, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L98" + } + ], + "typeParameter": [ + { + "id": 1958, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 1990, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "Router.Context", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 1959, + "name": "label", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1960, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1961, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 100, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L100" + } + ], + "signatures": [ + { + "id": 1962, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 100, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L100" + } + ], + "parameters": [ + { + "id": 1963, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1990, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "Router.Context", + "refersToTypeParameter": true + }, + { + "type": "literal", + "value": "request" + } + ], + "name": "Omit", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 1964, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1965, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 100, + "character": 52, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L100" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 1897, + "name": "UserData", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1965 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 100, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L100" + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1981, + "name": "getHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 127, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L127" + } + ], + "signatures": [ + { + "id": 1982, + "name": "getHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns route handler for given label. If no label is provided, the default request handler will be returned." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 127, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L127" + } + ], + "parameters": [ + { + "id": 1983, + "name": "label", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 1984, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 127, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L127" + } + ], + "signatures": [ + { + "id": 1985, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 127, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L127" + } + ], + "parameters": [ + { + "id": 1986, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1990, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "Router.Context", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + ] + }, + { + "id": 1975, + "name": "use", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L120" + } + ], + "signatures": [ + { + "id": 1976, + "name": "use", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Registers a middleware that will be fired before the matching route handler.\nMultiple middlewares can be registered, they will be fired in the same order." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L120" + } + ], + "parameters": [ + { + "id": 1977, + "name": "middleware", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1978, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 120, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L120" + } + ], + "signatures": [ + { + "id": 1979, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 120, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L120" + } + ], + "parameters": [ + { + "id": 1980, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1990, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "Router.Context", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 1940, + "name": "create", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 175, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L175" + } + ], + "signatures": [ + { + "id": 1941, + "name": "create", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new router instance. This instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your crawler.\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { Router, CheerioCrawler, CheerioCrawlingContext } from 'crawlee';\n\nconst router = Router.create();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new CheerioCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 175, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L175" + } + ], + "typeParameter": [ + { + "id": 1942, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 590, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RestrictedCrawlingContext", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "enqueueLinks" + } + ], + "name": "Omit", + "package": "typescript" + }, + "default": { + "type": "reference", + "target": 620, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "CrawlingContext", + "package": "@crawlee/core" + } + }, + { + "id": 1943, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 1942, + "name": "Context", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 1944, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 1942, + "name": "Context", + "package": "@crawlee/core", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 1943, + "name": "UserData", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 1942, + "name": "Context", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 1966, + 1956, + 1981, + 1975, + 1940 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "typeParameters": [ + { + "id": 1990, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 590, + "name": "RestrictedCrawlingContext", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "enqueueLinks" + } + ], + "name": "Omit", + "package": "typescript" + } + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 1894, + "name": "RouterHandler" + } + ] + }, + { + "id": 2047, + "name": "Session", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sessions are used to store information such as cookies and can be used for generating fingerprints and proxy sessions.\nYou can imagine each session as a specific user, with its own cookies, IP (via proxy) and potentially a unique browser fingerprint.\nSession internal state can be enriched with custom user data for example some authorization tokens and specific headers in general." + } + ] + }, + "children": [ + { + "id": 2048, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L114" + } + ], + "signatures": [ + { + "id": 2049, + "name": "new Session", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Session configuration." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L114" + } + ], + "parameters": [ + { + "id": 2050, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 2033, + "name": "SessionOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 2051, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 97, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L97" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2053, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 99, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L99" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 2099, + "name": "getCookieString", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 344, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L344" + } + ], + "signatures": [ + { + "id": 2100, + "name": "getCookieString", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns cookies saved with the session in the typical\nkey1=value1; key2=value2 format, ready to be used in\na cookie header or elsewhere." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Represents " + }, + { + "kind": "code", + "text": "`Cookie`" + }, + { + "kind": "text", + "text": " header." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 344, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L344" + } + ], + "parameters": [ + { + "id": 2101, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + }, + { + "id": 2096, + "name": "getCookies", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L333" + } + ], + "signatures": [ + { + "id": 2097, + "name": "getCookies", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns cookies in a format compatible with puppeteer/playwright and ready to be used with " + }, + { + "kind": "code", + "text": "`page.setCookie`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L333" + } + ], + "parameters": [ + { + "id": 2098, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "website url. Only cookies stored for this url will be returned" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 59, + "name": "Cookie", + "package": "@crawlee/types" + } + } + } + ] + }, + { + "id": 2074, + "name": "getState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 217, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L217" + } + ], + "signatures": [ + { + "id": 2075, + "name": "getState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets session state for persistence in KeyValueStore." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Represents session internal state." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 217, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L217" + } + ], + "type": { + "type": "reference", + "target": 2022, + "name": "SessionState", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 2064, + "name": "isBlocked", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L170" + } + ], + "signatures": [ + { + "id": 2065, + "name": "isBlocked", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates whether the session is blocked.\nSession is blocked once it reaches the " + }, + { + "kind": "code", + "text": "`maxErrorScore`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L170" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 2066, + "name": "isExpired", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 179, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L179" + } + ], + "signatures": [ + { + "id": 2067, + "name": "isExpired", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates whether the session is expired.\nSession expiration is determined by the " + }, + { + "kind": "code", + "text": "`maxAgeSecs`" + }, + { + "kind": "text", + "text": ".\nOnce the session is older than " + }, + { + "kind": "code", + "text": "`createdAt + maxAgeSecs`" + }, + { + "kind": "text", + "text": " the session is considered expired." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 179, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L179" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 2068, + "name": "isMaxUsageCountReached", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 187, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L187" + } + ], + "signatures": [ + { + "id": 2069, + "name": "isMaxUsageCountReached", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates whether the session is used maximum number of times.\nSession maximum usage count can be changed by " + }, + { + "kind": "code", + "text": "`maxUsageCount`" + }, + { + "kind": "text", + "text": " parameter." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 187, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L187" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 2070, + "name": "isUsable", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 195, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L195" + } + ], + "signatures": [ + { + "id": 2071, + "name": "isUsable", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates whether the session can be used for next requests.\nSession is usable when it is not expired, not blocked and the maximum usage count has not be reached." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 195, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L195" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 2078, + "name": "markBad", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 252, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L252" + } + ], + "signatures": [ + { + "id": 2079, + "name": "markBad", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Increases usage and error count.\nShould be used when the session has been used unsuccessfully. For example because of timeouts." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 252, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L252" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 2072, + "name": "markGood", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 203, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L203" + } + ], + "signatures": [ + { + "id": 2073, + "name": "markGood", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method should be called after a successful session usage.\nIt increases " + }, + { + "kind": "code", + "text": "`usageCount`" + }, + { + "kind": "text", + "text": " and potentially lowers the " + }, + { + "kind": "code", + "text": "`errorScore`" + }, + { + "kind": "text", + "text": " by the " + }, + { + "kind": "code", + "text": "`errorScoreDecrement`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 203, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L203" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 2076, + "name": "retire", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 239, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L239" + } + ], + "signatures": [ + { + "id": 2077, + "name": "retire", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Marks session as blocked and emits event on the " + }, + { + "kind": "code", + "text": "`SessionPool`" + }, + { + "kind": "text", + "text": "\nThis method should be used if the session usage was unsuccessful\nand you are sure that it is because of the session configuration and not any external matters.\nFor example when server returns 403 status code.\nIf the session does not work due to some external factors as server error such as 5XX you probably want to use " + }, + { + "kind": "code", + "text": "`markBad`" + }, + { + "kind": "text", + "text": " method." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 239, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L239" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 2080, + "name": "retireOnBlockedStatusCodes", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 267, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L267" + }, + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 282, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L282" + }, + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 284, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L284" + } + ], + "signatures": [ + { + "id": 2081, + "name": "retireOnBlockedStatusCodes", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "With certain status codes: " + }, + { + "kind": "code", + "text": "`401`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`403`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`429`" + }, + { + "kind": "text", + "text": " we can be certain\nthat the target website is blocking us. This function helps to do this conveniently\nby retiring the session when such code is received. Optionally the default status\ncodes can be extended in the second parameter." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Whether the session was retired." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 267, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L267" + } + ], + "parameters": [ + { + "id": 2082, + "name": "statusCode", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTTP status code." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 2083, + "name": "retireOnBlockedStatusCodes", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "With certain status codes: " + }, + { + "kind": "code", + "text": "`401`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`403`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`429`" + }, + { + "kind": "text", + "text": " we can be certain\nthat the target website is blocking us. This function helps to do this conveniently\nby retiring the session when such code is received. Optionally the default status\ncodes can be extended in the second parameter." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Whether the session was retired." + } + ] + }, + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "The parameter " + }, + { + "kind": "code", + "text": "`additionalBlockedStatusCodes`" + }, + { + "kind": "text", + "text": " is deprecated and will be removed in next major version." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 282, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L282" + } + ], + "parameters": [ + { + "id": 2084, + "name": "statusCode", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTTP status code." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2085, + "name": "additionalBlockedStatusCodes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom HTTP status codes that means blocking on particular website.\n\n **This parameter is deprecated and will be removed in next major version.**" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 2102, + "name": "setCookie", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 351, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L351" + } + ], + "signatures": [ + { + "id": 2103, + "name": "setCookie", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets a cookie within this session for the specific URL." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 351, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L351" + } + ], + "parameters": [ + { + "id": 2104, + "name": "rawCookie", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2105, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 2092, + "name": "setCookies", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L324" + } + ], + "signatures": [ + { + "id": 2093, + "name": "setCookies", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Saves an array with cookie objects to be used with the session.\nThe objects should be in the format that\n[Puppeteer uses](https://pptr.dev/#?product=Puppeteer&version=v2.0.0&show=api-pagecookiesurls),\nbut you can also use this function to set cookies manually:\n\n" + }, + { + "kind": "code", + "text": "```\n[\n { name: 'cookie1', value: 'my-cookie' },\n { name: 'cookie2', value: 'your-cookie' }\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L324" + } + ], + "parameters": [ + { + "id": 2094, + "name": "cookies", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 59, + "name": "Cookie", + "package": "@crawlee/types" + } + } + }, + { + "id": 2095, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 2086, + "name": "setCookiesFromResponse", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 300, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L300" + } + ], + "signatures": [ + { + "id": 2087, + "name": "setCookiesFromResponse", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Saves cookies from an HTTP response to be used with the session.\nIt expects an object with a " + }, + { + "kind": "code", + "text": "`headers`" + }, + { + "kind": "text", + "text": " property that's either an " + }, + { + "kind": "code", + "text": "`Object`" + }, + { + "kind": "text", + "text": "\n(typical Node.js responses) or a " + }, + { + "kind": "code", + "text": "`Function`" + }, + { + "kind": "text", + "text": " (Puppeteer Response).\n\nIt then parses and saves the cookies from the " + }, + { + "kind": "code", + "text": "`set-cookie`" + }, + { + "kind": "text", + "text": " header, if available." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 300, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L300" + } + ], + "parameters": [ + { + "id": 2088, + "name": "response", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/http.d.ts", + "qualifiedName": "\"http\".IncomingMessage" + }, + "name": "IncomingMessage", + "package": "@types/node", + "qualifiedName": "\"http\".IncomingMessage" + }, + { + "type": "reference", + "target": 13756, + "name": "BrowserLikeResponse", + "package": "@crawlee/types" + }, + { + "type": "reflection", + "declaration": { + "id": 2089, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 2090, + "name": "headers", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 300, + "character": 79, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L300" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + ], + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 2091, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 300, + "character": 119, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L300" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2090, + 2091 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 300, + "character": 77, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L300" + } + ] + } + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 2048 + ] + }, + { + "title": "Properties", + "children": [ + 2051, + 2053 + ] + }, + { + "title": "Methods", + "children": [ + 2099, + 2096, + 2074, + 2064, + 2066, + 2068, + 2070, + 2078, + 2072, + 2076, + 2080, + 2102, + 2092, + 2086 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ] + }, + { + "id": 158, + "name": "SessionError", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Errors of " + }, + { + "kind": "code", + "text": "`SessionError`" + }, + { + "kind": "text", + "text": " type will trigger a session rotation.\n\nThis error doesn't respect the " + }, + { + "kind": "code", + "text": "`maxRequestRetries`" + }, + { + "kind": "text", + "text": " option and has a separate limit of " + }, + { + "kind": "code", + "text": "`maxSessionRotations`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "children": [ + { + "id": 169, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 34, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L34" + } + ], + "signatures": [ + { + "id": 170, + "name": "new SessionError", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 34, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L34" + } + ], + "parameters": [ + { + "id": 171, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 158, + "name": "SessionError", + "package": "@crawlee/core" + }, + "overwrites": { + "type": "reference", + "target": 152, + "name": "RetryRequestError.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 151, + "name": "RetryRequestError.constructor" + } + }, + { + "id": 175, + "name": "cause", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es2022.error.d.ts", + "line": 24, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "inheritedFrom": { + "type": "reference", + "target": 157, + "name": "RetryRequestError.cause" + } + }, + { + "id": 173, + "name": "message", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1077, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 155, + "name": "RetryRequestError.message" + } + }, + { + "id": 172, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1076, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 154, + "name": "RetryRequestError.name" + } + }, + { + "id": 174, + "name": "stack", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1078, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 156, + "name": "RetryRequestError.stack" + } + }, + { + "id": 163, + "name": "prepareStackTrace", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional override for formatting stack traces" + } + ], + "blockTags": [ + { + "tag": "@see", + "content": [ + { + "kind": "text", + "text": "https://v8.dev/docs/stack-trace-api#customizing-stack-traces" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 8 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 164, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "signatures": [ + { + "id": 165, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 28, + "character": 29 + } + ], + "parameters": [ + { + "id": 166, + "name": "err", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 167, + "name": "stackTraces", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.NodeJS.CallSite" + }, + "name": "CallSite", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.CallSite" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 145, + "name": "RetryRequestError.prepareStackTrace" + } + }, + { + "id": 168, + "name": "stackTraceLimit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 30, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 150, + "name": "RetryRequestError.stackTraceLimit" + } + }, + { + "id": 159, + "name": "captureStackTrace", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "signatures": [ + { + "id": 160, + "name": "captureStackTrace", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Create .stack property on a target object" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/globals.d.ts", + "line": 21, + "character": 8 + } + ], + "parameters": [ + { + "id": 161, + "name": "targetObject", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "object" + } + }, + { + "id": 162, + "name": "constructorOpt", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 142, + "name": "RetryRequestError.captureStackTrace" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 141, + "name": "RetryRequestError.captureStackTrace" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 169 + ] + }, + { + "title": "Properties", + "children": [ + 175, + 173, + 172, + 174, + 163, + 168 + ] + }, + { + "title": "Methods", + "children": [ + 159 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 140, + "name": "RetryRequestError", + "package": "@crawlee/core" + } + ] + }, + { + "id": 2127, + "name": "SessionPool", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Handles the rotation, creation and persistence of user-like sessions.\nCreates a pool of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session" + }, + { + "kind": "text", + "text": " instances, that are randomly rotated.\nWhen some session is marked as blocked, it is removed and new one is created instead (the pool never returns an unusable session).\nLearn more in the " + }, + { + "kind": "inline-tag", + "tag": "@doclink", + "text": "guides/session-management | Session management guide" + }, + { + "kind": "text", + "text": ".\n\nYou can create one by calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool.open" + }, + { + "kind": "text", + "text": " function.\n\nSession pool is already integrated into crawlers, and it can significantly improve your scraper\nperformance with just 2 lines of code.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst crawler = new CheerioCrawler({\n useSessionPool: true,\n persistCookiesPerSession: true,\n // ...\n})\n```" + }, + { + "kind": "text", + "text": "\n\nYou can configure the pool with many options. See the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions" + }, + { + "kind": "text", + "text": ".\nSession pool is by default persisted in default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": ".\nIf you want to have one pool for all runs you have to specify\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions.persistStateKeyValueStoreId" + }, + { + "kind": "text", + "text": ".\n\n**Advanced usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst sessionPool = await SessionPool.open({\n maxPoolSize: 25,\n sessionOptions:{\n maxAgeSecs: 10,\n maxUsageCount: 150, // for example when you know that the site blocks after 150 requests.\n },\n persistStateKeyValueStoreId: 'my-key-value-store-for-sessions',\n persistStateKey: 'my-session-pool',\n});\n\n// Get random session from the pool\nconst session1 = await sessionPool.getSession();\nconst session2 = await sessionPool.getSession();\nconst session3 = await sessionPool.getSession();\n\n// Now you can mark the session either failed or successful\n\n// Marks session as bad after unsuccessful usage -> it increases error count (soft retire)\nsession1.markBad()\n\n// Marks as successful.\nsession2.markGood()\n\n// Retires session -> session is removed from the pool\nsession3.retire()\n\n```" + }, + { + "kind": "text", + "text": "\n\n**Default session allocation flow:*\n1. Until the " + }, + { + "kind": "code", + "text": "`SessionPool`" + }, + { + "kind": "text", + "text": " reaches " + }, + { + "kind": "code", + "text": "`maxPoolSize`" + }, + { + "kind": "text", + "text": ", new sessions are created, provided to the user and added to the pool\n2. Blocked/retired sessions stay in the pool but are never provided to the user\n3. Once the pool is full (live plus blocked session count reaches " + }, + { + "kind": "code", + "text": "`maxPoolSize`" + }, + { + "kind": "text", + "text": "), a random session from the pool is provided.\n4. If a blocked session would be picked, instead all blocked sessions are evicted from the pool and a new session is created and provided" + } + ] + }, + "children": [ + { + "id": 2193, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 157, + "character": 59, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L157" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + }, + { + "id": 2169, + "name": "captureRejectionSymbol", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: " + }, + { + "kind": "code", + "text": "`Symbol.for('nodejs.rejection')`" + }, + { + "kind": "text", + "text": "\n\nSee how to write a custom " + }, + { + "kind": "code", + "text": "`rejection handler`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 405, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1298, + "name": "captureRejectionSymbol", + "package": "@types/node", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.captureRejectionSymbol" + } + }, + { + "id": 2170, + "name": "captureRejections", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Value: [boolean](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Boolean_type)\n\nChange the default " + }, + { + "kind": "code", + "text": "`captureRejections`" + }, + { + "kind": "text", + "text": " option on all new " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " objects." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.4.0, v12.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 412, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.captureRejections" + } + }, + { + "id": 2171, + "name": "defaultMaxListeners", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default, a maximum of " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners can be registered for any single\nevent. This limit can be changed for individual " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances\nusing the " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " method. To change the default\nfor _all_" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " property\ncan be used. If this value is not a positive number, a " + }, + { + "kind": "code", + "text": "`RangeError`" + }, + { + "kind": "text", + "text": " is thrown.\n\nTake caution when setting the " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": " because the\nchange affects _all_ " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instances, including those created before\nthe change is made. However, calling " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " still has\nprecedence over " + }, + { + "kind": "code", + "text": "`events.defaultMaxListeners`" + }, + { + "kind": "text", + "text": ".\n\nThis is not a hard limit. The " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance will allow\nmore listeners to be added but will output a trace warning to stderr indicating\nthat a \"possible EventEmitter memory leak\" has been detected. For any single\n" + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", the " + }, + { + "kind": "code", + "text": "`emitter.getMaxListeners()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " methods can be used to\ntemporarily avoid this warning:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.setMaxListeners(emitter.getMaxListeners() + 1);\nemitter.once('event', () => {\n // do stuff\n emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));\n});\n```" + }, + { + "kind": "text", + "text": "\n\nThe " + }, + { + "kind": "code", + "text": "`--trace-warnings`" + }, + { + "kind": "text", + "text": " command-line flag can be used to display the\nstack trace for such warnings.\n\nThe emitted warning can be inspected with " + }, + { + "kind": "code", + "text": "`process.on('warning')`" + }, + { + "kind": "text", + "text": " and will\nhave the additional " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`type`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`count`" + }, + { + "kind": "text", + "text": " properties, referring to\nthe event emitter instance, the event's name and the number of attached\nlisteners, respectively.\nIts " + }, + { + "kind": "code", + "text": "`name`" + }, + { + "kind": "text", + "text": " property is set to " + }, + { + "kind": "code", + "text": "`'MaxListenersExceededWarning'`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.11.2" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 451, + "character": 15 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.defaultMaxListeners" + } + }, + { + "id": 2168, + "name": "errorMonitor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isStatic": true, + "isExternal": true, + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This symbol shall be used to install a listener for only monitoring " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " events. Listeners installed using this symbol are called before the regular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listeners are called.\n\nInstalling a listener using this symbol does not change the behavior once an " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is emitted. Therefore, the process will still crash if no\nregular " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " listener is installed." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 398, + "character": 24 + } + ], + "type": { + "type": "query", + "queryType": { + "type": "reference", + "target": 1297, + "name": "errorMonitor", + "package": "@types/node", + "qualifiedName": "EventEmitter.errorMonitor" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.errorMonitor" + } + }, + { + "id": 2196, + "name": "retiredSessionsCount", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 217, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L217" + } + ], + "getSignature": { + "id": 2197, + "name": "retiredSessionsCount", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets count of retired sessions in the pool." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 217, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L217" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + }, + { + "id": 2194, + "name": "usableSessionsCount", + "variant": "declaration", + "kind": 262144, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 210, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L210" + } + ], + "getSignature": { + "id": 2195, + "name": "usableSessionsCount", + "variant": "signature", + "kind": 524288, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets count of usable sessions in the pool." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 210, + "character": 8, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L210" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + }, + { + "id": 2244, + "name": "[captureRejectionSymbol]", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "signatures": [ + { + "id": 2245, + "name": "[captureRejectionSymbol]", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 115, + "character": 8 + } + ], + "typeParameter": [ + { + "id": 2246, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2247, + "name": "error", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + }, + { + "id": 2248, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2249, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.[captureRejectionSymbol]" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.[captureRejectionSymbol]" + } + }, + { + "id": 2250, + "name": "addListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "signatures": [ + { + "id": 2251, + "name": "addListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.on(eventName, listener)`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 550, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2252, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2253, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2254, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2255, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 2256, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 2257, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addListener" + } + }, + { + "id": 2200, + "name": "addSession", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 256, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L256" + } + ], + "signatures": [ + { + "id": 2201, + "name": "addSession", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a new session to the session pool. The pool automatically creates sessions up to the maximum size of the pool,\nbut this allows you to add more sessions once the max pool size is reached.\nThis also allows you to add session with overridden session options (e.g. with specific session id)." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 256, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L256" + } + ], + "parameters": [ + { + "id": 2202, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for the session being added to the session pool." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 2033, + "name": "SessionOptions", + "package": "@crawlee/core" + } + ] + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2306, + "name": "emit", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "signatures": [ + { + "id": 2307, + "name": "emit", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Synchronously calls each of the listeners registered for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", in the order they were registered, passing the supplied arguments\nto each.\n\nReturns " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " if the event had listeners, " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " otherwise.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEmitter = new EventEmitter();\n\n// First listener\nmyEmitter.on('event', function firstListener() {\n console.log('Helloooo! first listener');\n});\n// Second listener\nmyEmitter.on('event', function secondListener(arg1, arg2) {\n console.log(`event with parameters ${arg1}, ${arg2} in second listener`);\n});\n// Third listener\nmyEmitter.on('event', function thirdListener(...args) {\n const parameters = args.join(', ');\n console.log(`event with parameters ${parameters} in third listener`);\n});\n\nconsole.log(myEmitter.listeners('event'));\n\nmyEmitter.emit('event', 1, 2, 3, 4, 5);\n\n// Prints:\n// [\n// [Function: firstListener],\n// [Function: secondListener],\n// [Function: thirdListener]\n// ]\n// Helloooo! first listener\n// event with parameters 1, 2 in second listener\n// event with parameters 1, 2, 3, 4, 5 in third listener\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 812, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2308, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2309, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2310, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "AnyRest" + }, + "name": "AnyRest", + "package": "@types/node" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.emit" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.emit" + } + }, + { + "id": 2332, + "name": "eventNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "signatures": [ + { + "id": 2333, + "name": "eventNames", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an array listing the events for which the emitter has registered\nlisteners. The values in the array are strings or " + }, + { + "kind": "code", + "text": "`Symbol`" + }, + { + "kind": "text", + "text": "s.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\n\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => {});\nmyEE.on('bar', () => {});\n\nconst sym = Symbol('symbol');\nmyEE.on(sym, () => {});\n\nconsole.log(myEE.eventNames());\n// Prints: [ 'foo', 'bar', Symbol(symbol) ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 875, + "character": 16 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.eventNames" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.eventNames" + } + }, + { + "id": 2296, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "signatures": [ + { + "id": 2297, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the current max listener value for the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " which is either\nset by " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners(n)`" + }, + { + "kind": "text", + "text": " or defaults to " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "defaultMaxListeners", + "target": 2171 + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v1.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 727, + "character": 16 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + }, + { + "id": 2203, + "name": "getSession", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 284, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L284" + }, + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 289, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L289" + }, + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 298, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L298" + } + ], + "signatures": [ + { + "id": 2204, + "name": "getSession", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets session.\nIf there is space for new session, it creates and returns new session.\nIf the session pool is full, it picks a session from the pool,\nIf the picked session is usable it is returned, otherwise it creates and returns a new one." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 284, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L284" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + }, + { + "id": 2205, + "name": "getSession", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Gets session based on the provided session id or `undefined." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 289, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L289" + } + ], + "parameters": [ + { + "id": 2206, + "name": "sessionId", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2210, + "name": "getState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 341, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L341" + } + ], + "signatures": [ + { + "id": 2211, + "name": "getState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an object representing the internal state of the " + }, + { + "kind": "code", + "text": "`SessionPool`" + }, + { + "kind": "text", + "text": " instance.\nNote that the object's fields can change in future releases." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 341, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L341" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 2212, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 2214, + "name": "retiredSessionsCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 344, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L344" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 2215, + "name": "sessions", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 345, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L345" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 2022, + "name": "SessionState", + "package": "@crawlee/core" + } + }, + "defaultValue": "..." + }, + { + "id": 2213, + "name": "usableSessionsCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 343, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L343" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2214, + 2215, + 2213 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 342, + "character": 15, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L342" + } + ] + } + } + } + ] + }, + { + "id": 2198, + "name": "initialize", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 225, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L225" + } + ], + "signatures": [ + { + "id": 2199, + "name": "initialize", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Starts periodic state persistence and potentially loads SessionPool state from " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": ".\nIt is called automatically by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool.open" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 225, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L225" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2311, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "signatures": [ + { + "id": 2312, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the number of listeners listening for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\nIf " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " is provided, it will return how many times the listener is found\nin the list of the listeners of the event." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v3.2.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 821, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2313, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2314, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2315, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event handler function" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + }, + { + "id": 2298, + "name": "listeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "signatures": [ + { + "id": 2299, + "name": "listeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\nconsole.log(util.inspect(server.listeners('connection')));\n// Prints: [ [Function] ]\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 740, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2300, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2301, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listeners" + } + }, + { + "id": 2282, + "name": "off", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "signatures": [ + { + "id": 2283, + "name": "off", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Alias for " + }, + { + "kind": "code", + "text": "`emitter.removeListener()`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v10.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 700, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2284, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2285, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2286, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2287, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 2288, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 2289, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.off" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.off" + } + }, + { + "id": 2258, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "signatures": [ + { + "id": 2259, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the end of the listeners array for the event\nnamed " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has already\nbeen added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " and\n" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.on('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.on('foo', () => console.log('a'));\nmyEE.prependListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.101" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 582, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2260, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2261, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2262, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2263, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 2264, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 2265, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + }, + { + "id": 2266, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "signatures": [ + { + "id": 2267, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time** " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". The\nnext time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this listener is removed and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.once('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained.\n\nBy default, event listeners are invoked in the order they are added. The " + }, + { + "kind": "code", + "text": "`emitter.prependOnceListener()`" + }, + { + "kind": "text", + "text": " method can be used as an alternative to add the\nevent listener to the beginning of the listeners array.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst myEE = new EventEmitter();\nmyEE.once('foo', () => console.log('a'));\nmyEE.prependOnceListener('foo', () => console.log('b'));\nmyEE.emit('foo');\n// Prints:\n// b\n// a\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 612, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2268, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2269, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2270, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2271, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 2272, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 2273, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + }, + { + "id": 2216, + "name": "persistState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 354, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L354" + } + ], + "signatures": [ + { + "id": 2217, + "name": "persistState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Persists the current state of the " + }, + { + "kind": "code", + "text": "`SessionPool`" + }, + { + "kind": "text", + "text": " into the default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": ".\nThe state is persisted automatically in regular intervals." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 354, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L354" + } + ], + "parameters": [ + { + "id": 2218, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Override the persistence options provided in the constructor" + } + ] + }, + "type": { + "type": "reference", + "target": 756, + "name": "PersistenceOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2316, + "name": "prependListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "signatures": [ + { + "id": 2317, + "name": "prependListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function to the _beginning_ of the listeners array for the\nevent named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ". No checks are made to see if the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " has\nalready been added. Multiple calls passing the same combination of " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " will result in the " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " being added, and called, multiple times.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependListener('connection', (stream) => {\n console.log('someone connected!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 839, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2318, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2319, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2320, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2321, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 2322, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 2323, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependListener" + } + }, + { + "id": 2324, + "name": "prependOnceListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "signatures": [ + { + "id": 2325, + "name": "prependOnceListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds a **one-time**" + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " function for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " to the _beginning_ of the listeners array. The next time " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " is triggered, this\nlistener is removed, and then invoked.\n\n" + }, + { + "kind": "code", + "text": "```js\nserver.prependOnceListener('connection', (stream) => {\n console.log('Ah, we have our first user!');\n});\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v6.0.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 855, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2326, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2327, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2328, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The callback function" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2329, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 2330, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 2331, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependOnceListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.prependOnceListener" + } + }, + { + "id": 2302, + "name": "rawListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "signatures": [ + { + "id": 2303, + "name": "rawListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ",\nincluding any wrappers (such as those created by " + }, + { + "kind": "code", + "text": "`.once()`" + }, + { + "kind": "text", + "text": ").\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst emitter = new EventEmitter();\nemitter.once('log', () => console.log('log once'));\n\n// Returns a new Array with a function `onceWrapper` which has a property\n// `listener` which contains the original listener bound above\nconst listeners = emitter.rawListeners('log');\nconst logFnWrapper = listeners[0];\n\n// Logs \"log once\" to the console and does not unbind the `once` event\nlogFnWrapper.listener();\n\n// Logs \"log once\" to the console and removes the listener\nlogFnWrapper();\n\nemitter.on('log', () => console.log('log persistently'));\n// Will return a new Array with a single function bound by `.on()` above\nconst newListeners = emitter.rawListeners('log');\n\n// Logs \"log persistently\" twice\nnewListeners[0]();\nemitter.emit('log');\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v9.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 771, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2304, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2305, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.rawListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.rawListeners" + } + }, + { + "id": 2290, + "name": "removeAllListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "signatures": [ + { + "id": 2291, + "name": "removeAllListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes all listeners, or those of the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nIt is bad practice to remove listeners added elsewhere in the code,\nparticularly when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance was created by some other\ncomponent or module (e.g. sockets or file streams).\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 711, + "character": 16 + } + ], + "parameters": [ + { + "id": 2292, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeAllListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeAllListeners" + } + }, + { + "id": 2274, + "name": "removeListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "signatures": [ + { + "id": 2275, + "name": "removeListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes the specified " + }, + { + "kind": "code", + "text": "`listener`" + }, + { + "kind": "text", + "text": " from the listener array for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nconst callback = (stream) => {\n console.log('someone connected!');\n};\nserver.on('connection', callback);\n// ...\nserver.removeListener('connection', callback);\n```" + }, + { + "kind": "text", + "text": "\n\n" + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove, at most, one instance of a listener from the\nlistener array. If any single listener has been added multiple times to the\nlistener array for the specified " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ", then " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " must be\ncalled multiple times to remove each instance.\n\nOnce an event is emitted, all listeners attached to it at the\ntime of emitting are called in order. This implies that any " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`removeAllListeners()`" + }, + { + "kind": "text", + "text": " calls _after_ emitting and _before_ the last listener finishes execution\nwill not remove them from" + }, + { + "kind": "code", + "text": "`emit()`" + }, + { + "kind": "text", + "text": " in progress. Subsequent events behave as expected.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nclass MyEmitter extends EventEmitter {}\nconst myEmitter = new MyEmitter();\n\nconst callbackA = () => {\n console.log('A');\n myEmitter.removeListener('event', callbackB);\n};\n\nconst callbackB = () => {\n console.log('B');\n};\n\nmyEmitter.on('event', callbackA);\n\nmyEmitter.on('event', callbackB);\n\n// callbackA removes listener callbackB but it will still be called.\n// Internal listener array at time of emit [callbackA, callbackB]\nmyEmitter.emit('event');\n// Prints:\n// A\n// B\n\n// callbackB is now removed.\n// Internal listener array [callbackA]\nmyEmitter.emit('event');\n// Prints:\n// A\n```" + }, + { + "kind": "text", + "text": "\n\nBecause listeners are managed using an internal array, calling this will\nchange the position indices of any listener registered _after_ the listener\nbeing removed. This will not impact the order in which listeners are called,\nbut it means that any copies of the listener array as returned by\nthe " + }, + { + "kind": "code", + "text": "`emitter.listeners()`" + }, + { + "kind": "text", + "text": " method will need to be recreated.\n\nWhen a single function has been added as a handler multiple times for a single\nevent (as in the example below), " + }, + { + "kind": "code", + "text": "`removeListener()`" + }, + { + "kind": "text", + "text": " will remove the most\nrecently added instance. In the example the " + }, + { + "kind": "code", + "text": "`once('ping')`" + }, + { + "kind": "text", + "text": " listener is removed:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter } from 'node:events';\nconst ee = new EventEmitter();\n\nfunction pong() {\n console.log('pong');\n}\n\nee.on('ping', pong);\nee.once('ping', pong);\nee.removeListener('ping', pong);\n\nee.emit('ping');\nee.emit('ping');\n```" + }, + { + "kind": "text", + "text": "\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.1.26" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 695, + "character": 16 + } + ], + "typeParameter": [ + { + "id": 2276, + "name": "K", + "variant": "typeParam", + "kind": 131072, + "flags": { + "isExternal": true + } + } + ], + "parameters": [ + { + "id": 2277, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2278, + "name": "listener", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2279, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "signatures": [ + { + "id": 2280, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 96, + "character": 42 + } + ], + "parameters": [ + { + "id": 2281, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.removeListener" + } + }, + { + "id": 2207, + "name": "resetStore", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 329, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L329" + } + ], + "signatures": [ + { + "id": 2208, + "name": "resetStore", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 329, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L329" + } + ], + "parameters": [ + { + "id": 2209, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Override the persistence options provided in the constructor" + } + ] + }, + "type": { + "type": "reference", + "target": 756, + "name": "PersistenceOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2293, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "signatures": [ + { + "id": 2294, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s will print a warning if more than " + }, + { + "kind": "code", + "text": "`10`" + }, + { + "kind": "text", + "text": " listeners are\nadded for a particular event. This is a useful default that helps finding\nmemory leaks. The " + }, + { + "kind": "code", + "text": "`emitter.setMaxListeners()`" + }, + { + "kind": "text", + "text": " method allows the limit to be\nmodified for this specific " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " instance. The value can be set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": " (or " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": ") to indicate an unlimited number of listeners.\n\nReturns a reference to the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": ", so that calls can be chained." + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.3.5" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 721, + "character": 16 + } + ], + "parameters": [ + { + "id": 2295, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "this" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + }, + { + "id": 2219, + "name": "teardown", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 370, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L370" + } + ], + "signatures": [ + { + "id": 2220, + "name": "teardown", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes listener from " + }, + { + "kind": "code", + "text": "`persistState`" + }, + { + "kind": "text", + "text": " event.\nThis function should be called after you are done with using the " + }, + { + "kind": "code", + "text": "`SessionPool`" + }, + { + "kind": "text", + "text": " instance." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 370, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L370" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2161, + "name": "addAbortListener", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "signatures": [ + { + "id": 2162, + "name": "addAbortListener", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Listens once to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on the provided " + }, + { + "kind": "code", + "text": "`signal`" + }, + { + "kind": "text", + "text": ".\n\nListening to the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " event on abort signals is unsafe and may\nlead to resource leaks since another third party with the signal can\ncall " + }, + { + "kind": "code", + "text": "`e.stopImmediatePropagation()`" + }, + { + "kind": "text", + "text": ". Unfortunately Node.js cannot change\nthis since it would violate the web standard. Additionally, the original\nAPI makes it easy to forget to remove listeners.\n\nThis API allows safely using " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": "s in Node.js APIs by solving these\ntwo issues by listening to the event such that " + }, + { + "kind": "code", + "text": "`stopImmediatePropagation`" + }, + { + "kind": "text", + "text": " does\nnot prevent the listener from running.\n\nReturns a disposable so that it may be unsubscribed from more easily.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { addAbortListener } from 'node:events';\n\nfunction example(signal) {\n let disposable;\n try {\n signal.addEventListener('abort', (e) => e.stopImmediatePropagation());\n disposable = addAbortListener(signal, (e) => {\n // Do something when signal is aborted.\n });\n } finally {\n disposable?.[Symbol.dispose]();\n }\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v20.5.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Disposable that removes the " + }, + { + "kind": "code", + "text": "`abort`" + }, + { + "kind": "text", + "text": " listener." + } + ] + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 15 + } + ], + "parameters": [ + { + "id": 2163, + "name": "signal", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "AbortSignal" + }, + "name": "AbortSignal", + "package": "typescript" + } + }, + { + "id": 2164, + "name": "resource", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2165, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "signatures": [ + { + "id": 2166, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 390, + "character": 63 + } + ], + "parameters": [ + { + "id": 2167, + "name": "event", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "Event" + }, + "name": "Event", + "package": "typescript" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.esnext.disposable.d.ts", + "qualifiedName": "Disposable" + }, + "name": "Disposable", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addAbortListener" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.addAbortListener" + } + }, + { + "id": 2150, + "name": "getEventListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "signatures": [ + { + "id": 2151, + "name": "getEventListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a copy of the array of listeners for the event named " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": ".\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.listeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the event listeners for the\nevent target. This is useful for debugging and diagnostic purposes.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getEventListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n const listener = () => console.log('Events are fun');\n ee.on('foo', listener);\n console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]\n}\n{\n const et = new EventTarget();\n const listener = () => console.log('Events are fun');\n et.addEventListener('foo', listener);\n console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.2.0, v14.17.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 311, + "character": 15 + } + ], + "parameters": [ + { + "id": 2152, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + }, + { + "id": 2153, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Function" + }, + "name": "Function", + "package": "typescript" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getEventListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getEventListeners" + } + }, + { + "id": 2154, + "name": "getMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "signatures": [ + { + "id": 2155, + "name": "getMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the currently set max amount of listeners.\n\nFor " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": "s this behaves exactly the same as calling " + }, + { + "kind": "code", + "text": "`.getMaxListeners`" + }, + { + "kind": "text", + "text": " on\nthe emitter.\n\nFor " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": "s this is the only way to get the max event listeners for the\nevent target. If the number of event handlers on a single EventTarget exceeds\nthe max set, the EventTarget will print a warning.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';\n\n{\n const ee = new EventEmitter();\n console.log(getMaxListeners(ee)); // 10\n setMaxListeners(11, ee);\n console.log(getMaxListeners(ee)); // 11\n}\n{\n const et = new EventTarget();\n console.log(getMaxListeners(et)); // 10\n setMaxListeners(11, et);\n console.log(getMaxListeners(et)); // 11\n}\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v19.9.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 340, + "character": 15 + } + ], + "parameters": [ + { + "id": 2156, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.getMaxListeners" + } + }, + { + "id": 2146, + "name": "listenerCount", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "signatures": [ + { + "id": 2147, + "name": "listenerCount", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A class method that returns the number of listeners for the given " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " registered on the given " + }, + { + "kind": "code", + "text": "`emitter`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, listenerCount } from 'node:events';\n\nconst myEmitter = new EventEmitter();\nmyEmitter.on('event', () => {});\nmyEmitter.on('event', () => {});\nconsole.log(listenerCount(myEmitter, 'event'));\n// Prints: 2\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v0.9.12" + } + ] + }, + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Since v3.2.0 - Use " + }, + { + "kind": "code", + "text": "`listenerCount`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 283, + "character": 15 + } + ], + "parameters": [ + { + "id": 2148, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The emitter to query" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 2149, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The event name" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.listenerCount" + } + }, + { + "id": 2141, + "name": "on", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "signatures": [ + { + "id": 2142, + "name": "on", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\n// Emit later on\nprocess.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n});\n\nfor await (const event of on(ee, 'foo')) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n}\n// Unreachable here\n```" + }, + { + "kind": "text", + "text": "\n\nReturns an " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events. It will throw\nif the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": ". It removes all listeners when\nexiting the loop. The " + }, + { + "kind": "code", + "text": "`value`" + }, + { + "kind": "text", + "text": " returned by each iteration is an array\ncomposed of the emitted event arguments.\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting on events:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { on, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ac = new AbortController();\n\n(async () => {\n const ee = new EventEmitter();\n\n // Emit later on\n process.nextTick(() => {\n ee.emit('foo', 'bar');\n ee.emit('foo', 42);\n });\n\n for await (const event of on(ee, 'foo', { signal: ac.signal })) {\n // The execution of this inner block is synchronous and it\n // processes one event at a time (even with await). Do not use\n // if concurrent execution is required.\n console.log(event); // prints ['bar'] [42]\n }\n // Unreachable here\n})();\n\nprocess.nextTick(() => ac.abort());\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v13.6.0, v12.16.0" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "An " + }, + { + "kind": "code", + "text": "`AsyncIterator`" + }, + { + "kind": "text", + "text": " that iterates " + }, + { + "kind": "code", + "text": "`eventName`" + }, + { + "kind": "text", + "text": " events emitted by the " + }, + { + "kind": "code", + "text": "`emitter`" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 261, + "character": 15 + } + ], + "parameters": [ + { + "id": 2143, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 2144, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the event being listened for" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2145, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2018.asynciterable.d.ts", + "qualifiedName": "AsyncIterableIterator" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "AsyncIterableIterator", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.on" + } + }, + { + "id": 2132, + "name": "once", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + }, + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "signatures": [ + { + "id": 2133, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that is fulfilled when the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits the given\nevent or that is rejected if the " + }, + { + "kind": "code", + "text": "`EventEmitter`" + }, + { + "kind": "text", + "text": " emits " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " while waiting.\nThe " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " will resolve with an array of all the arguments emitted to the\ngiven event.\n\nThis method is intentionally generic and works with the web platform [EventTarget](https://dom.spec.whatwg.org/#interface-eventtarget) interface, which has no special" + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event\nsemantics and does not listen to the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event.\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { once, EventEmitter } from 'node:events';\nimport process from 'node:process';\n\nconst ee = new EventEmitter();\n\nprocess.nextTick(() => {\n ee.emit('myevent', 42);\n});\n\nconst [value] = await once(ee, 'myevent');\nconsole.log(value);\n\nconst err = new Error('kaboom');\nprocess.nextTick(() => {\n ee.emit('error', err);\n});\n\ntry {\n await once(ee, 'myevent');\n} catch (err) {\n console.error('error happened', err);\n}\n```" + }, + { + "kind": "text", + "text": "\n\nThe special handling of the " + }, + { + "kind": "code", + "text": "`'error'`" + }, + { + "kind": "text", + "text": " event is only used when " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for another event. If " + }, + { + "kind": "code", + "text": "`events.once()`" + }, + { + "kind": "text", + "text": " is used to wait for the\n'" + }, + { + "kind": "code", + "text": "`error'`" + }, + { + "kind": "text", + "text": " event itself, then it is treated as any other kind of event without\nspecial handling:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\n\nonce(ee, 'error')\n .then(([err]) => console.log('ok', err.message))\n .catch((err) => console.error('error', err.message));\n\nee.emit('error', new Error('boom'));\n\n// Prints: ok boom\n```" + }, + { + "kind": "text", + "text": "\n\nAn " + }, + { + "kind": "code", + "text": "`AbortSignal`" + }, + { + "kind": "text", + "text": " can be used to cancel waiting for the event:\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { EventEmitter, once } from 'node:events';\n\nconst ee = new EventEmitter();\nconst ac = new AbortController();\n\nasync function foo(emitter, event, signal) {\n try {\n await once(emitter, event, { signal });\n console.log('event emitted!');\n } catch (error) {\n if (error.name === 'AbortError') {\n console.error('Waiting for the event was canceled!');\n } else {\n console.error('There was an error', error.message);\n }\n }\n}\n\nfoo(ee, 'foo', ac.signal);\nac.abort(); // Abort waiting for the event\nee.emit('foo'); // Prints: Waiting for the event was canceled!\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v11.13.0, v10.16.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 196, + "character": 15 + } + ], + "parameters": [ + { + "id": 2134, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + } + }, + { + "id": 2135, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 2136, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + }, + { + "id": 2137, + "name": "once", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 201, + "character": 15 + } + ], + "parameters": [ + { + "id": 2138, + "name": "emitter", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + }, + { + "id": 2139, + "name": "eventName", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2140, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "StaticEventEmitterOptions" + }, + "name": "StaticEventEmitterOptions", + "package": "@types/node" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "any" + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.once" + } + }, + { + "id": 2128, + "name": "open", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 491, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L491" + } + ], + "signatures": [ + { + "id": 2129, + "name": "open", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opens a SessionPool and returns a promise resolving to an instance\nof the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that is already initialized.\n\nFor more details and code examples, see the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 491, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L491" + } + ], + "parameters": [ + { + "id": 2130, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + } + }, + { + "id": 2131, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 2157, + "name": "setMaxListeners", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true, + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "signatures": [ + { + "id": 2158, + "name": "setMaxListeners", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "```js\nimport { setMaxListeners, EventEmitter } from 'node:events';\n\nconst target = new EventTarget();\nconst emitter = new EventEmitter();\n\nsetMaxListeners(5, target, emitter);\n```" + } + ], + "blockTags": [ + { + "tag": "@since", + "content": [ + { + "kind": "text", + "text": "v15.4.0" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@types/node/events.d.ts", + "line": 355, + "character": 15 + } + ], + "parameters": [ + { + "id": 2159, + "name": "n", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A non-negative number. The maximum number of listeners per " + }, + { + "kind": "code", + "text": "`EventTarget`" + }, + { + "kind": "text", + "text": " event." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2160, + "name": "eventTargets", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "DefaultEventMap" + }, + "name": "DefaultEventMap", + "package": "@types/node" + } + ], + "name": "EventEmitter", + "package": "@types/node", + "qualifiedName": "__global.NodeJS.EventEmitter" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "EventTarget" + }, + "name": "EventTarget", + "package": "typescript" + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "EventEmitter.setMaxListeners" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2193, + 2169, + 2170, + 2171, + 2168 + ] + }, + { + "title": "Accessors", + "children": [ + 2196, + 2194 + ] + }, + { + "title": "Methods", + "children": [ + 2244, + 2250, + 2200, + 2306, + 2332, + 2296, + 2203, + 2210, + 2198, + 2311, + 2298, + 2282, + 2258, + 2266, + 2216, + 2316, + 2324, + 2302, + 2290, + 2274, + 2207, + 2293, + 2219, + 2161, + 2150, + 2154, + 2146, + 2141, + 2132, + 2128, + 2157 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter" + }, + "name": "EventEmitter", + "package": "@types/node" + } + ] + }, + { + "id": 308, + "name": "Snapshotter", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates snapshots of system resources at given intervals and marks the resource\nas either overloaded or not during the last interval. Keeps a history of the snapshots.\nIt tracks the following resources: Memory, EventLoop, API and CPU.\nThe class is used by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\n\nWhen running on the Apify platform, the CPU and memory statistics are provided by the platform,\nas collected from the running Docker container. When running locally, " + }, + { + "kind": "code", + "text": "`Snapshotter`" + }, + { + "kind": "text", + "text": "\nmakes its own statistics by querying the OS.\n\nCPU becomes overloaded locally when its current use exceeds the " + }, + { + "kind": "code", + "text": "`maxUsedCpuRatio`" + }, + { + "kind": "text", + "text": " option or\nwhen Apify platform marks it as overloaded.\n\nMemory becomes overloaded if its current use exceeds the " + }, + { + "kind": "code", + "text": "`maxUsedMemoryRatio`" + }, + { + "kind": "text", + "text": " option.\nIt's computed using the total memory available to the container when running on\nthe Apify platform and a quarter of total system memory when running locally.\nMax total memory when running locally may be overridden by using the " + }, + { + "kind": "code", + "text": "`CRAWLEE_MEMORY_MBYTES`" + }, + { + "kind": "text", + "text": "\nenvironment variable.\n\nEvent loop becomes overloaded if it slows down by more than the " + }, + { + "kind": "code", + "text": "`maxBlockedMillis`" + }, + { + "kind": "text", + "text": " option.\n\nClient becomes overloaded when rate limit errors (429 - Too Many Requests),\ntypically received from the request queue, exceed the set limit within the set interval." + } + ] + }, + "children": [ + { + "id": 309, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L126" + } + ], + "signatures": [ + { + "id": 310, + "name": "new Snapshotter", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L126" + } + ], + "parameters": [ + { + "id": 311, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`Snapshotter`" + }, + { + "kind": "text", + "text": " configuration options." + } + ] + }, + "type": { + "type": "reference", + "target": 298, + "name": "SnapshotterOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 308, + "name": "Snapshotter", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 313, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 102, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L102" + } + ], + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + }, + { + "id": 328, + "name": "clientInterval", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 119, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L119" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/utilities/cjs/index.d.ts", + "qualifiedName": "BetterIntervalID" + }, + "name": "BetterIntervalID", + "package": "@apify/utilities" + }, + "defaultValue": "..." + }, + { + "id": 317, + "name": "clientSnapshotIntervalMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 106, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L106" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 326, + "name": "clientSnapshots", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 116, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L116" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "ClientSnapshot" + }, + "name": "ClientSnapshot", + "package": "@crawlee/core" + } + }, + "defaultValue": "[]" + }, + { + "id": 314, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 103, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L103" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + }, + { + "id": 323, + "name": "cpuSnapshots", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 113, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L113" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "CpuSnapshot" + }, + "name": "CpuSnapshot", + "package": "@crawlee/core" + } + }, + "defaultValue": "[]" + }, + { + "id": 327, + "name": "eventLoopInterval", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 118, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L118" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@apify/utilities/cjs/index.d.ts", + "qualifiedName": "BetterIntervalID" + }, + "name": "BetterIntervalID", + "package": "@apify/utilities" + }, + "defaultValue": "..." + }, + { + "id": 316, + "name": "eventLoopSnapshotIntervalMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 105, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L105" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 324, + "name": "eventLoopSnapshots", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L114" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "EventLoopSnapshot" + }, + "name": "EventLoopSnapshot", + "package": "@crawlee/core" + } + }, + "defaultValue": "[]" + }, + { + "id": 315, + "name": "events", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 104, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L104" + } + ], + "type": { + "type": "reference", + "target": 1060, + "name": "EventManager", + "package": "@crawlee/core" + } + }, + { + "id": 329, + "name": "lastLoggedCriticalMemoryOverloadAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 121, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L121" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + ] + }, + "defaultValue": "null" + }, + { + "id": 312, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 101, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L101" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + } + }, + { + "id": 319, + "name": "maxBlockedMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 108, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L108" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 321, + "name": "maxClientErrors", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L110" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 322, + "name": "maxMemoryBytes", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 111, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L111" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 320, + "name": "maxUsedMemoryRatio", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L109" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 325, + "name": "memorySnapshots", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 115, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L115" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "MemorySnapshot" + }, + "name": "MemorySnapshot", + "package": "@crawlee/core" + } + }, + "defaultValue": "[]" + }, + { + "id": 318, + "name": "snapshotHistoryMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 107, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L107" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 343, + "name": "getClientSample", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 230, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L230" + } + ], + "signatures": [ + { + "id": 344, + "name": "getClientSample", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a sample of latest Client snapshots, with the size of the sample defined\nby the sampleDurationMillis parameter. If omitted, it returns a full snapshot history." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 230, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L230" + } + ], + "parameters": [ + { + "id": 345, + "name": "sampleDurationMillis", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "ClientSnapshot" + }, + "name": "ClientSnapshot", + "package": "@crawlee/core" + } + } + } + ] + }, + { + "id": 340, + "name": "getCpuSample", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 222, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L222" + } + ], + "signatures": [ + { + "id": 341, + "name": "getCpuSample", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a sample of latest CPU snapshots, with the size of the sample defined\nby the sampleDurationMillis parameter. If omitted, it returns a full snapshot history." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 222, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L222" + } + ], + "parameters": [ + { + "id": 342, + "name": "sampleDurationMillis", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "CpuSnapshot" + }, + "name": "CpuSnapshot", + "package": "@crawlee/core" + } + } + } + ] + }, + { + "id": 337, + "name": "getEventLoopSample", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 214, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L214" + } + ], + "signatures": [ + { + "id": 338, + "name": "getEventLoopSample", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a sample of latest event loop snapshots, with the size of the sample defined\nby the sampleDurationMillis parameter. If omitted, it returns a full snapshot history." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 214, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L214" + } + ], + "parameters": [ + { + "id": 339, + "name": "sampleDurationMillis", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "EventLoopSnapshot" + }, + "name": "EventLoopSnapshot", + "package": "@crawlee/core" + } + } + } + ] + }, + { + "id": 334, + "name": "getMemorySample", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 206, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L206" + } + ], + "signatures": [ + { + "id": 335, + "name": "getMemorySample", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a sample of latest memory snapshots, with the size of the sample defined\nby the sampleDurationMillis parameter. If omitted, it returns a full snapshot history." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 206, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L206" + } + ], + "parameters": [ + { + "id": 336, + "name": "sampleDurationMillis", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "MemorySnapshot" + }, + "name": "MemorySnapshot", + "package": "@crawlee/core" + } + } + } + ] + }, + { + "id": 330, + "name": "start", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 171, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L171" + } + ], + "signatures": [ + { + "id": 331, + "name": "start", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Starts capturing snapshots at configured intervals." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 171, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L171" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 332, + "name": "stop", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 193, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L193" + } + ], + "signatures": [ + { + "id": 333, + "name": "stop", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Stops all resource capturing." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 193, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L193" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 309 + ] + }, + { + "title": "Properties", + "children": [ + 313, + 328, + 317, + 326, + 314, + 323, + 327, + 316, + 324, + 315, + 329, + 312, + 319, + 321, + 322, + 320, + 325, + 318 + ] + }, + { + "title": "Methods", + "children": [ + 343, + 340, + 337, + 334, + 330, + 332 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ] + }, + { + "id": 758, + "name": "Statistics", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The statistics class provides an interface to collecting and logging run\nstatistics for requests.\n\nAll statistic information is saved on key value store\nunder the key " + }, + { + "kind": "code", + "text": "`SDK_CRAWLER_STATISTICS_*`" + }, + { + "kind": "text", + "text": ", persists between\nmigrations and abort/resurrect" + } + ] + }, + "children": [ + { + "id": 763, + "name": "errorTracker", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An error tracker for final retry errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 69, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L69" + } + ], + "type": { + "type": "reference", + "target": 890, + "name": "ErrorTracker", + "package": "@crawlee/core" + } + }, + { + "id": 764, + "name": "errorTrackerRetry", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An error tracker for retry errors prior to the final retry." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 74, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L74" + } + ], + "type": { + "type": "reference", + "target": 890, + "name": "ErrorTracker", + "package": "@crawlee/core" + } + }, + { + "id": 765, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Statistic instance id." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 79, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L79" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 767, + "name": "requestRetryHistogram", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Contains the current retries histogram. Index 0 means 0 retries, index 2, 2 retries, and so on" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 89, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L89" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "defaultValue": "[]" + }, + { + "id": 766, + "name": "state", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Current statistic state used for doing calculations on " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics.calculate" + }, + { + "kind": "text", + "text": " calls" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 84, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L84" + } + ], + "type": { + "type": "reference", + "target": 856, + "name": "StatisticState", + "package": "@crawlee/core" + } + }, + { + "id": 799, + "name": "calculate", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 250, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L250" + } + ], + "signatures": [ + { + "id": 800, + "name": "calculate", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Calculate the current statistics" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 250, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L250" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 801, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 808, + "name": "crawlerRuntimeMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 267, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L267" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "totalMillis" + }, + { + "id": 802, + "name": "requestAvgFailedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 261, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L261" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 803, + "name": "requestAvgFinishedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 262, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L262" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 806, + "name": "requestTotalDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 265, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L265" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 805, + "name": "requestsFailedPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 264, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L264" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 804, + "name": "requestsFinishedPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 263, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L263" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + }, + { + "id": 807, + "name": "requestsTotal", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 266, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L266" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "defaultValue": "..." + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 808, + 802, + 803, + 806, + 805, + 804, + 807 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 260, + "character": 15, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L260" + } + ] + } + } + } + ] + }, + { + "id": 816, + "name": "persistState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 318, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L318" + } + ], + "signatures": [ + { + "id": 817, + "name": "persistState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Persist internal state to the key value store" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 318, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L318" + } + ], + "parameters": [ + { + "id": 818, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Override the persistence options provided in the constructor" + } + ] + }, + "type": { + "type": "reference", + "target": 756, + "name": "PersistenceOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 787, + "name": "registerStatusCode", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 197, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L197" + } + ], + "signatures": [ + { + "id": 788, + "name": "registerStatusCode", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Increments the status code counter." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 197, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L197" + } + ], + "parameters": [ + { + "id": 789, + "name": "code", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 782, + "name": "reset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L149" + } + ], + "signatures": [ + { + "id": 783, + "name": "reset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Set the current statistic instance to pristine values" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L149" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 784, + "name": "resetStore", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 182, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L182" + } + ], + "signatures": [ + { + "id": 785, + "name": "resetStore", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 182, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L182" + } + ], + "parameters": [ + { + "id": 786, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Override the persistence options provided in the constructor" + } + ] + }, + "type": { + "type": "reference", + "target": 756, + "name": "PersistenceOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 809, + "name": "startCapturing", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 275, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L275" + } + ], + "signatures": [ + { + "id": 810, + "name": "startCapturing", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Initializes the key value store for persisting the statistics,\ndisplaying the current state in predefined intervals" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 275, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L275" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 811, + "name": "stopCapturing", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 298, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L298" + } + ], + "signatures": [ + { + "id": 812, + "name": "stopCapturing", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Stops logging and remove event listeners, then persist" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 298, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L298" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 823, + "name": "toJSON", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 392, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L392" + } + ], + "signatures": [ + { + "id": 824, + "name": "toJSON", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Make this class serializable when called with " + }, + { + "kind": "code", + "text": "`JSON.stringify(statsInstance)`" + }, + { + "kind": "text", + "text": " directly\nor through " + }, + { + "kind": "code", + "text": "`keyValueStore.setValue('KEY', statsInstance)`" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 392, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L392" + } + ], + "type": { + "type": "reference", + "target": 832, + "name": "StatisticPersistedState", + "package": "@crawlee/core" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 763, + 764, + 765, + 767, + 766 + ] + }, + { + "title": "Methods", + "children": [ + 799, + 816, + 787, + 782, + 784, + 809, + 811, + 823 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ] + }, + { + "id": 411, + "name": "SystemStatus", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a simple interface to reading system status from a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Snapshotter" + }, + { + "kind": "text", + "text": " instance.\nIt only exposes two functions " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemStatus.getCurrentStatus" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemStatus.getHistoricalStatus" + }, + { + "kind": "text", + "text": ".\nThe system status is calculated using a weighted average of overloaded\nmessages in the snapshots, with the weights being the time intervals\nbetween the snapshots. Each resource is calculated separately\nand the system is overloaded whenever at least one resource is overloaded.\nThe class is used by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\n\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemStatus.getCurrentStatus" + }, + { + "kind": "text", + "text": "\nreturns a boolean that represents the current status of the system.\nThe length of the current timeframe in seconds is configurable\nby the " + }, + { + "kind": "code", + "text": "`currentHistorySecs`" + }, + { + "kind": "text", + "text": " option and represents the max age\nof snapshots to be considered for the calculation.\n\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemStatus.getHistoricalStatus" + }, + { + "kind": "text", + "text": "\nreturns a boolean that represents the long-term status\nof the system. It considers the full snapshot history available\nin the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Snapshotter" + }, + { + "kind": "text", + "text": " instance." + } + ] + }, + "children": [ + { + "id": 412, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 128, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L128" + } + ], + "signatures": [ + { + "id": 413, + "name": "new SystemStatus", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 128, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L128" + } + ], + "parameters": [ + { + "id": 414, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 388, + "name": "SystemStatusOptions", + "package": "@crawlee/core" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 411, + "name": "SystemStatus", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 421, + "name": "getCurrentStatus", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 173, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L173" + } + ], + "signatures": [ + { + "id": 422, + "name": "getCurrentStatus", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemInfo" + }, + { + "kind": "text", + "text": " object with the following structure:\n\n" + }, + { + "kind": "code", + "text": "```javascript\n{\n isSystemIdle: Boolean,\n memInfo: Object,\n eventLoopInfo: Object,\n cpuInfo: Object\n}\n```" + }, + { + "kind": "text", + "text": "\n\nWhere the " + }, + { + "kind": "code", + "text": "`isSystemIdle`" + }, + { + "kind": "text", + "text": " property is set to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " if the system\nhas been overloaded in the last " + }, + { + "kind": "code", + "text": "`options.currentHistorySecs`" + }, + { + "kind": "text", + "text": " seconds,\nand " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " otherwise." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 173, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L173" + } + ], + "type": { + "type": "reference", + "target": 378, + "name": "SystemInfo", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 423, + "name": "getHistoricalStatus", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 193, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L193" + } + ], + "signatures": [ + { + "id": 424, + "name": "getHistoricalStatus", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns an " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemInfo" + }, + { + "kind": "text", + "text": " object with the following structure:\n\n" + }, + { + "kind": "code", + "text": "```javascript\n{\n isSystemIdle: Boolean,\n memInfo: Object,\n eventLoopInfo: Object,\n cpuInfo: Object\n}\n```" + }, + { + "kind": "text", + "text": "\n\nWhere the " + }, + { + "kind": "code", + "text": "`isSystemIdle`" + }, + { + "kind": "text", + "text": " property is set to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " if the system\nhas been overloaded in the full history of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Snapshotter" + }, + { + "kind": "text", + "text": "\n(which is configurable in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Snapshotter" + }, + { + "kind": "text", + "text": ") and " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " otherwise." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 193, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L193" + } + ], + "type": { + "type": "reference", + "target": 378, + "name": "SystemInfo", + "package": "@crawlee/core" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 412 + ] + }, + { + "title": "Methods", + "children": [ + 421, + 423 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ] + }, + { + "id": 3010, + "name": "AddRequestsBatchedOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 3012, + "name": "batchSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 782, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L782" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3014, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L756" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 3003, + "name": "RequestQueueOperationOptions.forefront" + } + }, + { + "id": 3013, + "name": "waitBetweenBatchesMillis", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 787, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L787" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 3011, + "name": "waitForAllRequestsToBeAdded", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to wait for all the provided requests to be added, instead of waiting just for the initial batch of up to " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 777, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L777" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3012, + 3014, + 3013, + 3011 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions" + } + ] + }, + { + "id": 3016, + "name": "AddRequestsBatchedResult", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 3017, + "name": "addedRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 791, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L791" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13690, + "name": "ProcessedRequest", + "package": "@crawlee/types" + } + } + }, + { + "id": 3018, + "name": "waitForAllRequestsToBeAdded", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A promise which will resolve with the rest of the requests that were added to the queue.\n\nAlternatively, we can set " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AddRequestsBatchedOptions.waitForAllRequestsToBeAdded|`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "\nin the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " options.\n\n**Example:**\n\n" + }, + { + "kind": "code", + "text": "```ts\n// Assuming `requests` is a list of requests.\nconst result = await crawler.addRequests(requests);\n\n// If we want to wait for the rest of the requests to be added to the queue:\nawait result.waitForAllRequestsToBeAdded;\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 808, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L808" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 13690, + "name": "ProcessedRequest", + "package": "@crawlee/types" + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3017, + 3018 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult" + } + ] + }, + { + "id": 176, + "name": "AutoscaledPoolOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 194, + "name": "autoscaleIntervalSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines in seconds how often the pool should attempt to adjust the desired concurrency\nbased on the latest system status. Setting it lower than 1 might have a severe impact on performance.\nWe suggest using a value from 5 to 20." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 101, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L101" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 188, + "name": "desiredConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The desired number of tasks that should be running parallel on the start of the pool,\nif there is a large enough supply of them.\nBy default, it is " + }, + { + "kind": "code", + "text": "`minConcurrency`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 59, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L59" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 189, + "name": "desiredConcurrencyRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Minimum level of desired concurrency to reach before more scaling up is allowed." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.90\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 65, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L65" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 183, + "name": "isFinishedFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function that is called only when there are no tasks to be processed.\nIf it resolves to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the pool's run finishes. Being called only\nwhen there are no tasks being processed means that as long as " + }, + { + "kind": "code", + "text": "`isTaskReadyFunction()`" + }, + { + "kind": "text", + "text": "\nkeeps resolving to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`isFinishedFunction()`" + }, + { + "kind": "text", + "text": " will never be called.\nTo abort a run, use the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort" + }, + { + "kind": "text", + "text": " method." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 37, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L37" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 184, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 37, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L37" + } + ], + "signatures": [ + { + "id": 185, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 37, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L37" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 180, + "name": "isTaskReadyFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function that indicates whether " + }, + { + "kind": "code", + "text": "`runTaskFunction`" + }, + { + "kind": "text", + "text": " should be called.\nThis function is called every time there is free capacity for a new task and it should\nindicate whether it should start a new task or not by resolving to either " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ".\nBesides its obvious use, it is also useful for task throttling to save resources." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 28, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L28" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 181, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 28, + "character": 26, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L28" + } + ], + "signatures": [ + { + "id": 182, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 28, + "character": 26, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L28" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 199, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 128, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L128" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + } + }, + { + "id": 193, + "name": "loggingIntervalSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies a period in which the instance logs its state, in seconds.\nSet to " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable periodic logging." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L93" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 187, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of tasks running in parallel." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n200\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 52, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L52" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 198, + "name": "maxTasksPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of tasks per minute the pool can run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but you can pass any positive, non-zero integer." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L126" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 192, + "name": "maybeRunIntervalSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how often the pool should call the " + }, + { + "kind": "code", + "text": "`runTaskFunction()`" + }, + { + "kind": "text", + "text": " to start a new task, in seconds.\nThis has no effect on starting new tasks immediately after a task completes." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.5\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 186, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The minimum number of tasks running in parallel.\n\n*WARNING:* If you set this value too high with respect to the available system memory and CPU, your code might run extremely slow or crash.\nIf you're not sure, just keep the default value and the concurrency will scale up automatically." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 46, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L46" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 177, + "name": "runTaskFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function that performs an asynchronous resource-intensive task.\nThe function must either be labeled " + }, + { + "kind": "code", + "text": "`async`" + }, + { + "kind": "text", + "text": " or return a promise." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 20, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L20" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 178, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 20, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L20" + } + ], + "signatures": [ + { + "id": 179, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 20, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L20" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 191, + "name": "scaleDownStepRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the amount of desired concurrency to be subtracted with each scaling down.\nThe minimum scaling step is one." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.05\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 79, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L79" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 190, + "name": "scaleUpStepRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the fractional amount of desired concurrency to be added with each scaling up.\nThe minimum scaling step is one." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.05\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L72" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 196, + "name": "snapshotterOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options to be passed down to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Snapshotter" + }, + { + "kind": "text", + "text": " constructor. This is useful for fine-tuning\nthe snapshot intervals and history." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 113, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L113" + } + ], + "type": { + "type": "reference", + "target": 298, + "name": "SnapshotterOptions", + "package": "@crawlee/core" + } + }, + { + "id": 197, + "name": "systemStatusOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options to be passed down to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemStatus" + }, + { + "kind": "text", + "text": " constructor. This is useful for fine-tuning\nthe system status reports. If a custom snapshotter is set in the options, it will be used\nby the pool." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L120" + } + ], + "type": { + "type": "reference", + "target": 388, + "name": "SystemStatusOptions", + "package": "@crawlee/core" + } + }, + { + "id": 195, + "name": "taskTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the " + }, + { + "kind": "code", + "text": "`runTaskFunction`" + }, + { + "kind": "text", + "text": " needs to finish, given in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 107, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L107" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 194, + 188, + 189, + 183, + 180, + 199, + 193, + 187, + 198, + 192, + 186, + 177, + 191, + 190, + 196, + 197, + 195 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ] + }, + { + "id": 396, + "name": "ClientInfo", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 399, + "name": "actualRatio", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L82" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 397, + "name": "isOverloaded", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 80, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L80" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 398, + "name": "limitRatio", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L81" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 399, + 397, + 398 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ] + }, + { + "id": 448, + "name": "ConfigurationOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 457, + "name": "availableMemoryRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the ratio, defining the amount of system memory that could be used by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": ".\nWhen the memory usage is more than the provided ratio, the memory is considered overloaded.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_AVAILABLE_MEMORY_RATIO`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.25\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 80, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L80" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 464, + "name": "chromeExecutablePath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines a path to Chrome executable.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_CHROME_EXECUTABLE_PATH`" + }, + { + "kind": "text", + "text": " environment variable." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 134, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L134" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 465, + "name": "defaultBrowserPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines a path to default browser executable.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_BROWSER_PATH`" + }, + { + "kind": "text", + "text": " environment variable." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 141, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L141" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 452, + "name": "defaultDatasetId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default dataset id.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_DATASET_ID`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'default'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 454, + "name": "defaultKeyValueStoreId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default key-value store id.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_KEY_VALUE_STORE_ID`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'default'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L56" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 455, + "name": "defaultRequestQueueId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default request queue id.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_DEFAULT_REQUEST_QUEUE_ID`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'default'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L64" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 466, + "name": "disableBrowserSandbox", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether to disable browser sandbox by adding " + }, + { + "kind": "code", + "text": "`--no-sandbox`" + }, + { + "kind": "text", + "text": " flag to " + }, + { + "kind": "code", + "text": "`launchOptions`" + }, + { + "kind": "text", + "text": ".\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_DISABLE_BROWSER_SANDBOX`" + }, + { + "kind": "text", + "text": " environment variable." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L148" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 450, + "name": "eventManager", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the Event Manager to be used." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n{@apilink EventManager}\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L26" + } + ], + "type": { + "type": "reference", + "target": 1060, + "name": "EventManager", + "package": "@crawlee/core" + } + }, + { + "id": 462, + "name": "headless", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether web browsers launched by Crawlee will run in the headless mode.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_HEADLESS`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 119, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L119" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 461, + "name": "inputKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the default input key, i.e. the key that is used to get the crawler input value\nfrom the default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": " associated with the current crawler run.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_INPUT_KEY`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'INPUT'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 111, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L111" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 467, + "name": "logLevel", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the log level to the given value.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_LOG_LEVEL`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'INFO'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 156, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L156" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 1252, + "name": "LogLevel", + "package": "@apify/log" + }, + { + "type": "reflection", + "declaration": { + "id": 468, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 564, + "character": 4 + } + ], + "signatures": [ + { + "id": 469, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 564, + "character": 4 + } + ], + "parameters": [ + { + "id": 470, + "name": "radix", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 471, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 570, + "character": 4 + } + ], + "signatures": [ + { + "id": 472, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 570, + "character": 4 + } + ], + "parameters": [ + { + "id": 473, + "name": "fractionDigits", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 474, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 576, + "character": 4 + } + ], + "signatures": [ + { + "id": 475, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 576, + "character": 4 + } + ], + "parameters": [ + { + "id": 476, + "name": "fractionDigits", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 477, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 582, + "character": 4 + } + ], + "signatures": [ + { + "id": 478, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 582, + "character": 4 + } + ], + "parameters": [ + { + "id": 479, + "name": "precision", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 480, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 585, + "character": 4 + } + ], + "signatures": [ + { + "id": 481, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 585, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ] + } + }, + { + "type": "reflection", + "declaration": { + "id": 482, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 4540, + "character": 4 + }, + { + "fileName": "website/node_modules/typescript/lib/lib.es2020.number.d.ts", + "line": 27, + "character": 4 + } + ], + "signatures": [ + { + "id": 483, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 4540, + "character": 4 + } + ], + "parameters": [ + { + "id": 484, + "name": "locales", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "id": 485, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Intl.NumberFormatOptions" + }, + "name": "NumberFormatOptions", + "package": "typescript", + "qualifiedName": "Intl.NumberFormatOptions" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 486, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es2020.number.d.ts", + "line": 27, + "character": 4 + } + ], + "parameters": [ + { + "id": 487, + "name": "locales", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es2020.intl.d.ts", + "qualifiedName": "Intl.LocalesArgument" + }, + "name": "LocalesArgument", + "package": "typescript", + "qualifiedName": "Intl.LocalesArgument" + } + }, + { + "id": 488, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Intl.NumberFormatOptions" + }, + "name": "NumberFormatOptions", + "package": "typescript", + "qualifiedName": "Intl.NumberFormatOptions" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + } + ] + } + }, + { + "id": 456, + "name": "maxUsedCpuRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the ratio, defining the maximum CPU usage.\nWhen the CPU usage is higher than the provided ratio, the CPU is considered overloaded." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.95\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 71, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L71" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 458, + "name": "memoryMbytes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the amount of system memory in megabytes to be used by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": ".\nBy default, the maximum memory is set to one quarter of total system memory.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_MEMORY_MBYTES`" + }, + { + "kind": "text", + "text": " environment variable." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L88" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 459, + "name": "persistStateIntervalMillis", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the interval of emitting the " + }, + { + "kind": "code", + "text": "`persistState`" + }, + { + "kind": "text", + "text": " event.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_PERSIST_STATE_INTERVAL_MILLIS`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60_000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 96, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L96" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 489, + "name": "persistStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether the storage client used should persist the data it stores.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_PERSIST_STORAGE`" + }, + { + "kind": "text", + "text": " environment variable." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 163, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L163" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 453, + "name": "purgeOnStart", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether to purge the default storage folders before starting the crawler run.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_PURGE_ON_START`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 449, + "name": "storageClient", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines storage client to be used." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n{@apilink MemoryStorage}\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 20, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L20" + } + ], + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + }, + { + "id": 451, + "name": "storageClientOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Could be used to adjust the storage client behavior\ne.g. " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "MemoryStorageOptions" + }, + { + "kind": "text", + "text": " could be used to adjust the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "MemoryStorage" + }, + { + "kind": "text", + "text": " behavior." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L32" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 460, + "name": "systemInfoIntervalMillis", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the interval of emitting the " + }, + { + "kind": "code", + "text": "`systemInfo`" + }, + { + "kind": "text", + "text": " event." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60_000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 102, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L102" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 463, + "name": "xvfb", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether to run X virtual framebuffer on the web browsers launched by Crawlee.\n\nAlternative to " + }, + { + "kind": "code", + "text": "`CRAWLEE_XVFB`" + }, + { + "kind": "text", + "text": " environment variable." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 127, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L127" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 457, + 464, + 465, + 452, + 454, + 455, + 466, + 450, + 462, + 461, + 467, + 456, + 458, + 459, + 489, + 453, + 449, + 451, + 460, + 463 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ] + }, + { + "id": 59, + "name": "Cookie", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 63, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie domain." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 20, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L20" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 68, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie expiration date, session cookie if not set" + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 66, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "True if cookie is http-only." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L32" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 60, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie name." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L7" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 64, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie path." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 24, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L24" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 69, + "name": "priority", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie Priority." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 44, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L44" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Low" + }, + { + "type": "literal", + "value": "Medium" + }, + { + "type": "literal", + "value": "High" + } + ] + } + }, + { + "id": 70, + "name": "sameParty", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "True if cookie is SameParty." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 67, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie SameSite type." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L36" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 65, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "True if cookie is secure." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 28, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L28" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 72, + "name": "sourcePort", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie source port. Valid values are " + }, + { + "kind": "code", + "text": "`-1`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`1-65535`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`-1`" + }, + { + "kind": "text", + "text": " indicates an unspecified port.\nAn unspecified port value allows protocol clients to emulate legacy cookie scope for the port.\nThis is a temporary ability and it will be removed in the future." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 58, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L58" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 71, + "name": "sourceScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie source scheme type." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 52, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L52" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Unset" + }, + { + "type": "literal", + "value": "NonSecure" + }, + { + "type": "literal", + "value": "Secure" + } + ] + } + }, + { + "id": 62, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The request-URI to associate with the setting of the cookie. This value can affect the\ndefault domain, path, source port, and source scheme values of the created cookie." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 16, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L16" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 61, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookie value." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 11, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L11" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 63, + 68, + 66, + 60, + 64, + 69, + 70, + 67, + 65, + 72, + 71, + 62, + 61 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 3, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L3" + } + ] + }, + { + "id": 620, + "name": "CrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 641, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 642, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 643, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 644, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 645, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 647, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 646, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 647, + 646 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 648, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 601, + "name": "RestrictedCrawlingContext.addRequests" + } + }, + { + "id": 624, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 655, + "name": "Crawler", + "package": "@crawlee/core", + "qualifiedName": "CrawlingContext.Crawler", + "refersToTypeParameter": true + } + }, + { + "id": 628, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 629, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 630, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 631, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "overwrites": { + "type": "reference", + "target": 614, + "name": "RestrictedCrawlingContext.getKeyValueStore" + } + }, + { + "id": 621, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 654, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": 618, + "name": "RestrictedCrawlingContext.log" + } + }, + { + "id": 623, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + } + }, + { + "id": 636, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 656, + "name": "UserData", + "package": "@crawlee/core", + "qualifiedName": "CrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 592, + "name": "RestrictedCrawlingContext.request" + } + }, + { + "id": 622, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + } + }, + { + "id": 649, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 650, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 651, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 652, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 653, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 609, + "name": "RestrictedCrawlingContext.useState" + } + }, + { + "id": 625, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 626, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 627, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "RestrictedCrawlingContext.enqueueLinks" + } + } + ], + "overwrites": { + "type": "reference", + "target": 597, + "name": "RestrictedCrawlingContext.enqueueLinks" + } + }, + { + "id": 637, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 638, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 639, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 640, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 594, + "name": "RestrictedCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 593, + "name": "RestrictedCrawlingContext.pushData" + } + }, + { + "id": 632, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 633, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 634, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 635, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 641, + 624, + 628, + 621, + 654, + 623, + 636, + 622, + 649 + ] + }, + { + "title": "Methods", + "children": [ + 625, + 637, + 632 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "typeParameters": [ + { + "id": 655, + "name": "Crawler", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "unknown" + } + }, + { + "id": 656, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 590, + "typeArguments": [ + { + "type": "reference", + "target": 656, + "name": "UserData", + "package": "@crawlee/core", + "qualifiedName": "CrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "RestrictedCrawlingContext", + "package": "@crawlee/core" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 6550, + "name": "BasicCrawlingContext" + }, + { + "type": "reference", + "target": 7065, + "name": "BrowserCrawlingContext" + } + ] + }, + { + "id": 2112, + "name": "CreateSession", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Factory user-function which creates customized " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session" + }, + { + "kind": "text", + "text": " instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "signatures": [ + { + "id": 2113, + "name": "CreateSession", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L26" + } + ], + "parameters": [ + { + "id": 2114, + "name": "sessionPool", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pool requesting the new session." + } + ] + }, + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + } + }, + { + "id": 2115, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2116, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 2117, + "name": "sessionOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 26, + "character": 43, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L26" + } + ], + "type": { + "type": "reference", + "target": 2033, + "name": "SessionOptions", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2117 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 26, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L26" + } + ] + } + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + }, + { + "id": 2647, + "name": "DatasetConsumer", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-function used in the " + }, + { + "kind": "code", + "text": "`Dataset.forEach()`" + }, + { + "kind": "text", + "text": " API." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "typeParameters": [ + { + "id": 2648, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "signatures": [ + { + "id": 2649, + "name": "DatasetConsumer", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 627, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L627" + } + ], + "parameters": [ + { + "id": 2650, + "name": "item", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Current " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " entry being processed." + } + ] + }, + "type": { + "type": "reference", + "target": 2648, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "DatasetConsumer.Data", + "refersToTypeParameter": true + } + }, + { + "id": 2651, + "name": "index", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Position of current " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " entry." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 2669, + "name": "DatasetContent", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2671, + "name": "count", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Count of dataset entries returned in this set." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 669, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L669" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2675, + "name": "desc", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Should the results be in descending order." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 677, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L677" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 2674, + "name": "items", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dataset entries based on chosen format parameter." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 675, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L675" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 2676, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "DatasetContent.Data", + "refersToTypeParameter": true + } + } + }, + { + "id": 2673, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of dataset entries requested." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 673, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L673" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2672, + "name": "offset", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Position of the first returned entry in the dataset." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 671, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L671" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2670, + "name": "total", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Total count of entries in the dataset." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 667, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L667" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2671, + 2675, + 2674, + 2673, + 2672, + 2670 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "typeParameters": [ + { + "id": 2676, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ] + }, + { + "id": 2537, + "name": "DatasetDataOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2543, + "name": "clean", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function returns only non-empty items and skips hidden fields (i.e. fields starting with " + }, + { + "kind": "code", + "text": "`#`" + }, + { + "kind": "text", + "text": " character).\nNote that the " + }, + { + "kind": "code", + "text": "`clean`" + }, + { + "kind": "text", + "text": " parameter is a shortcut for " + }, + { + "kind": "code", + "text": "`skipHidden: true`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`skipEmpty: true`" + }, + { + "kind": "text", + "text": " options." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 127, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L127" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 2540, + "name": "desc", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the objects are sorted by " + }, + { + "kind": "code", + "text": "`createdAt`" + }, + { + "kind": "text", + "text": " in descending order.\nOtherwise they are sorted in ascending order." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L109" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 2541, + "name": "fields", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of field names that will be included in the result. If omitted, all fields are included in the results." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L114" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 2539, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of array elements to return." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n250000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 102, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L102" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2538, + "name": "offset", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Number of array elements that should be skipped at the start." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 96, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L96" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2545, + "name": "skipEmpty", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function doesn't return empty items.\nNote that in this case the returned number of items might be lower than limit parameter and pagination must be done using the " + }, + { + "kind": "code", + "text": "`limit`" + }, + { + "kind": "text", + "text": " value." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 140, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L140" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 2544, + "name": "skipHidden", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function doesn't return hidden fields (fields starting with \"#\" character)." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 133, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L133" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 2542, + "name": "unwind", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies a name of the field in the result objects that will be used to unwind the resulting objects.\nBy default, the results are returned as they are." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L120" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2543, + 2540, + 2541, + 2539, + 2538, + 2545, + 2544, + 2542 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ] + }, + { + "id": 2546, + "name": "DatasetExportOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2550, + "name": "clean", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function returns only non-empty items and skips hidden fields (i.e. fields starting with " + }, + { + "kind": "code", + "text": "`#`" + }, + { + "kind": "text", + "text": " character).\nNote that the " + }, + { + "kind": "code", + "text": "`clean`" + }, + { + "kind": "text", + "text": " parameter is a shortcut for " + }, + { + "kind": "code", + "text": "`skipHidden: true`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`skipEmpty: true`" + }, + { + "kind": "text", + "text": " options." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 127, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L127" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.clean" + } + }, + { + "id": 2547, + "name": "desc", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the objects are sorted by " + }, + { + "kind": "code", + "text": "`createdAt`" + }, + { + "kind": "text", + "text": " in descending order.\nOtherwise they are sorted in ascending order." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L109" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.desc" + } + }, + { + "id": 2548, + "name": "fields", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of field names that will be included in the result. If omitted, all fields are included in the results." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L114" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.fields" + } + }, + { + "id": 2552, + "name": "skipEmpty", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function doesn't return empty items.\nNote that in this case the returned number of items might be lower than limit parameter and pagination must be done using the " + }, + { + "kind": "code", + "text": "`limit`" + }, + { + "kind": "text", + "text": " value." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 140, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L140" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.skipEmpty" + } + }, + { + "id": 2551, + "name": "skipHidden", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function doesn't return hidden fields (fields starting with \"#\" character)." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 133, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L133" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.skipHidden" + } + }, + { + "id": 2549, + "name": "unwind", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies a name of the field in the result objects that will be used to unwind the resulting objects.\nBy default, the results are returned as they are." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L120" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.unwind" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2550, + 2547, + 2548, + 2552, + 2551, + 2549 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "offset" + }, + { + "type": "literal", + "value": "limit" + } + ] + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 2563, + "name": "DatasetExportToOptions" + } + ] + }, + { + "id": 2563, + "name": "DatasetExportToOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2569, + "name": "clean", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function returns only non-empty items and skips hidden fields (i.e. fields starting with " + }, + { + "kind": "code", + "text": "`#`" + }, + { + "kind": "text", + "text": " character).\nNote that the " + }, + { + "kind": "code", + "text": "`clean`" + }, + { + "kind": "text", + "text": " parameter is a shortcut for " + }, + { + "kind": "code", + "text": "`skipHidden: true`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`skipEmpty: true`" + }, + { + "kind": "text", + "text": " options." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 127, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L127" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 2550, + "name": "DatasetExportOptions.clean" + } + }, + { + "id": 2566, + "name": "desc", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the objects are sorted by " + }, + { + "kind": "code", + "text": "`createdAt`" + }, + { + "kind": "text", + "text": " in descending order.\nOtherwise they are sorted in ascending order." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L109" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 2547, + "name": "DatasetExportOptions.desc" + } + }, + { + "id": 2567, + "name": "fields", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of field names that will be included in the result. If omitted, all fields are included in the results." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L114" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 2548, + "name": "DatasetExportOptions.fields" + } + }, + { + "id": 2564, + "name": "fromDataset", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L169" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2571, + "name": "skipEmpty", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function doesn't return empty items.\nNote that in this case the returned number of items might be lower than limit parameter and pagination must be done using the " + }, + { + "kind": "code", + "text": "`limit`" + }, + { + "kind": "text", + "text": " value." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 140, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L140" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 2552, + "name": "DatasetExportOptions.skipEmpty" + } + }, + { + "id": 2570, + "name": "skipHidden", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the function doesn't return hidden fields (fields starting with \"#\" character)." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 133, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L133" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 2551, + "name": "DatasetExportOptions.skipHidden" + } + }, + { + "id": 2565, + "name": "toKVS", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L170" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2568, + "name": "unwind", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies a name of the field in the result objects that will be used to unwind the resulting objects.\nBy default, the results are returned as they are." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L120" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 2549, + "name": "DatasetExportOptions.unwind" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2569, + 2566, + 2567, + 2564, + 2571, + 2570, + 2565, + 2568 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + ] + }, + { + "id": 2553, + "name": "DatasetIteratorOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2560, + "name": "desc", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the objects are sorted by " + }, + { + "kind": "code", + "text": "`createdAt`" + }, + { + "kind": "text", + "text": " in descending order.\nOtherwise they are sorted in ascending order." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L109" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.desc" + } + }, + { + "id": 2561, + "name": "fields", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of field names that will be included in the result. If omitted, all fields are included in the results." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L114" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.fields" + } + }, + { + "id": 2562, + "name": "unwind", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies a name of the field in the result objects that will be used to unwind the resulting objects.\nBy default, the results are returned as they are." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L120" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.unwind" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2560, + 2561, + 2562 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "offset" + }, + { + "type": "literal", + "value": "limit" + }, + { + "type": "literal", + "value": "clean" + }, + { + "type": "literal", + "value": "skipHidden" + }, + { + "type": "literal", + "value": "skipEmpty" + } + ] + } + ], + "name": "Omit", + "package": "typescript" + } + ] + }, + { + "id": 2652, + "name": "DatasetMapper", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-function used in the " + }, + { + "kind": "code", + "text": "`Dataset.map()`" + }, + { + "kind": "text", + "text": " API." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "typeParameters": [ + { + "id": 2653, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + }, + { + "id": 2654, + "name": "R", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "signatures": [ + { + "id": 2655, + "name": "DatasetMapper", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 641, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L641" + } + ], + "parameters": [ + { + "id": 2656, + "name": "item", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Current " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " entry being processed." + } + ] + }, + "type": { + "type": "reference", + "target": 2653, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "DatasetMapper.Data", + "refersToTypeParameter": true + } + }, + { + "id": 2657, + "name": "index", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Position of current " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " entry." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2654, + "name": "R", + "package": "@crawlee/core", + "qualifiedName": "DatasetMapper.R", + "refersToTypeParameter": true + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 2665, + "name": "DatasetOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2668, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 662, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L662" + } + ], + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + }, + { + "id": 2666, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 660, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L660" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2667, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 661, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L661" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2668, + 2666, + 2667 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ] + }, + { + "id": 2658, + "name": "DatasetReducer", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-function used in the " + }, + { + "kind": "code", + "text": "`Dataset.reduce()`" + }, + { + "kind": "text", + "text": " API." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "typeParameters": [ + { + "id": 2659, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + }, + { + "id": 2660, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "signatures": [ + { + "id": 2661, + "name": "DatasetReducer", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 655, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L655" + } + ], + "parameters": [ + { + "id": 2662, + "name": "memo", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Previous state of the reduction." + } + ] + }, + "type": { + "type": "reference", + "target": 2659, + "name": "T", + "package": "@crawlee/core", + "qualifiedName": "DatasetReducer.T", + "refersToTypeParameter": true + } + }, + { + "id": 2663, + "name": "item", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Current " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " entry being processed." + } + ] + }, + "type": { + "type": "reference", + "target": 2660, + "name": "Data", + "package": "@crawlee/core", + "qualifiedName": "DatasetReducer.Data", + "refersToTypeParameter": true + } + }, + { + "id": 2664, + "name": "index", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Position of current " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " entry." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2659, + "name": "T", + "package": "@crawlee/core", + "qualifiedName": "DatasetReducer.T", + "refersToTypeParameter": true + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 973, + "name": "EnqueueLinksOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 981, + "name": "baseUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A base URL that will be used to resolve relative URLs when using Cheerio. Ignored when using Puppeteer,\nsince the relative URL resolution is done inside the browser automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 983, + "name": "exclude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings, regexp patterns or plain objects\ncontaining patterns matching URLs that will **never** be enqueued.\n\nThe plain objects must include either the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property or the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nGlob matching is always case-insensitive.\nIf you need case-sensitive matching, provide a regexp." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 75, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L75" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + ] + } + } + } + }, + { + "id": 988, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L756" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 3003, + "name": "RequestQueueOperationOptions.forefront" + } + }, + { + "id": 982, + "name": "globs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings or plain objects\ncontaining glob pattern strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property, which holds the glob pattern string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nThe matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " are also not defined, then the function\nenqueues the links with the same subdomain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L63" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 979, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.label" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L36" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 974, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Limit the amount of actually enqueued URLs to this number. Useful for testing across the entire crawling scope." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L21" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 985, + "name": "pseudoUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "*NOTE:* In future versions of SDK the options will be removed.\nPlease use " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead.\n\nAn array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings or plain objects\ncontaining " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`purl`" + }, + { + "kind": "text", + "text": " property, which holds the pseudo-URL string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nWith a pseudo-URL string, the matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues the links with the same subdomain." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "prefer using " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 107, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L107" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1041, + "name": "PseudoUrlInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 984, + "name": "regexps", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of regular expressions or plain objects\ncontaining regular expressions matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property, which holds the regular expression.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nIf " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " are also not defined, then the function\nenqueues the links with the same subdomain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L87" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 976, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A request queue to which the URLs will be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L27" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + }, + { + "id": 977, + "name": "selector", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A CSS selector matching links to be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L30" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 980, + "name": "skipNavigation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", tells the crawler to skip navigation and process the request directly." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 42, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 987, + "name": "strategy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The strategy to use when enqueueing the urls.\n\nDepending on the strategy you select, we will only check certain parts of the URLs found. Here is a diagram of each URL part and their name:\n\n" + }, + { + "kind": "code", + "text": "```md\nProtocol Domain\n┌────┐ ┌─────────┐\nhttps://example.crawlee.dev/...\n│ └─────────────────┤\n│ Hostname │\n│ │\n└─────────────────────────┘\n Origin\n```" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nEnqueueStrategy.SameHostname\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 153, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L153" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 990, + "name": "EnqueueStrategy", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "all" + }, + { + "type": "literal", + "value": "same-domain" + }, + { + "type": "literal", + "value": "same-hostname" + }, + { + "type": "literal", + "value": "same-origin" + } + ] + } + }, + { + "id": 986, + "name": "transformRequestFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Just before a new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " is constructed and enqueued to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ", this function can be used\nto remove it or modify its contents such as " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`payload`" + }, + { + "kind": "text", + "text": " or, most importantly " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": ". This is useful\nwhen you need to enqueue multiple " + }, + { + "kind": "code", + "text": "`Requests`" + }, + { + "kind": "text", + "text": " to the queue that share the same URL, but differ in methods or payloads,\nor to dynamically update or create " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ".\n\nFor example: by adding " + }, + { + "kind": "code", + "text": "`keepUrlFragment: true`" + }, + { + "kind": "text", + "text": " to the " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " object, URL fragments will not be removed\nwhen " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is computed.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```javascript\n{\n transformRequestFunction: (request) => {\n request.userData.foo = 'bar';\n request.keepUrlFragment = true;\n return request;\n }\n}\n```" + }, + { + "kind": "text", + "text": "\n\nNote that " + }, + { + "kind": "code", + "text": "`transformRequestFunction`" + }, + { + "kind": "text", + "text": " has a priority over request options\nspecified in " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " objects,\nand thus some options could be over-written by " + }, + { + "kind": "code", + "text": "`transformRequestFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 133, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L133" + } + ], + "type": { + "type": "reference", + "target": 1050, + "name": "RequestTransform", + "package": "@crawlee/core" + } + }, + { + "id": 975, + "name": "urls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of URLs to enqueue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 24, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L24" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + }, + { + "id": 978, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.userData" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L33" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 981, + 983, + 988, + 982, + 979, + 974, + 985, + 984, + 976, + 977, + 980, + 987, + 986, + 975, + 978 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ] + }, + { + "id": 873, + "name": "ErrnoException", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Node.js Error interface" + } + ] + }, + "children": [ + { + "id": 878, + "name": "cause", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 14, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L14" + } + ], + "type": { + "type": "intrinsic", + "name": "any" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "Error.cause" + } + }, + { + "id": 875, + "name": "code", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 11, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L11" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 874, + "name": "errno", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L10" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 880, + "name": "message", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1077, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.message" + } + }, + { + "id": 879, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1076, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.name" + } + }, + { + "id": 876, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 12, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L12" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 881, + "name": "stack", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "website/node_modules/typescript/lib/lib.es5.d.ts", + "line": 1078, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Error.stack" + } + }, + { + "id": 877, + "name": "syscall", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 13, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L13" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 878, + 875, + 874, + 880, + 879, + 876, + 881, + 877 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error" + }, + "name": "Error", + "package": "typescript" + } + ] + }, + { + "id": 882, + "name": "ErrorTrackerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 889, + "name": "saveErrorSnapshots", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 24, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L24" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 883, + "name": "showErrorCode", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 18, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L18" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 887, + "name": "showErrorMessage", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 22, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L22" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 884, + "name": "showErrorName", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 19, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L19" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 888, + "name": "showFullMessage", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L23" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 886, + "name": "showFullStack", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L21" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 885, + "name": "showStackTrace", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 20, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L20" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 889, + 883, + 887, + 884, + 888, + 886, + 885 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ] + }, + { + "id": 400, + "name": "FinalStatistics", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 410, + "name": "crawlerRuntimeMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L95" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 404, + "name": "requestAvgFailedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 89, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L89" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 405, + "name": "requestAvgFinishedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L90" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 408, + "name": "requestTotalDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L93" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 402, + "name": "requestsFailed", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L87" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 407, + "name": "requestsFailedPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 92, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L92" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 401, + "name": "requestsFinished", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 406, + "name": "requestsFinishedPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 91, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L91" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 409, + "name": "requestsTotal", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 94, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L94" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 403, + "name": "retryHistogram", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L88" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 410, + 404, + 405, + 408, + 402, + 407, + 401, + 406, + 409, + 403 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ] + }, + { + "id": 3019, + "name": "IStorage", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 3020, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 15, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L15" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3021, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 16, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L16" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3020, + 3021 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "implementedBy": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider" + } + ] + }, + { + "id": 2761, + "name": "KeyConsumer", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-function used in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore.forEachKey" + }, + { + "kind": "text", + "text": " method." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "signatures": [ + { + "id": 2762, + "name": "KeyConsumer", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 667, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L667" + } + ], + "parameters": [ + { + "id": 2763, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Current " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": " key being processed." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2764, + "name": "index", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Position of the current key in " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2765, + "name": "info", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Information about the current " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "KeyValueStore" + }, + { + "kind": "text", + "text": " entry." + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 2766, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 2767, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Size of the value associated with the current key in bytes." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 667, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L667" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2767 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 667, + "character": 39, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L667" + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 2774, + "name": "KeyValueStoreIteratorOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2775, + "name": "exclusiveStartKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All keys up to this one (including) are skipped from the result." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 687, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L687" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2775 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ] + }, + { + "id": 2768, + "name": "KeyValueStoreOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2771, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 673, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L673" + } + ], + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + }, + { + "id": 2769, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 671, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L671" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2770, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 672, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L672" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2771, + 2769, + 2770 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ] + }, + { + "id": 1244, + "name": "LoggerOptions", + "variant": "declaration", + "kind": 256, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 1251, + "name": "data", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Additional data to be added to each log line." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 61, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + } + }, + { + "id": 1245, + "name": "level", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the log level to the given value, preventing messages from less important log levels\nfrom being printed to the console. Use in conjunction with the " + }, + { + "kind": "code", + "text": "`log.LEVELS`" + }, + { + "kind": "text", + "text": " constants." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 46, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1250, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger implementation to be used. Default one is log.LoggerText to log messages as easily readable\nstrings. Optionally you can use " + }, + { + "kind": "code", + "text": "`log.LoggerJson`" + }, + { + "kind": "text", + "text": " that formats each log line as a JSON." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 59, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": 1260, + "name": "Logger", + "package": "@apify/log" + } + }, + { + "id": 1246, + "name": "maxDepth", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Max depth of data object that will be logged. Anything deeper than the limit will be stripped off." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 48, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1247, + "name": "maxStringLength", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Max length of the string to be logged. Longer strings will be truncated." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 50, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1248, + "name": "prefix", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Prefix to be prepended the each logged line." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 52, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 1249, + "name": "suffix", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Suffix that will be appended the each logged line." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 54, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1251, + 1245, + 1250, + 1246, + 1247, + 1248, + 1249 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 41, + "character": 10 + } + ] + }, + { + "id": 756, + "name": "PersistenceOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Persistence-related options to control how and when crawler's data gets persisted." + } + ] + }, + "children": [ + { + "id": 757, + "name": "enable", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Use this flag to disable or enable periodic persistence to key value store." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 50, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L50" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 757 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ] + }, + { + "id": 1735, + "name": "ProxyConfigurationFunction", + "variant": "declaration", + "kind": 256, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "signatures": [ + { + "id": 1736, + "name": "ProxyConfigurationFunction", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L9" + } + ], + "parameters": [ + { + "id": 1737, + "name": "sessionId", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 1738, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 1739, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1740, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 9, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L9" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1740 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 9, + "character": 43, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L9" + } + ] + } + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + ] + } + } + ] + }, + { + "id": 1741, + "name": "ProxyConfigurationOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 1743, + "name": "newUrlFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom function that allows you to generate the new proxy URL dynamically. It gets the " + }, + { + "kind": "code", + "text": "`sessionId`" + }, + { + "kind": "text", + "text": " as a parameter and an optional parameter with the " + }, + { + "kind": "code", + "text": "`Request`" + }, + { + "kind": "text", + "text": " object when applicable.\nCan return either stringified proxy URL or " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " if the proxy should not be used. Can be asynchronous.\n\nThis function is used to generate the URL when " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration.newUrl" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration.newProxyInfo" + }, + { + "kind": "text", + "text": " is called." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L26" + } + ], + "type": { + "type": "reference", + "target": 1735, + "name": "ProxyConfigurationFunction", + "package": "@crawlee/core" + } + }, + { + "id": 1742, + "name": "proxyUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of custom proxy URLs to be rotated.\nCustom proxies are not compatible with Apify Proxy and an attempt to use both\nconfiguration options will cause an error to be thrown on initialize." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 18, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L18" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 1744, + "name": "tieredProxyUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of custom proxy URLs to be rotated stratified in tiers.\nThis is a more advanced version of " + }, + { + "kind": "code", + "text": "`proxyUrls`" + }, + { + "kind": "text", + "text": " that allows you to define a hierarchy of proxy URLs\nIf everything goes well, all the requests will be sent through the first proxy URL in the list.\nWhenever the crawler encounters a problem with the current proxy on the given domain, it will switch to the higher tier for this domain.\nThe crawler probes lower-level proxies at intervals to check if it can make the tier downshift.\n\nThis feature is useful when you have a set of proxies with different performance characteristics (speed, price, antibot performance etc.) and you want to use the best one for each domain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 37, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L37" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1743, + 1742, + 1744 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ] + }, + { + "id": 1748, + "name": "ProxyInfo", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The main purpose of the ProxyInfo object is to provide information\nabout the current proxy connection used by the crawler for the request.\nOutside of crawlers, you can get this object by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration.newProxyInfo" + }, + { + "kind": "text", + "text": ".\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst proxyConfiguration = new ProxyConfiguration({\n proxyUrls: ['...', '...'] // List of Proxy URLs to rotate\n});\n\n// Getting proxyInfo object by calling class method directly\nconst proxyInfo = await proxyConfiguration.newProxyInfo();\n\n// In crawler\nconst crawler = new CheerioCrawler({\n // ...\n proxyConfiguration,\n requestHandler({ proxyInfo }) {\n // Getting used proxy URL\n const proxyUrl = proxyInfo.url;\n\n // Getting ID of used Session\n const sessionIdentifier = proxyInfo.sessionId;\n }\n})\n\n```" + } + ] + }, + "children": [ + { + "id": 1753, + "name": "hostname", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Hostname of your proxy." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 99, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L99" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1752, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User's password for the proxy." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 94, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L94" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1754, + "name": "port", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy port." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 104, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L104" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ] + } + }, + { + "id": 1755, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy tier for the current proxy, if applicable (only for " + }, + { + "kind": "code", + "text": "`tieredProxyUrls`" + }, + { + "kind": "text", + "text": ")." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L109" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1749, + "name": "sessionId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The identifier of used " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session" + }, + { + "kind": "text", + "text": ", if used." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 79, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L79" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1750, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The URL of the proxy." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 84, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L84" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1751, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Username for the proxy." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 89, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L89" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1753, + 1752, + 1754, + 1755, + 1749, + 1750, + 1751 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ] + }, + { + "id": 1885, + "name": "PushErrorMessageOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 1886, + "name": "omitStack", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Only push the error message without stack trace when true." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 527, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L527" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1886 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ] + }, + { + "id": 73, + "name": "QueueOperationInfo", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A helper class that is used to report results from various\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " functions as well as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "children": [ + { + "id": 76, + "name": "requestId", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The ID of the added request" + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 16, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L16" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 75, + "name": "wasAlreadyHandled", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates if request was already marked as handled." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 13, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L13" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 74, + "name": "wasAlreadyPresent", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates if request was already present in the queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L10" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 76, + 75, + 74 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 7, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L7" + } + ] + }, + { + "id": 2772, + "name": "RecordOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2773, + "name": "contentType", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies a custom MIME content type of the record." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 680, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L680" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2773 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ] + }, + { + "id": 2778, + "name": "RequestListOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2785, + "name": "keepDuplicateUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default, " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " will deduplicate the provided URLs. Default deduplication is based\non the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property of passed source " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nIf the property is not present, it is generated by normalizing the URL. If present, it is kept intact.\nIn any case, only one request per " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is added to the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " resulting in removal\nof duplicate URLs / unique keys.\n\nSetting " + }, + { + "kind": "code", + "text": "`keepDuplicateUrls`" + }, + { + "kind": "text", + "text": " to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " will append an additional identifier to the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": "\nof each request that does not already include a " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": ". Therefore, duplicate\nURLs will be kept in the list. It does not protect the user from having duplicates in user set\n" + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": "s however. It is the user's responsibility to ensure uniqueness of their unique keys\nif they wish to keep more than just a single copy in the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 165, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L165" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 2783, + "name": "persistRequestsKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Identifies the key in the default key-value store under which the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " persists its\nRequests during the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList.initialize" + }, + { + "kind": "text", + "text": " call.\nThis is necessary if " + }, + { + "kind": "code", + "text": "`persistStateKey`" + }, + { + "kind": "text", + "text": " is set and the source URLs might potentially change,\nto ensure consistency of the source URLs and state object. However, it comes with some\nstorage and performance overheads.\n\nIf " + }, + { + "kind": "code", + "text": "`persistRequestsKey`" + }, + { + "kind": "text", + "text": " is not set, " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList.initialize" + }, + { + "kind": "text", + "text": " will always fetch the sources\nfrom their origin, check that they are consistent with the restored state (if any)\nand throw an error if they are not." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 128, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L128" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2782, + "name": "persistStateKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Identifies the key in the default key-value store under which " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " periodically stores its\nstate (i.e. which URLs were crawled and which not).\nIf the crawler is restarted, " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " will read the state\nand continue where it left off.\n\nIf " + }, + { + "kind": "code", + "text": "`persistStateKey`" + }, + { + "kind": "text", + "text": " is not set, " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " will always start from the beginning,\nand all the source URLs will be crawled again." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 115, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L115" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2781, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Used to pass the proxy configuration for the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " objects.\nTakes advantage of the internal address rotation and authentication process.\nIf undefined, the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " requests will be made without proxy." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 104, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L104" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + } + }, + { + "id": 2779, + "name": "sources", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of sources of URLs for the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": ". It can be either an array of strings,\nplain objects that define at least the " + }, + { + "kind": "code", + "text": "`url`" + }, + { + "kind": "text", + "text": " property, or an array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " instances.\n\n**IMPORTANT:** The " + }, + { + "kind": "code", + "text": "`sources`" + }, + { + "kind": "text", + "text": " array will be consumed (left empty) after " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " initializes.\nThis is a measure to prevent memory leaks in situations when millions of sources are\nadded.\n\nAdditionally, the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " property may be used instead of " + }, + { + "kind": "code", + "text": "`url`" + }, + { + "kind": "text", + "text": ",\nwhich will instruct " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " to download the source URLs from a given remote location.\nThe URLs will be parsed from the received response.\n\n" + }, + { + "kind": "code", + "text": "```\n[\n // A single URL\n 'http://example.com/a/b',\n\n // Modify Request options\n { method: PUT, 'https://example.com/put, payload: { foo: 'bar' }}\n\n // Batch import of URLs from a file hosted on the web,\n // where the URLs should be requested using the HTTP POST request\n { method: 'POST', requestsFromUrl: 'http://example.com/urls.txt' },\n\n // Batch import from remote file, using a specific regular expression to extract the URLs.\n { requestsFromUrl: 'http://example.com/urls.txt', regex: /https://example.com/.+/ },\n\n // Get list of URLs from a Google Sheets document. Just add \"/gviz/tq?tqx=out:csv\" to the Google Sheet URL.\n // For details, see https://help.apify.com/en/articles/2906022-scraping-a-list-of-urls-from-a-google-sheets-document\n { requestsFromUrl: 'https://docs.google.com/spreadsheets/d/1GA5sSQhQjB_REes8I5IKg31S-TuRcznWOPjcpNqtxmU/gviz/tq?tqx=out:csv' }\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 57, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L57" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSource" + }, + "name": "RequestListSource", + "package": "@crawlee/core" + } + } + }, + { + "id": 2780, + "name": "sourcesFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function that will be called to get the sources for the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": ", but only if " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": "\nwas not able to fetch their persisted version (see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestListOptions.persistRequestsKey" + }, + { + "kind": "text", + "text": ").\nIt must return an " + }, + { + "kind": "code", + "text": "`Array`" + }, + { + "kind": "text", + "text": " of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestOptions" + }, + { + "kind": "text", + "text": ".\n\nThis is very useful in a scenario when getting the sources is a resource intensive or time consuming\ntask, such as fetching URLs from multiple sitemaps or parsing URLs from large datasets. Using the\n" + }, + { + "kind": "code", + "text": "`sourcesFunction`" + }, + { + "kind": "text", + "text": " in combination with " + }, + { + "kind": "code", + "text": "`persistStateKey`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`persistRequestsKey`" + }, + { + "kind": "text", + "text": " will allow you to\nfetch and parse those URLs only once, saving valuable time when your crawler migrates or restarts.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestListOptions.sources" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestListOptions.sourcesFunction" + }, + { + "kind": "text", + "text": " are provided,\nthe sources returned by the function will be added after the " + }, + { + "kind": "code", + "text": "`sources`" + }, + { + "kind": "text", + "text": ".\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```javascript\n// Let's say we want to scrape URLs extracted from sitemaps.\n\nconst sourcesFunction = async () => {\n // With super large sitemaps, this operation could take very long\n // and big websites typically have multiple sitemaps.\n const sitemaps = await downloadHugeSitemaps();\n return parseUrlsFromSitemaps(sitemaps);\n};\n\n// Sitemaps can change in real-time, so it's important to persist\n// the URLs we collected. Otherwise we might lose our scraping\n// state in case of an crawler migration / failure / time-out.\nconst requestList = await RequestList.open(null, [], {\n // The sourcesFunction is called now and the Requests are persisted.\n // If something goes wrong and we need to start again, RequestList\n // will load the persisted Requests from storage and will NOT\n // call the sourcesFunction again, saving time and resources.\n sourcesFunction,\n persistStateKey: 'state-key',\n persistRequestsKey: 'requests-key',\n})\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 97, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L97" + } + ], + "type": { + "type": "reference", + "target": 2886, + "name": "RequestListSourcesFunction", + "package": "@crawlee/core" + } + }, + { + "id": 2784, + "name": "state", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The state object that the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": " will be initialized from.\nIt is in the form as returned by " + }, + { + "kind": "code", + "text": "`RequestList.getState()`" + }, + { + "kind": "text", + "text": ", such as follows:\n\n" + }, + { + "kind": "code", + "text": "```\n{\n nextIndex: 5,\n nextUniqueKey: 'unique-key-5'\n inProgress: {\n 'unique-key-1': true,\n 'unique-key-4': true,\n },\n}\n```" + }, + { + "kind": "text", + "text": "\n\nNote that the preferred (and simpler) way to persist the state of crawling of the " + }, + { + "kind": "code", + "text": "`RequestList`" + }, + { + "kind": "text", + "text": "\nis to use the " + }, + { + "kind": "code", + "text": "`stateKeyPrefix`" + }, + { + "kind": "text", + "text": " parameter instead." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L148" + } + ], + "type": { + "type": "reference", + "target": 2882, + "name": "RequestListState", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2785, + 2783, + 2782, + 2781, + 2779, + 2780, + 2784 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ] + }, + { + "id": 2882, + "name": "RequestListState", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents state of a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": ". It can be used to resume a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " which has been previously processed.\nYou can obtain the state by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList.getState" + }, + { + "kind": "text", + "text": " and receive an object with\nthe following structure:\n\n" + }, + { + "kind": "code", + "text": "```\n{\n nextIndex: 5,\n nextUniqueKey: 'unique-key-5'\n inProgress: {\n 'unique-key-1': true,\n 'unique-key-4': true\n },\n}\n```" + } + ] + }, + "children": [ + { + "id": 2885, + "name": "inProgress", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Array of request keys representing those that being processed at the moment." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 904, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L904" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 2883, + "name": "nextIndex", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Position of the next request to be processed." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 898, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L898" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2884, + "name": "nextUniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Key of the next request to be processed." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 901, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L901" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2885, + 2883, + 2884 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ] + }, + { + "id": 1867, + "name": "RequestOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies required and optional fields for constructing a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "children": [ + { + "id": 1872, + "name": "headers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTTP headers in the following format:\n" + }, + { + "kind": "code", + "text": "```\n{\n Accept: 'text/html',\n 'Content-Type': 'application/json'\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 461, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L461" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "Record", + "package": "typescript" + } + }, + { + "id": 1875, + "name": "keepUrlFragment", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " then the hash part of a URL is removed when computing the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property.\nFor example, this causes the " + }, + { + "kind": "code", + "text": "`http://www.example.com#foo`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`http://www.example.com#bar`" + }, + { + "kind": "text", + "text": " URLs\nto have the same " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " of " + }, + { + "kind": "code", + "text": "`http://www.example.com`" + }, + { + "kind": "text", + "text": " and thus the URLs are considered equal.\nNote that this option only has an effect if " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is not set." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 481, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L481" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 1874, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Shortcut for setting " + }, + { + "kind": "code", + "text": "`userData: { label: '...' }`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 472, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L472" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1879, + "name": "maxRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of retries for this request. Allows to override the global " + }, + { + "kind": "code", + "text": "`maxRequestRetries`" + }, + { + "kind": "text", + "text": " option of " + }, + { + "kind": "code", + "text": "`BasicCrawler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 507, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L507" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1870, + "name": "method", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'GET'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 447, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L447" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "get" + }, + { + "type": "literal", + "value": "options" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "AllowedHttpMethods" + }, + "name": "AllowedHttpMethods", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "head" + }, + { + "type": "literal", + "value": "post" + }, + { + "type": "literal", + "value": "put" + }, + { + "type": "literal", + "value": "delete" + }, + { + "type": "literal", + "value": "trace" + }, + { + "type": "literal", + "value": "connect" + }, + { + "type": "literal", + "value": "patch" + } + ] + } + }, + { + "id": 1877, + "name": "noRetry", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " value indicates that the request will not be automatically retried on error." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 495, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L495" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 1871, + "name": "payload", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTTP request payload, e.g. for POST requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L450" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1878, + "name": "skipNavigation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the crawler processing this request evaluates\nthe " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " immediately without prior browser navigation." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 502, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L502" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 1869, + "name": "uniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A unique key identifying the request.\nTwo requests with the same " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " are considered as pointing to the same URL.\n\nIf " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is not provided, then it is automatically generated by normalizing the URL.\nFor example, the URL of " + }, + { + "kind": "code", + "text": "`HTTP://www.EXAMPLE.com/something/`" + }, + { + "kind": "text", + "text": " will produce the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": "\nof " + }, + { + "kind": "code", + "text": "`http://www.example.com/something`" + }, + { + "kind": "text", + "text": ".\n\nThe " + }, + { + "kind": "code", + "text": "`keepUrlFragment`" + }, + { + "kind": "text", + "text": " option determines whether URL hash fragment is included in the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " or not.\n\nThe " + }, + { + "kind": "code", + "text": "`useExtendedUniqueKey`" + }, + { + "kind": "text", + "text": " options determines whether method and payload are included in the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": ",\nproducing a " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " in the following format: " + }, + { + "kind": "code", + "text": "`METHOD(payloadHash):normalizedUrl`" + }, + { + "kind": "text", + "text": ". This is useful\nwhen requests point to the same URL, but with different methods and payloads. For example: form submits.\n\nPass an arbitrary non-empty text value to the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " property\nto override the default behavior and specify which URLs shall be considered equal." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 444, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L444" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1868, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URL of the web page to crawl. It must be a non-empty string." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 425, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L425" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1876, + "name": "useExtendedUniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " then the " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is computed not only from the URL, but also from the method and payload\nproperties. This is useful when making requests to the same URL that are differentiated by method\nor payload, such as form submit navigations in browsers." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 489, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L489" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 1873, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom user data assigned to the request. Use this to save any request related data to the\nrequest's scope, keeping them accessible on retries, failures etc." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 467, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L467" + } + ], + "type": { + "type": "reference", + "target": 1884, + "name": "UserData", + "package": "@crawlee/core", + "qualifiedName": "RequestOptions.UserData", + "refersToTypeParameter": true + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1872, + 1875, + 1874, + 1879, + 1870, + 1877, + 1871, + 1878, + 1869, + 1868, + 1876, + 1873 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "typeParameters": [ + { + "id": 1884, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 2984, + "name": "RequestProviderOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2987, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 723, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L723" + } + ], + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + }, + { + "id": 2985, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 721, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L721" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2986, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 722, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L722" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2988, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Used to pass the proxy configuration for the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " objects.\nTakes advantage of the internal address rotation and authentication process.\nIf undefined, the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " requests will be made without proxy." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 730, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L730" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2987, + 2985, + 2986, + 2988 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 2989, + "name": "RequestQueueOptions" + } + ] + }, + { + "id": 3002, + "name": "RequestQueueOperationOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 3003, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L756" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3003 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions" + }, + { + "type": "reference", + "target": 3010, + "name": "AddRequestsBatchedOptions" + } + ] + }, + { + "id": 2989, + "name": "RequestQueueOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestProviderOptions" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "children": [ + { + "id": 2992, + "name": "client", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 723, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L723" + } + ], + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + }, + "inheritedFrom": { + "type": "reference", + "target": 2987, + "name": "RequestProviderOptions.client" + } + }, + { + "id": 2990, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 721, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L721" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 2985, + "name": "RequestProviderOptions.id" + } + }, + { + "id": 2991, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 722, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L722" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 2986, + "name": "RequestProviderOptions.name" + } + }, + { + "id": 2993, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Used to pass the proxy configuration for the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " objects.\nTakes advantage of the internal address rotation and authentication process.\nIf undefined, the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " requests will be made without proxy." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 730, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L730" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 2988, + "name": "RequestProviderOptions.proxyConfiguration" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2992, + 2990, + 2991, + 2993 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 2984, + "name": "RequestProviderOptions", + "package": "@crawlee/core" + } + ] + }, + { + "id": 1050, + "name": "RequestTransform", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Takes an Apify " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestOptions" + }, + { + "kind": "text", + "text": " object and changes its attributes in a desired way. This user-function is used\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": " to modify requests before enqueuing them." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "signatures": [ + { + "id": 1051, + "name": "RequestTransform", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "The modified request options to enqueue." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 265, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L265" + } + ], + "parameters": [ + { + "id": 1052, + "name": "original", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request options to be modified." + } + ] + }, + "type": { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": false + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + ] + }, + { + "id": 590, + "name": "RestrictedCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 601, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 602, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 603, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 604, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 605, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 607, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 606, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 607, + 606 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 608, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 597, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L56" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 598, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 56, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L56" + } + ], + "signatures": [ + { + "id": 599, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 56, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L56" + } + ], + "parameters": [ + { + "id": 600, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 614, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 77, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L77" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 615, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 77, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L77" + } + ], + "signatures": [ + { + "id": 616, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 77, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L77" + } + ], + "parameters": [ + { + "id": 617, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "id" + }, + { + "type": "literal", + "value": "name" + }, + { + "type": "literal", + "value": "getValue" + }, + { + "type": "literal", + "value": "getAutoSavedValue" + }, + { + "type": "literal", + "value": "setValue" + } + ] + } + ], + "name": "Pick", + "package": "typescript" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 618, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + } + }, + { + "id": 592, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 619, + "name": "UserData", + "package": "@crawlee/core", + "qualifiedName": "RestrictedCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + }, + { + "id": 609, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 610, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 611, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 612, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 613, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 593, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 594, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 595, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 596, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 601, + 597, + 614, + 618, + 592, + 609 + ] + }, + { + "title": "Methods", + "children": [ + 593 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "typeParameters": [ + { + "id": 619, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 591, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 109, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ] + } + } + ] + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 620, + "name": "CrawlingContext" + }, + { + "type": "reference", + "target": 11171, + "name": "AdaptivePlaywrightCrawlerContext" + } + ] + }, + { + "id": 1894, + "name": "RouterHandler", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Simple router that works based on request labels. This instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your crawler.\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { Router, CheerioCrawler, CheerioCrawlingContext } from 'crawlee';\n\nconst router = Router.create();\n\n// we can also use factory methods for specific crawling contexts, the above equals to:\n// import { createCheerioRouter } from 'crawlee';\n// const router = createCheerioRouter();\n\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new CheerioCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + }, + { + "kind": "text", + "text": "\n\nAlternatively we can use the default router instance from crawler object:\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { CheerioCrawler } from 'crawlee';\n\nconst crawler = new CheerioCrawler();\n\ncrawler.router.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\ncrawler.router.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nawait crawler.run();\n```" + }, + { + "kind": "text", + "text": "\n\nFor convenience, we can also define the routes right when creating the router:\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { CheerioCrawler, createCheerioRouter } from 'crawlee';\nconst crawler = new CheerioCrawler({\n requestHandler: createCheerioRouter({\n 'label-a': async (ctx) => { ... },\n 'label-b': async (ctx) => { ... },\n })},\n});\nawait crawler.run();\n```" + }, + { + "kind": "text", + "text": "\n\nMiddlewares are also supported via the " + }, + { + "kind": "code", + "text": "`router.use`" + }, + { + "kind": "text", + "text": " method. There can be multiple\nmiddlewares for a single router, they will be executed sequentially in the same\norder as they were registered.\n\n" + }, + { + "kind": "code", + "text": "```ts\ncrawler.router.use(async (ctx) => {\n ctx.log.info('...');\n});\n```" + } + ] + }, + "children": [ + { + "id": 1905, + "name": "addDefaultHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L109" + } + ], + "signatures": [ + { + "id": 1906, + "name": "addDefaultHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Registers default route handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L109" + } + ], + "typeParameter": [ + { + "id": 1907, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 1926, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "RouterHandler.Context", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 1908, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1909, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 110, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L110" + } + ], + "signatures": [ + { + "id": 1910, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 110, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L110" + } + ], + "parameters": [ + { + "id": 1911, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1926, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "RouterHandler.Context", + "refersToTypeParameter": true + }, + { + "type": "literal", + "value": "request" + } + ], + "name": "Omit", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 1912, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1913, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 110, + "character": 52, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L110" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 1907, + "name": "UserData", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1913 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 110, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L110" + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1967, + "name": "Router.addDefaultHandler" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1966, + "name": "Router.addDefaultHandler" + } + }, + { + "id": 1895, + "name": "addHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 98, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L98" + } + ], + "signatures": [ + { + "id": 1896, + "name": "addHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Registers new route handler for given label." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 98, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L98" + } + ], + "typeParameter": [ + { + "id": 1897, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 1926, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "RouterHandler.Context", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 1898, + "name": "label", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + }, + { + "id": 1899, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1900, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 100, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L100" + } + ], + "signatures": [ + { + "id": 1901, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 100, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L100" + } + ], + "parameters": [ + { + "id": 1902, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1926, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "RouterHandler.Context", + "refersToTypeParameter": true + }, + { + "type": "literal", + "value": "request" + } + ], + "name": "Omit", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 1903, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1904, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 100, + "character": 52, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L100" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 1897, + "name": "UserData", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1904 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 100, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L100" + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1957, + "name": "Router.addHandler" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1956, + "name": "Router.addHandler" + } + }, + { + "id": 1920, + "name": "getHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 127, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L127" + } + ], + "signatures": [ + { + "id": 1921, + "name": "getHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns route handler for given label. If no label is provided, the default request handler will be returned." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 127, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L127" + } + ], + "parameters": [ + { + "id": 1922, + "name": "label", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + } + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 1923, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 127, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L127" + } + ], + "signatures": [ + { + "id": 1924, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 127, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L127" + } + ], + "parameters": [ + { + "id": 1925, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1926, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "RouterHandler.Context", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 1982, + "name": "Router.getHandler" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1981, + "name": "Router.getHandler" + } + }, + { + "id": 1914, + "name": "use", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L120" + } + ], + "signatures": [ + { + "id": 1915, + "name": "use", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Registers a middleware that will be fired before the matching route handler.\nMultiple middlewares can be registered, they will be fired in the same order." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L120" + } + ], + "parameters": [ + { + "id": 1916, + "name": "middleware", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 1917, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 120, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L120" + } + ], + "signatures": [ + { + "id": 1918, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 120, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L120" + } + ], + "parameters": [ + { + "id": 1919, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1926, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "RouterHandler.Context", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 1976, + "name": "Router.use" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 1975, + "name": "Router.use" + } + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 1905, + 1895, + 1920, + 1914 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "typeParameters": [ + { + "id": 1926, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 590, + "name": "RestrictedCrawlingContext", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "enqueueLinks" + } + ], + "name": "Omit", + "package": "typescript" + }, + "default": { + "type": "reference", + "target": 620, + "name": "CrawlingContext", + "package": "@crawlee/core" + } + } + ], + "signatures": [ + { + "id": 1927, + "name": "RouterHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 11, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L11" + } + ], + "parameters": [ + { + "id": 1928, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1926, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "RouterHandler.Context", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 1939, + "typeArguments": [ + { + "type": "reference", + "target": 1926, + "name": "Context", + "package": "@crawlee/core", + "qualifiedName": "RouterHandler.Context", + "refersToTypeParameter": true + } + ], + "name": "Router", + "package": "@crawlee/core" + } + ] + }, + { + "id": 2033, + "name": "SessionOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2046, + "name": "cookieJar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L86" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/tough-cookie/index.d.ts", + "qualifiedName": "CookieJar" + }, + "name": "CookieJar", + "package": "@types/tough-cookie" + } + }, + { + "id": 2039, + "name": "createdAt", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Date of creation." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L63" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 2045, + "name": "errorScore", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L85" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2038, + "name": "errorScoreDecrement", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "It is used for healing the session.\nFor example: if your session is marked bad two times, but it is successful on the third attempt it's errorScore\nis decremented by this number." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.5\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 60, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L60" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2040, + "name": "expiresAt", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Date of expiration." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 66, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L66" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 2034, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Id of session used for generating fingerprints. It is used as proxy session name." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 34, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L34" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2044, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 84, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L84" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + } + }, + { + "id": 2035, + "name": "maxAgeSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Number of seconds after which the session is considered as expired." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2037, + "name": "maxErrorScore", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of marking session as blocked usage.\nIf the " + }, + { + "kind": "code", + "text": "`errorScore`" + }, + { + "kind": "text", + "text": " reaches the " + }, + { + "kind": "code", + "text": "`maxErrorScore`" + }, + { + "kind": "text", + "text": " session is marked as block and it is thrown away.\nIt starts at 0. Calling the " + }, + { + "kind": "code", + "text": "`markBad`" + }, + { + "kind": "text", + "text": " function increases the " + }, + { + "kind": "code", + "text": "`errorScore`" + }, + { + "kind": "text", + "text": " by 1.\nCalling the " + }, + { + "kind": "code", + "text": "`markGood`" + }, + { + "kind": "text", + "text": " will decrease the " + }, + { + "kind": "code", + "text": "`errorScore`" + }, + { + "kind": "text", + "text": " by " + }, + { + "kind": "code", + "text": "`errorScoreDecrement`" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 52, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L52" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2042, + "name": "maxUsageCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Session should be used only a limited amount of times.\nThis number indicates how many times the session is going to be used, before it is thrown away." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n50\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 79, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L79" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2043, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "SessionPool instance. Session will emit the " + }, + { + "kind": "code", + "text": "`sessionRetired`" + }, + { + "kind": "text", + "text": " event on this instance." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + } + }, + { + "id": 2041, + "name": "usageCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the session has been used." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L72" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2036, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Object where custom user data can be stored. For example custom headers." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 43, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L43" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2046, + 2039, + 2045, + 2038, + 2040, + 2034, + 2044, + 2035, + 2037, + 2042, + 2043, + 2041, + 2036 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ] + }, + { + "id": 2118, + "name": "SessionPoolOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 2124, + "name": "blockedStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies which response status codes are considered as blocked.\nSession connected to such request will be marked as retired." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n[401, 403, 429]\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 60, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L60" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + } + }, + { + "id": 2123, + "name": "createSessionFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom function that should return " + }, + { + "kind": "code", + "text": "`Session`" + }, + { + "kind": "text", + "text": " instance.\nAny error thrown from this function will terminate the process.\nFunction receives " + }, + { + "kind": "code", + "text": "`SessionPool`" + }, + { + "kind": "text", + "text": " instance as a parameter" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 53, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L53" + } + ], + "type": { + "type": "reference", + "target": 2112, + "name": "CreateSession", + "package": "@crawlee/core" + } + }, + { + "id": 2119, + "name": "maxPoolSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum size of the pool. Indicates how many sessions are rotated." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1000\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 34, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L34" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2122, + "name": "persistStateKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Session pool persists it's state under this key in Key value store." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nSESSION_POOL_STATE\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 46, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L46" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2121, + "name": "persistStateKeyValueStoreId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Name or Id of " + }, + { + "kind": "code", + "text": "`KeyValueStore`" + }, + { + "kind": "text", + "text": " where is the " + }, + { + "kind": "code", + "text": "`SessionPool`" + }, + { + "kind": "text", + "text": " state stored." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2126, + "name": "persistenceOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Control how and when to persist the state of the session pool." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L68" + } + ], + "type": { + "type": "reference", + "target": 756, + "name": "PersistenceOptions", + "package": "@crawlee/core" + } + }, + { + "id": 2120, + "name": "sessionOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session" + }, + { + "kind": "text", + "text": " instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 37, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L37" + } + ], + "type": { + "type": "reference", + "target": 2033, + "name": "SessionOptions", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2124, + 2123, + 2119, + 2122, + 2121, + 2126, + 2120 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ] + }, + { + "id": 2022, + "name": "SessionState", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Persistable " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session" + }, + { + "kind": "text", + "text": " state." + } + ] + }, + "children": [ + { + "id": 2024, + "name": "cookieJar", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 20, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L20" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/tough-cookie/index.d.ts", + "qualifiedName": "CookieJar.Serialized" + }, + "name": "Serialized", + "package": "@types/tough-cookie", + "qualifiedName": "CookieJar.Serialized" + } + }, + { + "id": 2032, + "name": "createdAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 28, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L28" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2026, + "name": "errorScore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 22, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L22" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2028, + "name": "errorScoreDecrement", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 24, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L24" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2031, + "name": "expiresAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L27" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2023, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 19, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L19" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 2027, + "name": "maxErrorScore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L23" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2030, + "name": "maxUsageCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L26" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2029, + "name": "usageCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 25, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L25" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 2025, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L21" + } + ], + "type": { + "type": "intrinsic", + "name": "object" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 2024, + 2032, + 2026, + 2028, + 2031, + 2023, + 2027, + 2030, + 2029, + 2025 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ] + }, + { + "id": 920, + "name": "SnapshotResult", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 922, + "name": "htmlFileName", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 18, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L18" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 921, + "name": "screenshotFileName", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 17, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L17" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 922, + 921 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ] + }, + { + "id": 298, + "name": "SnapshotterOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 300, + "name": "clientSnapshotIntervalSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the interval of checking the current state\nof the remote API client." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L30" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 299, + "name": "eventLoopSnapshotIntervalSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the interval of measuring the event loop response time." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.5\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L23" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 301, + "name": "maxBlockedMillis", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum allowed delay of the event loop in milliseconds.\nExceeding this limit overloads the event loop." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n50\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 37, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L37" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 303, + "name": "maxClientErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the maximum number of new rate limit errors within\nthe given interval." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 51, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L51" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 302, + "name": "maxUsedMemoryRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the maximum ratio of total memory that can be used.\nExceeding this limit overloads the memory." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.7\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 44, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L44" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 304, + "name": "snapshotHistorySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the interval in seconds for which a history of resource snapshots\nwill be kept. Increasing this to very high numbers will affect performance." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 58, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L58" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 300, + 299, + 301, + 303, + 302, + 304 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ] + }, + { + "id": 832, + "name": "StatisticPersistedState", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Format of the persisted stats" + } + ] + }, + "children": [ + { + "id": 852, + "name": "crawlerFinishedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 490, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L490" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.crawlerFinishedAt" + } + }, + { + "id": 842, + "name": "crawlerLastStartTimestamp", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 472, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L472" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 841, + "name": "crawlerRuntimeMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 471, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L471" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "Omit.crawlerRuntimeMillis" + } + }, + { + "id": 851, + "name": "crawlerStartedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 489, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L489" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.crawlerStartedAt" + } + }, + { + "id": 853, + "name": "errors", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 493, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L493" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.errors" + } + }, + { + "id": 835, + "name": "requestAvgFailedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L465" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 836, + "name": "requestAvgFinishedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 466, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L466" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 850, + "name": "requestMaxDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 486, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L486" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestMaxDurationMillis" + } + }, + { + "id": 849, + "name": "requestMinDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 485, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L485" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestMinDurationMillis" + } + }, + { + "id": 833, + "name": "requestRetryHistogram", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 463, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L463" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + } + }, + { + "id": 839, + "name": "requestTotalDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 469, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L469" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 844, + "name": "requestTotalFailedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 487, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L487" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestTotalFailedDurationMillis" + } + }, + { + "id": 846, + "name": "requestTotalFinishedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 488, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L488" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestTotalFinishedDurationMillis" + } + }, + { + "id": 845, + "name": "requestsFailed", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 481, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L481" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestsFailed" + } + }, + { + "id": 838, + "name": "requestsFailedPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 468, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L468" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "Omit.requestsFailedPerMinute" + } + }, + { + "id": 847, + "name": "requestsFinished", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 480, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L480" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestsFinished" + } + }, + { + "id": 837, + "name": "requestsFinishedPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 467, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L467" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "Omit.requestsFinishedPerMinute" + } + }, + { + "id": 848, + "name": "requestsRetries", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 482, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L482" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestsRetries" + } + }, + { + "id": 840, + "name": "requestsTotal", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 470, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L470" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 855, + "name": "requestsWithStatusCode", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 495, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L495" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ], + "name": "Record", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestsWithStatusCode" + } + }, + { + "id": 854, + "name": "retryErrors", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 494, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L494" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.retryErrors" + } + }, + { + "id": 834, + "name": "statsId", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 464, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L464" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 843, + "name": "statsPersistedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 852, + 842, + 841, + 851, + 853, + 835, + 836, + 850, + 849, + 833, + 839, + 844, + 846, + 845, + 838, + 847, + 837, + 848, + 840, + 855, + 854, + 834, + 843 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 856, + "name": "StatisticState", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "statsPersistedAt" + } + ], + "name": "Omit", + "package": "typescript" + } + ] + }, + { + "id": 856, + "name": "StatisticState", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Contains the statistics state" + } + ] + }, + "children": [ + { + "id": 867, + "name": "crawlerFinishedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 490, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L490" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + ] + } + }, + { + "id": 868, + "name": "crawlerRuntimeMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 491, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L491" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 866, + "name": "crawlerStartedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 489, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L489" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + ] + } + }, + { + "id": 870, + "name": "errors", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 493, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L493" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + } + }, + { + "id": 863, + "name": "requestMaxDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 486, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L486" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 862, + "name": "requestMinDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 485, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L485" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 864, + "name": "requestTotalFailedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 487, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L487" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 865, + "name": "requestTotalFinishedDurationMillis", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 488, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L488" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 858, + "name": "requestsFailed", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 481, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L481" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 860, + "name": "requestsFailedPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 483, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L483" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 857, + "name": "requestsFinished", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 480, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L480" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 861, + "name": "requestsFinishedPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 484, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L484" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 859, + "name": "requestsRetries", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 482, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L482" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 872, + "name": "requestsWithStatusCode", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 495, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L495" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "number" + } + ], + "name": "Record", + "package": "typescript" + } + }, + { + "id": 871, + "name": "retryErrors", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 494, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L494" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + } + }, + { + "id": 869, + "name": "statsPersistedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 492, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L492" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 867, + 868, + 866, + 870, + 863, + 862, + 864, + 865, + 858, + 860, + 857, + 861, + 859, + 872, + 871, + 869 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ] + }, + { + "id": 825, + "name": "StatisticsOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Configuration for the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " instance used by the crawler" + } + ] + }, + "children": [ + { + "id": 829, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Configuration instance to use" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nConfiguration.getGlobalConfig()\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 445, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L445" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + }, + { + "id": 828, + "name": "keyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Key value store instance to persist the statistics.\nIf not provided, the default one will be used when capturing starts" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 439, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L439" + } + ], + "type": { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + }, + { + "id": 826, + "name": "logIntervalSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Interval in seconds to log the current statistics" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 427, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L427" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 827, + "name": "logMessage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Message to log with the current statistics" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'Statistics'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 433, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L433" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 830, + "name": "persistenceOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Control how and when to persist the statistics." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 756, + "name": "PersistenceOptions", + "package": "@crawlee/core" + } + }, + { + "id": 831, + "name": "saveErrorSnapshots", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Save HTML snapshot (and a screenshot if possible) when an error occurs." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L456" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 829, + 828, + 826, + 827, + 830, + 831 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ] + }, + { + "id": 31, + "name": "StorageClient", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents a storage capable of working with datasets, KV stores and request queues." + } + ] + }, + "children": [ + { + "id": 56, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 327, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L327" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 57, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 58, + "name": "rateLimitErrors", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 327, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L327" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 58 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 327, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L327" + } + ] + } + } + }, + { + "id": 34, + "name": "dataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 319, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L319" + } + ], + "signatures": [ + { + "id": 35, + "name": "dataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 319, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L319" + } + ], + "parameters": [ + { + "id": 36, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 13518, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetClient", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 32, + "name": "datasets", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 318, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L318" + } + ], + "signatures": [ + { + "id": 33, + "name": "datasets", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 318, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L318" + } + ], + "type": { + "type": "reference", + "target": 13477, + "name": "DatasetCollectionClient", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 39, + "name": "keyValueStore", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 321, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L321" + } + ], + "signatures": [ + { + "id": 40, + "name": "keyValueStore", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 321, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L321" + } + ], + "parameters": [ + { + "id": 41, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 13580, + "name": "KeyValueStoreClient", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 37, + "name": "keyValueStores", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 320, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L320" + } + ], + "signatures": [ + { + "id": 38, + "name": "keyValueStores", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 320, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L320" + } + ], + "type": { + "type": "reference", + "target": 13552, + "name": "KeyValueStoreCollectionClient", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 48, + "name": "purge", + "variant": "declaration", + "kind": 2048, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L324" + } + ], + "signatures": [ + { + "id": 49, + "name": "purge", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L324" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 44, + "name": "requestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 323, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L323" + } + ], + "signatures": [ + { + "id": 45, + "name": "requestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 323, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L323" + } + ], + "parameters": [ + { + "id": 46, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 47, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13744, + "name": "RequestQueueOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": 13702, + "name": "RequestQueueClient", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 42, + "name": "requestQueues", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 322, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L322" + } + ], + "signatures": [ + { + "id": 43, + "name": "requestQueues", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 322, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L322" + } + ], + "type": { + "type": "reference", + "target": 13604, + "name": "RequestQueueCollectionClient", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 52, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 326, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L326" + } + ], + "signatures": [ + { + "id": 53, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 326, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L326" + } + ], + "parameters": [ + { + "id": 54, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 55, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 50, + "name": "teardown", + "variant": "declaration", + "kind": 2048, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 325, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L325" + } + ], + "signatures": [ + { + "id": 51, + "name": "teardown", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 325, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L325" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 56 + ] + }, + { + "title": "Methods", + "children": [ + 34, + 32, + 39, + 37, + 48, + 44, + 42, + 52, + 50 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 317, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L317" + } + ], + "implementedBy": [ + { + "type": "reference", + "target": 13161, + "name": "MemoryStorage" + } + ] + }, + { + "id": 3092, + "name": "StorageManagerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 3093, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "SDK configuration instance, defaults to the static register." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 155, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L155" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + }, + { + "id": 3095, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Used to pass the proxy configuration for the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " objects.\nTakes advantage of the internal address rotation and authentication process.\nIf undefined, the " + }, + { + "kind": "code", + "text": "`requestsFromUrl`" + }, + { + "kind": "text", + "text": " requests will be made without proxy." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 167, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L167" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + } + }, + { + "id": 3094, + "name": "storageClient", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional storage client that should be used to open storages." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 160, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L160" + } + ], + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3093, + 3095, + 3094 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ] + }, + { + "id": 378, + "name": "SystemInfo", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents the current status of the system." + } + ] + }, + "children": [ + { + "id": 383, + "name": "clientInfo", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 16, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L16" + } + ], + "type": { + "type": "reference", + "target": 396, + "name": "ClientInfo", + "package": "@crawlee/core" + } + }, + { + "id": 382, + "name": "cpuInfo", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 15, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L15" + } + ], + "type": { + "type": "reference", + "target": 396, + "name": "ClientInfo", + "package": "@crawlee/core" + } + }, + { + "id": 381, + "name": "eventLoopInfo", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 14, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L14" + } + ], + "type": { + "type": "reference", + "target": 396, + "name": "ClientInfo", + "package": "@crawlee/core" + } + }, + { + "id": 379, + "name": "isSystemIdle", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If false, system is being overloaded." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 12, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L12" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 384, + "name": "memCurrentBytes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 17, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L17" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 380, + "name": "memInfo", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 13, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L13" + } + ], + "type": { + "type": "reference", + "target": 396, + "name": "ClientInfo", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 383, + 382, + 381, + 379, + 384, + 380 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ] + }, + { + "id": 388, + "name": "SystemStatusOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 389, + "name": "currentHistorySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines max age of snapshots used in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SystemStatus.getCurrentStatus" + }, + { + "kind": "text", + "text": " measurement." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n5\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 393, + "name": "maxClientOverloadedRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum ratio of overloaded snapshots in a Client sample.\nIf the sample exceeds this ratio, the system will be overloaded." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L68" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 392, + "name": "maxCpuOverloadedRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum ratio of overloaded snapshots in a CPU sample.\nIf the sample exceeds this ratio, the system will be overloaded." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.4\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 61, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L61" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 391, + "name": "maxEventLoopOverloadedRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum ratio of overloaded snapshots in an event loop sample.\nIf the sample exceeds this ratio, the system will be overloaded." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.6\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L54" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 390, + "name": "maxMemoryOverloadedRatio", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum ratio of overloaded snapshots in a memory sample.\nIf the sample exceeds this ratio, the system will be overloaded." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0.2\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 47, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L47" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 394, + "name": "snapshotter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`Snapshotter`" + }, + { + "kind": "text", + "text": " instance to be queried for " + }, + { + "kind": "code", + "text": "`SystemStatus`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 73, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L73" + } + ], + "type": { + "type": "reference", + "target": 308, + "name": "Snapshotter", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 389, + 393, + 392, + 391, + 390, + 394 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ] + }, + { + "id": 1745, + "name": "TieredProxy", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 1747, + "name": "proxyTier", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 42, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 1746, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L41" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1747, + 1746 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ] + }, + { + "id": 3111, + "name": "UseStateOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 3112, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 70, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L70" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + }, + { + "id": 3113, + "name": "keyValueStoreName", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the key-value store you'd like the state to be stored in.\nIf not provided, the default store will be used." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 75, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L75" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 3112, + 3113 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ] + }, + { + "id": 1059, + "name": "EventTypeName", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 1053, + "name": "EventType", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "systemInfo" + }, + { + "type": "literal", + "value": "persistState" + }, + { + "type": "literal", + "value": "migrating" + }, + { + "type": "literal", + "value": "aborting" + }, + { + "type": "literal", + "value": "exit" + } + ] + } + }, + { + "id": 1929, + "name": "GetUserDataFromRequest", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "typeParameters": [ + { + "id": 1930, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "type": { + "type": "conditional", + "checkType": { + "type": "reference", + "target": 1930, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + }, + "extendsType": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "inferred", + "name": "Y" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "trueType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Y" + }, + "name": "Y", + "package": "@crawlee/core", + "refersToTypeParameter": true + }, + "falseType": { + "type": "intrinsic", + "name": "never" + } + } + }, + { + "id": 1045, + "name": "GlobInput", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1042, + "name": "GlobObject", + "package": "@crawlee/core" + } + ] + } + }, + { + "id": 1042, + "name": "GlobObject", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 1043, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1044, + "name": "glob", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 27, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1044 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ] + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "name": "RequestOptions", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "method" + }, + { + "type": "literal", + "value": "payload" + }, + { + "type": "literal", + "value": "label" + }, + { + "type": "literal", + "value": "userData" + }, + { + "type": "literal", + "value": "headers" + } + ] + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + }, + { + "id": 1041, + "name": "PseudoUrlInput", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1038, + "name": "PseudoUrlObject", + "package": "@crawlee/core" + } + ] + } + }, + { + "id": 1038, + "name": "PseudoUrlObject", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 1039, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1040, + "name": "purl", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 32, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1040 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 30, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ] + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "name": "RequestOptions", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "method" + }, + { + "type": "literal", + "value": "payload" + }, + { + "type": "literal", + "value": "label" + }, + { + "type": "literal", + "value": "userData" + }, + { + "type": "literal", + "value": "headers" + } + ] + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + }, + { + "id": 1049, + "name": "RegExpInput", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + { + "type": "reference", + "target": 1046, + "name": "RegExpObject", + "package": "@crawlee/core" + } + ] + } + }, + { + "id": 1046, + "name": "RegExpObject", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 1047, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1048, + "name": "regexp", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 29, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1048 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 27, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ] + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "name": "RequestOptions", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "method" + }, + { + "type": "literal", + "value": "payload" + }, + { + "type": "literal", + "value": "label" + }, + { + "type": "literal", + "value": "userData" + }, + { + "type": "literal", + "value": "headers" + } + ] + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + }, + { + "id": 2886, + "name": "RequestListSourcesFunction", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 2887, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "signatures": [ + { + "id": 2888, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSource" + }, + "name": "RequestListSource", + "package": "@crawlee/core" + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 1931, + "name": "RouterRoutes", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "typeParameters": [ + { + "id": 1937, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {} + }, + { + "id": 1938, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "mapped", + "parameter": "label", + "parameterType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "symbol" + } + ] + }, + "templateType": { + "type": "reflection", + "declaration": { + "id": 1932, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 17, + "character": 32, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L17" + } + ], + "signatures": [ + { + "id": 1933, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 1934, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1937, + "name": "Context", + "package": "@crawlee/core", + "refersToTypeParameter": true + }, + { + "type": "literal", + "value": "request" + } + ], + "name": "Omit", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 1935, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1936, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 17, + "character": 67, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L17" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 1938, + "name": "UserData", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1936 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 17, + "character": 65, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L17" + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + }, + { + "id": 1887, + "name": "Source", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 1888, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1890, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 1889, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1890, + 1889 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + }, + { + "type": "reference", + "target": 1808, + "name": "Request", + "package": "@crawlee/core" + } + ] + } + }, + { + "id": 1034, + "name": "UrlPatternObject", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reflection", + "declaration": { + "id": 1035, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 1036, + "name": "glob", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L23" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1037, + "name": "regexp", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 24, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L24" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 1036, + 1037 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 31, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ] + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "name": "RequestOptions", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "method" + }, + { + "type": "literal", + "value": "payload" + }, + { + "type": "literal", + "value": "label" + }, + { + "type": "literal", + "value": "userData" + }, + { + "type": "literal", + "value": "headers" + } + ] + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + }, + { + "id": 2334, + "name": "BLOCKED_STATUS_CODES", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "defaultValue": "..." + }, + { + "id": 2336, + "name": "MAX_POOL_SIZE", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "type": { + "type": "literal", + "value": 1000 + }, + "defaultValue": "1000" + }, + { + "id": 2335, + "name": "PERSIST_STATE_KEY", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "type": { + "type": "literal", + "value": "SDK_SESSION_POOL_STATE" + }, + "defaultValue": "'SDK_SESSION_POOL_STATE'" + }, + { + "id": 1181, + "name": "log", + "variant": "declaration", + "kind": 32, + "flags": { + "isExternal": true, + "isConst": true + }, + "sources": [ + { + "fileName": "node_modules/@apify/log/cjs/index.d.ts", + "line": 252, + "character": 14 + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + } + }, + { + "id": 3119, + "name": "checkStorageAccess", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "signatures": [ + { + "id": 3120, + "name": "checkStorageAccess", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Invoke a storage access checker function defined using " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "withCheckedStorageAccess", + "target": 3121, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " higher up in the call stack." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 34, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "intrinsic", + "name": "void" + } + ] + } + } + ] + }, + { + "id": 950, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "signatures": [ + { + "id": 951, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function enqueues the urls provided to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " provided. If you want to automatically find and enqueue links,\nyou should use the context-aware " + }, + { + "kind": "code", + "text": "`enqueueLinks`" + }, + { + "kind": "text", + "text": " function provided on the crawler contexts.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nawait enqueueLinks({\n urls: aListOfFoundUrls,\n requestQueue,\n selector: 'a.product-detail',\n globs: [\n 'https://www.example.com/handbags/*',\n 'https://www.example.com/purses/*'\n ],\n});\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "parameters": [ + { + "id": 952, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 953, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 959, + "name": "baseUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A base URL that will be used to resolve relative URLs when using Cheerio. Ignored when using Puppeteer,\nsince the relative URL resolution is done inside the browser automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 961, + "name": "exclude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings, regexp patterns or plain objects\ncontaining patterns matching URLs that will **never** be enqueued.\n\nThe plain objects must include either the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property or the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nGlob matching is always case-insensitive.\nIf you need case-sensitive matching, provide a regexp." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 75, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L75" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + ] + } + } + } + }, + { + "id": 966, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L756" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 960, + "name": "globs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings or plain objects\ncontaining glob pattern strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property, which holds the glob pattern string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nThe matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " are also not defined, then the function\nenqueues the links with the same subdomain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L63" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 957, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.label" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L36" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 954, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Limit the amount of actually enqueued URLs to this number. Useful for testing across the entire crawling scope." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L21" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 963, + "name": "pseudoUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "*NOTE:* In future versions of SDK the options will be removed.\nPlease use " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead.\n\nAn array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings or plain objects\ncontaining " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`purl`" + }, + { + "kind": "text", + "text": " property, which holds the pseudo-URL string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nWith a pseudo-URL string, the matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues the links with the same subdomain." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "prefer using " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 107, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L107" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1041, + "name": "PseudoUrlInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 962, + "name": "regexps", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of regular expressions or plain objects\ncontaining regular expressions matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property, which holds the regular expression.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nIf " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " are also not defined, then the function\nenqueues the links with the same subdomain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L87" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + } + } + }, + { + "id": 968, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A request queue to which the URLs will be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L27" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + }, + { + "id": 955, + "name": "selector", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A CSS selector matching links to be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L30" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 958, + "name": "skipNavigation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", tells the crawler to skip navigation and process the request directly." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 42, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 965, + "name": "strategy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The strategy to use when enqueueing the urls.\n\nDepending on the strategy you select, we will only check certain parts of the URLs found. Here is a diagram of each URL part and their name:\n\n" + }, + { + "kind": "code", + "text": "```md\nProtocol Domain\n┌────┐ ┌─────────┐\nhttps://example.crawlee.dev/...\n│ └─────────────────┤\n│ Hostname │\n│ │\n└─────────────────────────┘\n Origin\n```" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nEnqueueStrategy.SameHostname\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 153, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L153" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 990, + "name": "EnqueueStrategy", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "all" + }, + { + "type": "literal", + "value": "same-domain" + }, + { + "type": "literal", + "value": "same-hostname" + }, + { + "type": "literal", + "value": "same-origin" + } + ] + } + }, + { + "id": 964, + "name": "transformRequestFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Just before a new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " is constructed and enqueued to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ", this function can be used\nto remove it or modify its contents such as " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`payload`" + }, + { + "kind": "text", + "text": " or, most importantly " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": ". This is useful\nwhen you need to enqueue multiple " + }, + { + "kind": "code", + "text": "`Requests`" + }, + { + "kind": "text", + "text": " to the queue that share the same URL, but differ in methods or payloads,\nor to dynamically update or create " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ".\n\nFor example: by adding " + }, + { + "kind": "code", + "text": "`keepUrlFragment: true`" + }, + { + "kind": "text", + "text": " to the " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " object, URL fragments will not be removed\nwhen " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is computed.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```javascript\n{\n transformRequestFunction: (request) => {\n request.userData.foo = 'bar';\n request.keepUrlFragment = true;\n return request;\n }\n}\n```" + }, + { + "kind": "text", + "text": "\n\nNote that " + }, + { + "kind": "code", + "text": "`transformRequestFunction`" + }, + { + "kind": "text", + "text": " has a priority over request options\nspecified in " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " objects,\nand thus some options could be over-written by " + }, + { + "kind": "code", + "text": "`transformRequestFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 133, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L133" + } + ], + "type": { + "type": "reference", + "target": 1050, + "name": "RequestTransform", + "package": "@crawlee/core" + } + }, + { + "id": 969, + "name": "urls", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of URLs to enqueue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 24, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L24" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + }, + { + "id": 956, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.userData" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L33" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 959, + 961, + 966, + 960, + 957, + 954, + 963, + 962, + 968, + 955, + 958, + 965, + 964, + 969, + 956 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/type-fest/source/simplify.d.ts", + "line": 58, + "character": 26 + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 1022, + "name": "filterRequestsByPatterns", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "signatures": [ + { + "id": 1023, + "name": "filterRequestsByPatterns", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "parameters": [ + { + "id": 1024, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + }, + { + "id": 1025, + "name": "patterns", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1034, + "name": "UrlPatternObject", + "package": "@crawlee/core" + } + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1808, + "name": "Request", + "package": "@crawlee/core" + } + } + } + ] + }, + { + "id": 3096, + "name": "purgeDefaultStorages", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "signatures": [ + { + "id": 3097, + "name": "purgeDefaultStorages", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cleans up the local storage folder (defaults to " + }, + { + "kind": "code", + "text": "`./storage`" + }, + { + "kind": "text", + "text": ") created when running code locally.\nPurging will remove all the files in all storages except for INPUT.json in the default KV store.\n\nPurging of storages is happening automatically when we run our crawler (or when we open some storage\nexplicitly, e.g. via " + }, + { + "kind": "code", + "text": "`RequestList.open()`" + }, + { + "kind": "text", + "text": "). We can disable that via " + }, + { + "kind": "code", + "text": "`purgeOnStart`" + }, + { + "kind": "text", + "text": " " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Configuration" + }, + { + "kind": "text", + "text": "\noption or by setting " + }, + { + "kind": "code", + "text": "`CRAWLEE_PURGE_ON_START`" + }, + { + "kind": "text", + "text": " environment variable to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ".\n\nThis is a shortcut for running (optional) " + }, + { + "kind": "code", + "text": "`purge`" + }, + { + "kind": "text", + "text": " method on the StorageClient interface, in other words\nit will call the " + }, + { + "kind": "code", + "text": "`purge`" + }, + { + "kind": "text", + "text": " method of the underlying storage implementation we are currently using. You can\nmake sure the storage is purged only once for a given execution context if you set " + }, + { + "kind": "code", + "text": "`onlyPurgeOnce`" + }, + { + "kind": "text", + "text": " to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " in\nthe " + }, + { + "kind": "code", + "text": "`options`" + }, + { + "kind": "text", + "text": " object" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + } + ], + "parameters": [ + { + "id": 3098, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "PurgeDefaultStorageOptions" + }, + "name": "PurgeDefaultStorageOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + }, + { + "id": 3099, + "name": "purgeDefaultStorages", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cleans up the local storage folder (defaults to " + }, + { + "kind": "code", + "text": "`./storage`" + }, + { + "kind": "text", + "text": ") created when running code locally.\nPurging will remove all the files in all storages except for INPUT.json in the default KV store.\n\nPurging of storages is happening automatically when we run our crawler (or when we open some storage\nexplicitly, e.g. via " + }, + { + "kind": "code", + "text": "`RequestList.open()`" + }, + { + "kind": "text", + "text": "). We can disable that via " + }, + { + "kind": "code", + "text": "`purgeOnStart`" + }, + { + "kind": "text", + "text": " " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Configuration" + }, + { + "kind": "text", + "text": "\noption or by setting " + }, + { + "kind": "code", + "text": "`CRAWLEE_PURGE_ON_START`" + }, + { + "kind": "text", + "text": " environment variable to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ".\n\nThis is a shortcut for running (optional) " + }, + { + "kind": "code", + "text": "`purge`" + }, + { + "kind": "text", + "text": " method on the StorageClient interface, in other words\nit will call the " + }, + { + "kind": "code", + "text": "`purge`" + }, + { + "kind": "text", + "text": " method of the underlying storage implementation we are currently using." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + } + ], + "parameters": [ + { + "id": 3100, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + }, + { + "id": 3101, + "name": "client", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 1030, + "name": "tryAbsoluteURL", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 90, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L90" + } + ], + "signatures": [ + { + "id": 1031, + "name": "tryAbsoluteURL", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Helper function used to validate URLs used when extracting URLs from a page" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 90, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L90" + } + ], + "parameters": [ + { + "id": 1032, + "name": "href", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 1033, + "name": "baseUrl", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "undefined" + } + ] + } + } + ] + }, + { + "id": 3102, + "name": "useState", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "signatures": [ + { + "id": 3103, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Easily create and manage state values. All state values are automatically persisted.\n\nValues can be modified by simply using the assignment operator." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "typeParameter": [ + { + "id": 3104, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 3105, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The name of the store to use." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 3106, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If the store does not yet have a value in it, the value will be initialized with the " + }, + { + "kind": "code", + "text": "`defaultValue`" + }, + { + "kind": "text", + "text": " you provide." + } + ] + }, + "type": { + "type": "reference", + "target": 3104, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + }, + "defaultValue": "..." + }, + { + "id": 3107, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An optional object parameter where a custom " + }, + { + "kind": "code", + "text": "`keyValueStoreName`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`config`" + }, + { + "kind": "text", + "text": " can be passed in." + } + ] + }, + "type": { + "type": "reference", + "target": 3111, + "name": "UseStateOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3104, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 3121, + "name": "withCheckedStorageAccess", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "signatures": [ + { + "id": 3122, + "name": "withCheckedStorageAccess", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Define a storage access checker function that should be used by calls to " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "checkStorageAccess", + "target": 3119, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " in the callbacks." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 40, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "typeParameter": [ + { + "id": 3123, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 3124, + "name": "checkFunction", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The check function that should be invoked by " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "checkStorageAccess", + "target": 3119, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " calls" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 3125, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 65, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "signatures": [ + { + "id": 3126, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 65, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + } + } + }, + { + "id": 3127, + "name": "callback", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The code that should be invoked with the " + }, + { + "kind": "code", + "text": "`checkFunction`" + }, + { + "kind": "text", + "text": " setting" + } + ] + }, + "type": { + "type": "reflection", + "declaration": { + "id": 3128, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 87, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "signatures": [ + { + "id": 3129, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 87, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/typedefs.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3123, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Awaitable", + "package": "@crawlee/core" + } + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3123, + "name": "T", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 2525 + ] + }, + { + "title": "Enumerations", + "children": [ + 990, + 1053, + 1252, + 1799 + ] + }, + { + "title": "Classes", + "children": [ + 200, + 490, + 98, + 2572, + 923, + 890, + 1060, + 2684, + 1103, + 1182, + 1260, + 1416, + 1573, + 77, + 1756, + 14, + 1808, + 657, + 2787, + 2889, + 2431, + 2337, + 140, + 1939, + 2047, + 158, + 2127, + 308, + 758, + 411 + ] + }, + { + "title": "Interfaces", + "children": [ + 3010, + 3016, + 176, + 396, + 448, + 59, + 620, + 2112, + 2647, + 2669, + 2537, + 2546, + 2563, + 2553, + 2652, + 2665, + 2658, + 973, + 873, + 882, + 400, + 3019, + 2761, + 2774, + 2768, + 1244, + 756, + 1735, + 1741, + 1748, + 1885, + 73, + 2772, + 2778, + 2882, + 1867, + 2984, + 3002, + 2989, + 1050, + 590, + 1894, + 2033, + 2118, + 2022, + 920, + 298, + 832, + 856, + 825, + 31, + 3092, + 378, + 388, + 1745, + 3111 + ] + }, + { + "title": "Type Aliases", + "children": [ + 1059, + 1929, + 1045, + 1042, + 1041, + 1038, + 1049, + 1046, + 2886, + 1931, + 1887, + 1034 + ] + }, + { + "title": "Variables", + "children": [ + 2334, + 2336, + 2335, + 1181 + ] + }, + { + "title": "Functions", + "children": [ + 3119, + 950, + 1022, + 3096, + 1030, + 3102, + 3121 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 758 + ] + }, + { + "title": "Result Stores", + "children": [ + 2572, + 2684 + ] + }, + { + "title": "Scaling", + "children": [ + 200, + 1756, + 2047, + 2127, + 308, + 411 + ] + }, + { + "title": "Sources", + "children": [ + 14, + 1808, + 2787, + 2431, + 2337 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 2525, + 990, + 1053, + 1252, + 1799, + 490, + 98, + 923, + 890, + 1060, + 1103, + 1182, + 1260, + 1416, + 1573, + 77, + 657, + 2889, + 140, + 1939, + 158, + 3010, + 3016, + 176, + 396, + 448, + 59, + 620, + 2112, + 2647, + 2669, + 2537, + 2546, + 2563, + 2553, + 2652, + 2665, + 2658, + 973, + 873, + 882, + 400, + 3019, + 2761, + 2774, + 2768, + 1244, + 756, + 1735, + 1741, + 1748, + 1885, + 73, + 2772, + 2778, + 2882, + 1867, + 2984, + 3002, + 2989, + 1050, + 590, + 1894, + 2033, + 2118, + 2022, + 920, + 298, + 832, + 856, + 825, + 31, + 3092, + 378, + 388, + 1745, + 3111, + 1059, + 1929, + 1045, + 1042, + 1041, + 1038, + 1049, + 1046, + 2886, + 1931, + 1887, + 1034, + 2334, + 2336, + 2335, + 1181, + 3119, + 950, + 1022, + 3096, + 1030, + 3102, + 3121 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L1" + } + ] + }, + { + "id": 5, + "name": "http-crawler/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 7611, + "name": "AddRequestsBatchedOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "target": 3010 + }, + { + "id": 7612, + "name": "AddRequestsBatchedResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "target": 3016 + }, + { + "id": 7490, + "name": "AutoscaledPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ], + "target": 200 + }, + { + "id": 7489, + "name": "AutoscaledPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ], + "target": 176 + }, + { + "id": 7647, + "name": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/constants.ts", + "line": 6, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/constants.ts#L6" + } + ], + "target": 6883 + }, + { + "id": 7574, + "name": "BLOCKED_STATUS_CODES", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "target": 2334 + }, + { + "id": 7642, + "name": "BasicCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 431, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L431" + } + ], + "target": 6657 + }, + { + "id": 7640, + "name": "BasicCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 121, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L121" + } + ], + "target": 6627 + }, + { + "id": 7635, + "name": "BasicCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 62, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L62" + } + ], + "target": 6550 + }, + { + "id": 7495, + "name": "ClientInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ], + "target": 396 + }, + { + "id": 7499, + "name": "Configuration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ], + "target": 490 + }, + { + "id": 7498, + "name": "ConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ], + "target": 448 + }, + { + "id": 7482, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 59 + }, + { + "id": 7644, + "name": "CrawlerAddRequestsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1643, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1643" + } + ], + "target": 6867 + }, + { + "id": 7645, + "name": "CrawlerAddRequestsResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1645, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1645" + } + ], + "target": 6873 + }, + { + "id": 7641, + "name": "CrawlerExperiments", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 357, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L357" + } + ], + "target": 6655 + }, + { + "id": 7646, + "name": "CrawlerRunOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1647, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1647" + } + ], + "target": 6876 + }, + { + "id": 7501, + "name": "CrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "target": 620 + }, + { + "id": 7643, + "name": "CreateContextOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1637, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1637" + } + ], + "target": 6863 + }, + { + "id": 7571, + "name": "CreateSession", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "target": 2112 + }, + { + "id": 7485, + "name": "CriticalError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "target": 98 + }, + { + "id": 7587, + "name": "Dataset", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "target": 2572 + }, + { + "id": 7588, + "name": "DatasetConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "target": 2647 + }, + { + "id": 7592, + "name": "DatasetContent", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "target": 2669 + }, + { + "id": 7583, + "name": "DatasetDataOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ], + "target": 2537 + }, + { + "id": 7584, + "name": "DatasetExportOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "target": 2546 + }, + { + "id": 7586, + "name": "DatasetExportToOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "target": 2563 + }, + { + "id": 7585, + "name": "DatasetIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "target": 2553 + }, + { + "id": 7589, + "name": "DatasetMapper", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "target": 2652 + }, + { + "id": 7591, + "name": "DatasetOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ], + "target": 2665 + }, + { + "id": 7590, + "name": "DatasetReducer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "target": 2658 + }, + { + "id": 7517, + "name": "EnqueueLinksOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "target": 973 + }, + { + "id": 7518, + "name": "EnqueueStrategy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ], + "target": 990 + }, + { + "id": 7510, + "name": "ErrnoException", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "target": 873 + }, + { + "id": 7637, + "name": "ErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "target": 6608 + }, + { + "id": 7514, + "name": "ErrorSnapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ], + "target": 923 + }, + { + "id": 7512, + "name": "ErrorTracker", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ], + "target": 890 + }, + { + "id": 7511, + "name": "ErrorTrackerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ], + "target": 882 + }, + { + "id": 7539, + "name": "EventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "target": 1060 + }, + { + "id": 7537, + "name": "EventType", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ], + "target": 1053 + }, + { + "id": 7538, + "name": "EventTypeName", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "target": 1059 + }, + { + "id": 7496, + "name": "FinalStatistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ], + "target": 400 + }, + { + "id": 7560, + "name": "GetUserDataFromRequest", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "target": 1929 + }, + { + "id": 7533, + "name": "GlobInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "target": 1045 + }, + { + "id": 7532, + "name": "GlobObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "target": 1042 + }, + { + "id": 7613, + "name": "IStorage", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "target": 3019 + }, + { + "id": 7595, + "name": "KeyConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "target": 2761 + }, + { + "id": 7594, + "name": "KeyValueStore", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ], + "target": 2684 + }, + { + "id": 7598, + "name": "KeyValueStoreIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ], + "target": 2774 + }, + { + "id": 7596, + "name": "KeyValueStoreOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ], + "target": 2768 + }, + { + "id": 7540, + "name": "LocalEventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "target": 1103 + }, + { + "id": 7542, + "name": "Log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L5" + } + ], + "target": 1182 + }, + { + "id": 7544, + "name": "LogLevel", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L7" + } + ], + "target": 1252 + }, + { + "id": 7545, + "name": "Logger", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L8" + } + ], + "target": 1260 + }, + { + "id": 7546, + "name": "LoggerJson", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L9" + } + ], + "target": 1416 + }, + { + "id": 7543, + "name": "LoggerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L6" + } + ], + "target": 1244 + }, + { + "id": 7547, + "name": "LoggerText", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L10" + } + ], + "target": 1573 + }, + { + "id": 7576, + "name": "MAX_POOL_SIZE", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "target": 2336 + }, + { + "id": 7484, + "name": "NonRetryableError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "target": 77 + }, + { + "id": 7575, + "name": "PERSIST_STATE_KEY", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "target": 2335 + }, + { + "id": 7505, + "name": "PersistenceOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ], + "target": 756 + }, + { + "id": 7552, + "name": "ProxyConfiguration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ], + "target": 1756 + }, + { + "id": 7548, + "name": "ProxyConfigurationFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "target": 1735 + }, + { + "id": 7549, + "name": "ProxyConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ], + "target": 1741 + }, + { + "id": 7551, + "name": "ProxyInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ], + "target": 1748 + }, + { + "id": 7477, + "name": "PseudoUrl", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 16, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L16" + } + ], + "target": 14 + }, + { + "id": 7531, + "name": "PseudoUrlInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "target": 1041 + }, + { + "id": 7530, + "name": "PseudoUrlObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "target": 1038 + }, + { + "id": 7556, + "name": "PushErrorMessageOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ], + "target": 1885 + }, + { + "id": 7483, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 68, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 73 + }, + { + "id": 7597, + "name": "RecordOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ], + "target": 2772 + }, + { + "id": 7535, + "name": "RegExpInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "target": 1049 + }, + { + "id": 7534, + "name": "RegExpObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "target": 1046 + }, + { + "id": 7554, + "name": "Request", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "target": 1808 + }, + { + "id": 7636, + "name": "RequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "target": 6603 + }, + { + "id": 7502, + "name": "RequestHandlerResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ], + "target": 657 + }, + { + "id": 7602, + "name": "RequestList", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ], + "target": 2787 + }, + { + "id": 7601, + "name": "RequestListOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ], + "target": 2778 + }, + { + "id": 7604, + "name": "RequestListSourcesFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "target": 2886 + }, + { + "id": 7603, + "name": "RequestListState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ], + "target": 2882 + }, + { + "id": 7555, + "name": "RequestOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "target": 1867 + }, + { + "id": 7605, + "name": "RequestProvider", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "target": 2889 + }, + { + "id": 7606, + "name": "RequestProviderOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "target": 2984 + }, + { + "id": 7578, + "name": "RequestQueue", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 6, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L6" + } + ], + "target": 2431 + }, + { + "id": 7609, + "name": "RequestQueueOperationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "target": 3002 + }, + { + "id": 7607, + "name": "RequestQueueOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "target": 2989 + }, + { + "id": 7577, + "name": "RequestQueueV1", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 5, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L5" + } + ], + "target": 2337 + }, + { + "id": 7579, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2525 + }, + { + "id": 7553, + "name": "RequestState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ], + "target": 1799 + }, + { + "id": 7536, + "name": "RequestTransform", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "target": 1050 + }, + { + "id": 7500, + "name": "RestrictedCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "target": 590 + }, + { + "id": 7487, + "name": "RetryRequestError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "target": 140 + }, + { + "id": 7562, + "name": "Router", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "target": 1939 + }, + { + "id": 7559, + "name": "RouterHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "target": 1894 + }, + { + "id": 7561, + "name": "RouterRoutes", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "target": 1931 + }, + { + "id": 7570, + "name": "Session", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ], + "target": 2047 + }, + { + "id": 7488, + "name": "SessionError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "target": 158 + }, + { + "id": 7569, + "name": "SessionOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ], + "target": 2033 + }, + { + "id": 7573, + "name": "SessionPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "target": 2127 + }, + { + "id": 7572, + "name": "SessionPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ], + "target": 2118 + }, + { + "id": 7568, + "name": "SessionState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ], + "target": 2022 + }, + { + "id": 7513, + "name": "SnapshotResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ], + "target": 920 + }, + { + "id": 7492, + "name": "Snapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ], + "target": 308 + }, + { + "id": 7491, + "name": "SnapshotterOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ], + "target": 298 + }, + { + "id": 7557, + "name": "Source", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "target": 1887 + }, + { + "id": 7508, + "name": "StatisticPersistedState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "target": 832 + }, + { + "id": 7509, + "name": "StatisticState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ], + "target": 856 + }, + { + "id": 7506, + "name": "Statistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ], + "target": 758 + }, + { + "id": 7507, + "name": "StatisticsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ], + "target": 825 + }, + { + "id": 7639, + "name": "StatusMessageCallback", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 116, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L116" + } + ], + "target": 6621 + }, + { + "id": 7638, + "name": "StatusMessageCallbackParams", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 106, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L106" + } + ], + "target": 6614 + }, + { + "id": 7481, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 31 + }, + { + "id": 7615, + "name": "StorageManagerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ], + "target": 3092 + }, + { + "id": 7493, + "name": "SystemInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ], + "target": 378 + }, + { + "id": 7497, + "name": "SystemStatus", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ], + "target": 411 + }, + { + "id": 7494, + "name": "SystemStatusOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ], + "target": 388 + }, + { + "id": 7550, + "name": "TieredProxy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ], + "target": 1745 + }, + { + "id": 7529, + "name": "UrlPatternObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "target": 1034 + }, + { + "id": 7619, + "name": "UseStateOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ], + "target": 3111 + }, + { + "id": 7625, + "name": "checkStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "target": 3119 + }, + { + "id": 7634, + "name": "createBasicRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "target": 6545 + }, + { + "id": 7515, + "name": "enqueueLinks", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "target": 950 + }, + { + "id": 7526, + "name": "filterRequestsByPatterns", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "target": 1022 + }, + { + "id": 7541, + "name": "log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L4" + } + ], + "target": 1181 + }, + { + "id": 7616, + "name": "purgeDefaultStorages", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "target": 3096 + }, + { + "id": 7528, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 10, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L10" + } + ], + "target": 1030 + }, + { + "id": 7617, + "name": "useState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "target": 3102 + }, + { + "id": 7626, + "name": "withCheckedStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "target": 3121 + }, + { + "id": 8169, + "name": "FileDownload", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a framework for downloading files in parallel using plain HTTP requests. The URLs to download are fed either from a static list of URLs or they can be added on the fly from another crawler.\n\nSince " + }, + { + "kind": "code", + "text": "`FileDownload`" + }, + { + "kind": "text", + "text": " uses raw HTTP requests to download the files, it is very fast and bandwith-efficient.\nHowever, it doesn't parse the content - if you need to e.g. extract data from the downloaded files,\nyou might need to use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " instead.\n\n" + }, + { + "kind": "code", + "text": "`FileCrawler`" + }, + { + "kind": "text", + "text": " downloads each URL using a plain HTTP request and then invokes the user-provided " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "FileDownloadOptions.requestHandler" + }, + { + "kind": "text", + "text": " where the user can specify what to do with the downloaded data.\n\nThe source URLs are represented using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects that are fed from " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instances provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "FileDownloadOptions.requestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "FileDownloadOptions.requestQueue" + }, + { + "kind": "text", + "text": " constructor options, respectively.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "FileDownloadOptions.requestList" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "FileDownloadOptions.requestQueue" + }, + { + "kind": "text", + "text": " are used, the instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes when there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\nWe can use the " + }, + { + "kind": "code", + "text": "`preNavigationHooks`" + }, + { + "kind": "text", + "text": " to adjust " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ":\n\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nNew requests are only dispatched when there is enough free CPU and memory available, using the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class. All " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "code", + "text": "`autoscaledPoolOptions`" + }, + { + "kind": "text", + "text": " parameter of the " + }, + { + "kind": "code", + "text": "`FileCrawler`" + }, + { + "kind": "text", + "text": " constructor. For user convenience, the " + }, + { + "kind": "code", + "text": "`minConcurrency`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`maxConcurrency`" + }, + { + "kind": "text", + "text": " " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " options are available directly in the " + }, + { + "kind": "code", + "text": "`FileCrawler`" + }, + { + "kind": "text", + "text": " constructor.\n\n## Example usage\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new FileDownloader({\n requestHandler({ body, request }) {\n writeFileSync(request.url.replace(/[^a-z0-9\\.]/gi, '_'), body);\n },\n});\n\nawait crawler.run([\n 'http://www.example.com/document.pdf',\n 'http://www.example.com/sound.mp3',\n 'http://www.example.com/video.mkv',\n]);\n```" + } + ] + }, + "children": [ + { + "id": 8211, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 101, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L101" + } + ], + "signatures": [ + { + "id": 8212, + "name": "new FileDownload", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 101, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L101" + } + ], + "parameters": [ + { + "id": 8213, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 8108, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "FileDownloadOptions", + "package": "@crawlee/http" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 8169, + "name": "FileDownload", + "package": "@crawlee/http" + }, + "overwrites": { + "type": "reference", + "target": 7844, + "name": "HttpCrawler.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 7843, + "name": "HttpCrawler.constructor" + } + }, + { + "id": 8311, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7954, + "name": "HttpCrawler.autoscaledPool" + } + }, + { + "id": 8233, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 77, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7860, + "name": "HttpCrawler.config" + } + }, + { + "id": 8314, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7957, + "name": "HttpCrawler.hasFinishedBefore" + } + }, + { + "id": 8221, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L296" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7848, + "name": "HttpCrawler.proxyConfiguration" + } + }, + { + "id": 8308, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7951, + "name": "HttpCrawler.requestList" + } + }, + { + "id": 8309, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7952, + "name": "HttpCrawler.requestQueue" + } + }, + { + "id": 8312, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 8120, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7955, + "name": "HttpCrawler.router" + } + }, + { + "id": 8313, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7956, + "name": "HttpCrawler.running" + } + }, + { + "id": 8310, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7953, + "name": "HttpCrawler.sessionPool" + } + }, + { + "id": 8307, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7950, + "name": "HttpCrawler.stats" + } + }, + { + "id": 8351, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 8352, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 8353, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 8354, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7995, + "name": "HttpCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7994, + "name": "HttpCrawler.addRequests" + } + }, + { + "id": 8365, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 8366, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 8367, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 8368, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 8369, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 8370, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8009, + "name": "HttpCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8008, + "name": "HttpCrawler.exportData" + } + }, + { + "id": 8362, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 8363, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 8364, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8006, + "name": "HttpCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8005, + "name": "HttpCrawler.getData" + } + }, + { + "id": 8359, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 8360, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 8361, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8003, + "name": "HttpCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8002, + "name": "HttpCrawler.getDataset" + } + }, + { + "id": 8345, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 8346, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7989, + "name": "HttpCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7988, + "name": "HttpCrawler.getRequestQueue" + } + }, + { + "id": 8355, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 8356, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 8357, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 8358, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7999, + "name": "HttpCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7998, + "name": "HttpCrawler.pushData" + } + }, + { + "id": 8341, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 8342, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 8343, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 8344, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7985, + "name": "HttpCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7984, + "name": "HttpCrawler.run" + } + }, + { + "id": 8337, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 8338, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 8339, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 8340, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7981, + "name": "HttpCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7980, + "name": "HttpCrawler.setStatusMessage" + } + }, + { + "id": 8234, + "name": "use", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "signatures": [ + { + "id": 8235, + "name": "use", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "**EXPERIMENTAL**\nFunction for attaching CrawlerExtensions such as the Unblockers." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "parameters": [ + { + "id": 8236, + "name": "extension", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Crawler extension that overrides the crawler configuration." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/crawlers/crawler_extension.ts", + "qualifiedName": "CrawlerExtension" + }, + "name": "CrawlerExtension", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 7862, + "name": "HttpCrawler.use" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7861, + "name": "HttpCrawler.use" + } + }, + { + "id": 8347, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 8348, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 8349, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 8350, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7991, + "name": "HttpCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7990, + "name": "HttpCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 8211 + ] + }, + { + "title": "Properties", + "children": [ + 8311, + 8233, + 8314, + 8221, + 8308, + 8309, + 8312, + 8313, + 8310, + 8307 + ] + }, + { + "title": "Methods", + "children": [ + 8351, + 8365, + 8362, + 8359, + 8345, + 8355, + 8341, + 8337, + 8234, + 8347 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 98, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L98" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 8120, + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + } + ] + }, + { + "id": 7801, + "name": "HttpCrawler", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a framework for the parallel crawling of web pages using plain HTTP requests.\nThe URLs to crawl are fed either from a static list of URLs\nor from a dynamic queue of URLs enabling recursive crawling of websites.\n\nIt is very fast and efficient on data bandwidth. However, if the target website requires JavaScript\nto display the content, you might need to use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " instead,\nbecause it loads the pages using full-featured headless Chrome browser.\n\nThis crawler downloads each URL using a plain HTTP request and doesn't do any HTML parsing.\n\nThe source URLs are represented using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects that are fed from\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instances provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": "\nor " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " constructor options, respectively.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " are used,\nthe instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them\nto " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes when there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\nWe can use the " + }, + { + "kind": "code", + "text": "`preNavigationHooks`" + }, + { + "kind": "text", + "text": " to adjust " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ":\n\n" + }, + { + "kind": "code", + "text": "```javascript\npreNavigationHooks: [\n (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nBy default, this crawler only processes web pages with the " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": " MIME content types (as reported by the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " HTTP header),\nand skips pages with other content types. If you want the crawler to process other content types,\nuse the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.additionalMimeTypes" + }, + { + "kind": "text", + "text": " constructor option.\nBeware that the parsing behavior differs for HTML, XML, JSON and other types of content.\nFor details, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": ".\n\nNew requests are only dispatched when there is enough free CPU and memory available,\nusing the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\nAll " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "code", + "text": "`autoscaledPoolOptions`" + }, + { + "kind": "text", + "text": "\nparameter of the constructor. For user convenience, the " + }, + { + "kind": "code", + "text": "`minConcurrency`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`maxConcurrency`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " options are available directly in the constructor.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nimport { HttpCrawler, Dataset } from '@crawlee/http';\n\nconst crawler = new HttpCrawler({\n requestList,\n async requestHandler({ request, response, body, contentType }) {\n // Save the data to dataset.\n await Dataset.pushData({\n url: request.url,\n html: body,\n });\n },\n});\n\nawait crawler.run([\n 'http://www.example.com/page-1',\n 'http://www.example.com/page-2',\n]);\n```" + } + ] + }, + "children": [ + { + "id": 7843, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "signatures": [ + { + "id": 7844, + "name": "new HttpCrawler", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`HttpCrawlerOptions`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "typeParameter": [ + { + "id": 7845, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 7845, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + } + ], + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + } + } + ], + "parameters": [ + { + "id": 7846, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 7656, + "typeArguments": [ + { + "type": "reference", + "target": 7845, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawlerOptions", + "package": "@crawlee/http" + }, + "defaultValue": "{}" + }, + { + "id": 7847, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 7845, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + }, + "overwrites": { + "type": "reference", + "target": 6688, + "name": "BasicCrawler.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 6687, + "name": "BasicCrawler.constructor" + } + }, + { + "id": 7954, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6696, + "name": "BasicCrawler.autoscaledPool" + } + }, + { + "id": 7860, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 77, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 6722, + "name": "BasicCrawler.config" + } + }, + { + "id": 7957, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 6699, + "name": "BasicCrawler.hasFinishedBefore" + } + }, + { + "id": 7848, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L296" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + } + }, + { + "id": 7951, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6693, + "name": "BasicCrawler.requestList" + } + }, + { + "id": 7952, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6694, + "name": "BasicCrawler.requestQueue" + } + }, + { + "id": 7955, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 7845, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 6697, + "name": "BasicCrawler.router" + } + }, + { + "id": 7956, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 6698, + "name": "BasicCrawler.running" + } + }, + { + "id": 7953, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6695, + "name": "BasicCrawler.sessionPool" + } + }, + { + "id": 7950, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6692, + "name": "BasicCrawler.stats" + } + }, + { + "id": 7994, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 7995, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 7996, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 7997, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6753, + "name": "BasicCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6752, + "name": "BasicCrawler.addRequests" + } + }, + { + "id": 8008, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 8009, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 8010, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 8011, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 8012, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 8013, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6767, + "name": "BasicCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6766, + "name": "BasicCrawler.exportData" + } + }, + { + "id": 8005, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 8006, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 8007, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6764, + "name": "BasicCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6763, + "name": "BasicCrawler.getData" + } + }, + { + "id": 8002, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 8003, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 8004, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6761, + "name": "BasicCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6760, + "name": "BasicCrawler.getDataset" + } + }, + { + "id": 7988, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 7989, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6747, + "name": "BasicCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6746, + "name": "BasicCrawler.getRequestQueue" + } + }, + { + "id": 7998, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 7999, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 8000, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 8001, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6757, + "name": "BasicCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6756, + "name": "BasicCrawler.pushData" + } + }, + { + "id": 7984, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 7985, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 7986, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 7987, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6743, + "name": "BasicCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6742, + "name": "BasicCrawler.run" + } + }, + { + "id": 7980, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 7981, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 7982, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 7983, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6730, + "name": "BasicCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6729, + "name": "BasicCrawler.setStatusMessage" + } + }, + { + "id": 7861, + "name": "use", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "signatures": [ + { + "id": 7862, + "name": "use", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "**EXPERIMENTAL**\nFunction for attaching CrawlerExtensions such as the Unblockers." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "parameters": [ + { + "id": 7863, + "name": "extension", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Crawler extension that overrides the crawler configuration." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/crawlers/crawler_extension.ts", + "qualifiedName": "CrawlerExtension" + }, + "name": "CrawlerExtension", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 7990, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 7991, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 7992, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 7993, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 6749, + "name": "BasicCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 6748, + "name": "BasicCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 7843 + ] + }, + { + "title": "Properties", + "children": [ + 7954, + 7860, + 7957, + 7848, + 7951, + 7952, + 7955, + 7956, + 7953, + 7950 + ] + }, + { + "title": "Methods", + "children": [ + 7994, + 8008, + 8005, + 8002, + 7988, + 7998, + 7984, + 7980, + 7861, + 7990 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 291, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L291" + } + ], + "typeParameters": [ + { + "id": 8096, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 7845, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + } + ], + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 7845, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawler.Context", + "refersToTypeParameter": true + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 8169, + "name": "FileDownload" + }, + { + "type": "reference", + "target": 8746, + "name": "CheerioCrawler" + }, + { + "type": "reference", + "target": 12255, + "name": "JSDOMCrawler" + }, + { + "type": "reference", + "target": 12865, + "name": "LinkeDOMCrawler" + } + ] + }, + { + "id": 8120, + "name": "FileDownloadCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 8150, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8151, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 8152, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 8153, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 8154, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 8156, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 8155, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8156, + 8155 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 8157, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.addRequests" + } + }, + { + "id": 8121, + "name": "body", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The request body of the web page.\nThe type depends on the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " header of the web page:\n- String for " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xml`" + }, + { + "kind": "text", + "text": " MIME content types\n- Buffer for others MIME content types" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L200" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.body" + } + }, + { + "id": 8123, + "name": "contentType", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Parsed " + }, + { + "kind": "code", + "text": "`Content-Type header: { type, encoding }`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8124, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 8126, + "name": "encoding", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 33, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.BufferEncoding" + }, + "name": "BufferEncoding", + "package": "@types/node", + "qualifiedName": "__global.BufferEncoding" + } + }, + { + "id": 8125, + "name": "type", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8126, + 8125 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.contentType" + } + }, + { + "id": 8133, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 8169, + "name": "FileDownload", + "package": "@crawlee/http" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.crawler" + } + }, + { + "id": 8137, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8138, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 8139, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 8140, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.getKeyValueStore" + } + }, + { + "id": 8130, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.id" + } + }, + { + "id": 8122, + "name": "json", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The parsed object from JSON string if the response contains the content type application/json." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 205, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L205" + } + ], + "type": { + "type": "reference", + "target": 8165, + "name": "JSONData", + "package": "@crawlee/http", + "qualifiedName": "FileDownloadCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.json" + } + }, + { + "id": 8163, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.log" + } + }, + { + "id": 8132, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.proxyInfo" + } + }, + { + "id": 8145, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 8164, + "name": "UserData", + "package": "@crawlee/http", + "qualifiedName": "FileDownloadCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.request" + } + }, + { + "id": 8127, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 211, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L211" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "PlainResponse" + }, + "name": "PlainResponse", + "package": "got" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.response" + } + }, + { + "id": 8131, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.session" + } + }, + { + "id": 8158, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 8159, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 8160, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 8161, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 8162, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.useState" + } + }, + { + "id": 8134, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 8135, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 8136, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + }, + { + "id": 8128, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 213, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L213" + } + ], + "signatures": [ + { + "id": 8129, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 213, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L213" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + }, + { + "id": 8146, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 8147, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 8148, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 8149, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + }, + { + "id": 8141, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 8142, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 8143, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 8144, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8150, + 8121, + 8123, + 8133, + 8137, + 8130, + 8122, + 8163, + 8132, + 8145, + 8127, + 8131, + 8158 + ] + }, + { + "title": "Methods", + "children": [ + 8134, + 8128, + 8146, + 8141 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L45" + } + ], + "typeParameters": [ + { + "id": 8164, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8165, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "typeArguments": [ + { + "type": "reference", + "target": 8164, + "name": "UserData", + "package": "@crawlee/http", + "qualifiedName": "FileDownloadCrawlingContext.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8165, + "name": "JSONData", + "package": "@crawlee/http", + "qualifiedName": "FileDownloadCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8169, + "name": "FileDownload", + "package": "@crawlee/http" + } + ], + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + } + ] + }, + { + "id": 7656, + "name": "HttpCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 7668, + "name": "additionalHttpErrorStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of additional HTTP response [Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to be treated as errors.\nBy default, status codes >= 500 trigger errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L170" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + } + }, + { + "id": 7663, + "name": "additionalMimeTypes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of [MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types)\nyou want the crawler to load and process. By default, only " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": " MIME types are supported." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L126" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 7682, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6641, + "name": "BasicCrawlerOptions.autoscaledPoolOptions" + } + }, + { + "id": 7675, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 202, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L202" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 7695, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 6634, + "name": "BasicCrawlerOptions.errorHandler" + } + }, + { + "id": 7693, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 6652, + "name": "BasicCrawlerOptions.experiments" + } + }, + { + "id": 7676, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 212, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L212" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 7695, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 6635, + "name": "BasicCrawlerOptions.failedRequestHandler" + } + }, + { + "id": 7665, + "name": "forceResponseEncoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this crawler will extract correct encoding from the HTTP response headers. Use " + }, + { + "kind": "code", + "text": "`forceResponseEncoding`" + }, + { + "kind": "text", + "text": "\nto force a certain encoding, disregarding the response headers.\nTo only provide a default for missing encodings, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.suggestResponseEncoding" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "```\n// Will force windows-1250 encoding even if headers say otherwise\nforceResponseEncoding: 'windows-1250'\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 150, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L150" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 7657, + "name": "handlePageFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An alias for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": "\nSoon to be removed, use " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " instead." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 71, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L71" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 7695, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 7667, + "name": "ignoreHttpErrorStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of HTTP response [Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to be excluded from error consideration.\nBy default, status codes >= 500 trigger errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 164, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L164" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + } + }, + { + "id": 7659, + "name": "ignoreSslErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, SSL certificate errors will be ignored." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L81" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 7686, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 6645, + "name": "BasicCrawlerOptions.keepAlive" + } + }, + { + "id": 7684, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6643, + "name": "BasicCrawlerOptions.maxConcurrency" + } + }, + { + "id": 7678, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6637, + "name": "BasicCrawlerOptions.maxRequestRetries" + } + }, + { + "id": 7681, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6640, + "name": "BasicCrawlerOptions.maxRequestsPerCrawl" + } + }, + { + "id": 7685, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6644, + "name": "BasicCrawlerOptions.maxRequestsPerMinute" + } + }, + { + "id": 7680, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6639, + "name": "BasicCrawlerOptions.maxSessionRotations" + } + }, + { + "id": 7683, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6642, + "name": "BasicCrawlerOptions.minConcurrency" + } + }, + { + "id": 7658, + "name": "navigationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the HTTP request to the resource needs to finish, given in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 7666, + "name": "persistCookiesPerSession", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Automatically saves cookies to Session. Works only if Session Pool is used.\n\nIt parses cookie from response \"set-cookie\" header saves or updates cookies for session and once the session is used for next request.\nIt passes the \"Cookie\" header to the request with the session cookies." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L158" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 7662, + "name": "postNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated after the navigation. Good for checking if the navigation was successful.\nThe function accepts " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " as the only parameter.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npostNavigationHooks: [\n async (crawlingContext) => {\n // ...\n },\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L120" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 7695, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + } + }, + { + "id": 7661, + "name": "preNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated before the navigation. Good for setting additional cookies\nor browser properties before navigation. The function accepts two parameters, " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ",\nwhich are passed to the " + }, + { + "kind": "code", + "text": "`requestAsBrowser()`" + }, + { + "kind": "text", + "text": " function the crawler calls to navigate.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n async (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nModyfing " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " is supported only in Playwright incognito.\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PrePageCreateHook" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 106, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L106" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 7695, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + } + }, + { + "id": 7660, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set, this crawler will be configured for all connections to use\n[Apify Proxy](https://console.apify.com/proxy) or your own Proxy URLs provided and rotated according to the configuration.\nFor more information, see the [documentation](https://docs.apify.com/proxy)." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L88" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + } + }, + { + "id": 7669, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that performs the logic of the crawler. It is called for each URL to crawl.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as an argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " represents the URL to crawl.\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\nIf all the retries fail, the crawler calls the function\nprovided to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.failedRequestHandler|`failedRequestHandler`" + }, + { + "kind": "text", + "text": " parameter.\nTo make this work, we should **always**\nlet our function throw exceptions rather than catch them.\nThe exceptions are logged to the request using the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.pushErrorMessage|`Request.pushErrorMessage()`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L139" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 7695, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 6628, + "name": "BasicCrawlerOptions.requestHandler" + } + }, + { + "id": 7673, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6632, + "name": "BasicCrawlerOptions.requestHandlerTimeoutSecs" + } + }, + { + "id": 7671, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6630, + "name": "BasicCrawlerOptions.requestList" + } + }, + { + "id": 7672, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6631, + "name": "BasicCrawlerOptions.requestQueue" + } + }, + { + "id": 7691, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 6650, + "name": "BasicCrawlerOptions.retryOnBlocked" + } + }, + { + "id": 7679, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6638, + "name": "BasicCrawlerOptions.sameDomainDelaySecs" + } + }, + { + "id": 7688, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6647, + "name": "BasicCrawlerOptions.sessionPoolOptions" + } + }, + { + "id": 7694, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 6653, + "name": "BasicCrawlerOptions.statisticsOptions" + } + }, + { + "id": 7690, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 6649, + "name": "BasicCrawlerOptions.statusMessageCallback" + } + }, + { + "id": 7689, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 6648, + "name": "BasicCrawlerOptions.statusMessageLoggingInterval" + } + }, + { + "id": 7664, + "name": "suggestResponseEncoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this crawler will extract correct encoding from the HTTP response headers.\nSadly, there are some websites which use invalid headers. Those are encoded using the UTF-8 encoding.\nIf those sites actually use a different encoding, the response will be corrupted. You can use\n" + }, + { + "kind": "code", + "text": "`suggestResponseEncoding`" + }, + { + "kind": "text", + "text": " to fall back to a certain encoding, if you know that your target website uses it.\nTo force a certain encoding, disregarding the response headers, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.forceResponseEncoding" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "```\n// Will fall back to windows-1250 encoding if none found\nsuggestResponseEncoding: 'windows-1250'\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L139" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 7687, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 6646, + "name": "BasicCrawlerOptions.useSessionPool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7668, + 7663, + 7682, + 7675, + 7693, + 7676, + 7665, + 7657, + 7667, + 7659, + 7686, + 7684, + 7678, + 7681, + 7685, + 7680, + 7683, + 7658, + 7666, + 7662, + 7661, + 7660, + 7669, + 7673, + 7671, + 7672, + 7691, + 7679, + 7688, + 7694, + 7690, + 7689, + 7664, + 7687 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 65, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L65" + } + ], + "typeParameters": [ + { + "id": 7695, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 6627, + "typeArguments": [ + { + "type": "reference", + "target": 7695, + "name": "Context", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlerOptions.Context", + "refersToTypeParameter": true + } + ], + "name": "BasicCrawlerOptions", + "package": "@crawlee/basic" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 8652, + "name": "CheerioCrawlerOptions" + }, + { + "type": "reference", + "target": 12158, + "name": "JSDOMCrawlerOptions" + }, + { + "type": "reference", + "target": 12755, + "name": "LinkeDOMCrawlerOptions" + } + ] + }, + { + "id": 7752, + "name": "HttpCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 7782, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 7783, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 7784, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 7785, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 7786, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 7788, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 7787, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7788, + 7787 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 7789, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.addRequests" + } + }, + { + "id": 7753, + "name": "body", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The request body of the web page.\nThe type depends on the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " header of the web page:\n- String for " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xml`" + }, + { + "kind": "text", + "text": " MIME content types\n- Buffer for others MIME content types" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L200" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.body" + } + }, + { + "id": 7755, + "name": "contentType", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Parsed " + }, + { + "kind": "code", + "text": "`Content-Type header: { type, encoding }`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 7756, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 7758, + "name": "encoding", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 33, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.BufferEncoding" + }, + "name": "BufferEncoding", + "package": "@types/node", + "qualifiedName": "__global.BufferEncoding" + } + }, + { + "id": 7757, + "name": "type", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7758, + 7757 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.contentType" + } + }, + { + "id": 7765, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 7752, + "typeArguments": [ + { + "type": "reference", + "target": 7796, + "name": "UserData", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlingContext.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7797, + "name": "JSONData", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlingContext.JSONData", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.crawler" + } + }, + { + "id": 7769, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 7770, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 7771, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 7772, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.getKeyValueStore" + } + }, + { + "id": 7762, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.id" + } + }, + { + "id": 7754, + "name": "json", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The parsed object from JSON string if the response contains the content type application/json." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 205, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L205" + } + ], + "type": { + "type": "reference", + "target": 7797, + "name": "JSONData", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.json" + } + }, + { + "id": 7795, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.log" + } + }, + { + "id": 7764, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.proxyInfo" + } + }, + { + "id": 7777, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 7796, + "name": "UserData", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.request" + } + }, + { + "id": 7759, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 211, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L211" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "PlainResponse" + }, + "name": "PlainResponse", + "package": "got" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.response" + } + }, + { + "id": 7763, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.session" + } + }, + { + "id": 7790, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 7791, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 7792, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 7793, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 7794, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.useState" + } + }, + { + "id": 7766, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 7767, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 7768, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + }, + { + "id": 7760, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 213, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L213" + } + ], + "signatures": [ + { + "id": 7761, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 213, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L213" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + }, + { + "id": 7778, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 7779, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 7780, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 7781, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + }, + { + "id": 7773, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 7774, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 7775, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 7776, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 7782, + 7753, + 7755, + 7765, + 7769, + 7762, + 7754, + 7795, + 7764, + 7777, + 7759, + 7763, + 7790 + ] + }, + { + "title": "Methods", + "children": [ + 7766, + 7760, + 7778, + 7773 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 216, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L216" + } + ], + "typeParameters": [ + { + "id": 7796, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 7797, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/basic.d.ts", + "qualifiedName": "JsonValue" + }, + "name": "JsonValue", + "package": "type-fest" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "typeArguments": [ + { + "type": "reference", + "target": 7796, + "name": "UserData", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlingContext.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7797, + "name": "JSONData", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 7752, + "typeArguments": [ + { + "type": "reference", + "target": 7796, + "name": "UserData", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlingContext.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7797, + "name": "JSONData", + "package": "@crawlee/http", + "qualifiedName": "HttpCrawlingContext.JSONData", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + } + ], + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + } + ] + }, + { + "id": 8102, + "name": "FileDownloadErrorHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 20, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L20" + } + ], + "typeParameters": [ + { + "id": 8103, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8104, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 8120, + "typeArguments": [ + { + "type": "reference", + "target": 8103, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8104, + "name": "JSONData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 8117, + "name": "FileDownloadHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 40, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L40" + } + ], + "typeParameters": [ + { + "id": 8118, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8119, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 8120, + "typeArguments": [ + { + "type": "reference", + "target": 8118, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8119, + "name": "JSONData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + { + "id": 8108, + "name": "FileDownloadOptions", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L31" + } + ], + "typeParameters": [ + { + "id": 8115, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8116, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 7656, + "typeArguments": [ + { + "type": "reference", + "target": 8120, + "typeArguments": [ + { + "type": "reference", + "target": 8115, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8116, + "name": "JSONData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "HttpCrawlerOptions", + "package": "@crawlee/http" + }, + { + "type": "literal", + "value": "requestHandler" + } + ], + "name": "Omit", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 8109, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 8110, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 36, + "character": 102, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L36" + } + ], + "type": { + "type": "intrinsic", + "name": "never" + } + }, + { + "id": 8111, + "name": "streamHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 36, + "character": 126, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L36" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "StreamHandler" + }, + "name": "StreamHandler", + "package": "@crawlee/http" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8110, + 8111 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 36, + "character": 100, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L36" + } + ] + } + } + ] + }, + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 7656, + "typeArguments": [ + { + "type": "reference", + "target": 8120, + "typeArguments": [ + { + "type": "reference", + "target": 8115, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8116, + "name": "JSONData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "HttpCrawlerOptions", + "package": "@crawlee/http" + }, + { + "type": "literal", + "value": "requestHandler" + } + ], + "name": "Omit", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 8112, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 8113, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 38, + "character": 102, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L38" + } + ], + "type": { + "type": "reference", + "target": 8166, + "name": "FileDownloadRequestHandler", + "package": "@crawlee/http" + } + }, + { + "id": 8114, + "name": "streamHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 38, + "character": 146, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L38" + } + ], + "type": { + "type": "intrinsic", + "name": "never" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8113, + 8114 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 38, + "character": 100, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L38" + } + ] + } + } + ] + } + ] + } + }, + { + "id": 8166, + "name": "FileDownloadRequestHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 50, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L50" + } + ], + "typeParameters": [ + { + "id": 8167, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 8168, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 8120, + "typeArguments": [ + { + "type": "reference", + "target": 8167, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8168, + "name": "JSONData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 7653, + "name": "HttpErrorHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 60, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L60" + } + ], + "typeParameters": [ + { + "id": 7654, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 7655, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/basic.d.ts", + "qualifiedName": "JsonValue" + }, + "name": "JsonValue", + "package": "type-fest" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 7752, + "typeArguments": [ + { + "type": "reference", + "target": 7654, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7655, + "name": "JSONData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 7702, + "name": "HttpHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 181, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L181" + } + ], + "typeParameters": [ + { + "id": 7703, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 7704, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/basic.d.ts", + "qualifiedName": "JsonValue" + }, + "name": "JsonValue", + "package": "type-fest" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 7752, + "typeArguments": [ + { + "type": "reference", + "target": 7703, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7704, + "name": "JSONData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + { + "id": 7798, + "name": "HttpRequestHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 219, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L219" + } + ], + "typeParameters": [ + { + "id": 7799, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 7800, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/basic.d.ts", + "qualifiedName": "JsonValue" + }, + "name": "JsonValue", + "package": "type-fest" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 7752, + "typeArguments": [ + { + "type": "reference", + "target": 7799, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7800, + "name": "JSONData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "HttpCrawlingContext", + "package": "@crawlee/http" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 8105, + "name": "StreamHandlerContext", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 25, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L25" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 8120, + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "body" + }, + { + "type": "literal", + "value": "response" + }, + { + "type": "literal", + "value": "parseWithCheerio" + }, + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "addRequests" + }, + { + "type": "literal", + "value": "contentType" + } + ] + } + ], + "name": "Omit", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 8106, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 8107, + "name": "stream", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L26" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "ReadableStream" + }, + "name": "ReadableStream", + "package": "typescript" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 8107 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 25, + "character": 154, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L25" + } + ] + } + } + ] + } + }, + { + "id": 8097, + "name": "createFileRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 220, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L220" + } + ], + "signatures": [ + { + "id": 8098, + "name": "createFileRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that works based on request labels.\nThis instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "FileDownload" + }, + { + "kind": "text", + "text": ".\nDefaults to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "FileDownloadCrawlingContext" + }, + { + "kind": "text", + "text": ".\n\n> Serves as a shortcut for using " + }, + { + "kind": "code", + "text": "`Router.create()`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { FileDownload, createFileRouter } from 'crawlee';\n\nconst router = createFileRouter();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new FileDownload({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 220, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L220" + } + ], + "typeParameter": [ + { + "id": 8099, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 8120, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + }, + "default": { + "type": "reference", + "target": 8120, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "FileDownloadCrawlingContext", + "package": "@crawlee/http" + } + }, + { + "id": 8100, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 8099, + "name": "Context", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 8101, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 8099, + "name": "Context", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 8100, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 8099, + "name": "Context", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 7648, + "name": "createHttpRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 966, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 7649, + "name": "createHttpRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that works based on request labels.\nThis instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawler" + }, + { + "kind": "text", + "text": ".\nDefaults to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlingContext" + }, + { + "kind": "text", + "text": ".\n\n> Serves as a shortcut for using " + }, + { + "kind": "code", + "text": "`Router.create()`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { HttpCrawler, createHttpRouter } from 'crawlee';\n\nconst router = createHttpRouter();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new HttpCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 966, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L966" + } + ], + "typeParameter": [ + { + "id": 7650, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 7752, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "HttpCrawlingContext", + "package": "@crawlee/http" + }, + "default": { + "type": "reference", + "target": 7752, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "HttpCrawlingContext", + "package": "@crawlee/http" + } + }, + { + "id": 7651, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 7650, + "name": "Context", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 7652, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 7650, + "name": "Context", + "package": "@crawlee/http", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 7651, + "name": "UserData", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 7650, + "name": "Context", + "package": "@crawlee/http", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 7611, + 7612, + 7490, + 7489, + 7647, + 7574, + 7642, + 7640, + 7635, + 7495, + 7499, + 7498, + 7482, + 7644, + 7645, + 7641, + 7646, + 7501, + 7643, + 7571, + 7485, + 7587, + 7588, + 7592, + 7583, + 7584, + 7586, + 7585, + 7589, + 7591, + 7590, + 7517, + 7518, + 7510, + 7637, + 7514, + 7512, + 7511, + 7539, + 7537, + 7538, + 7496, + 7560, + 7533, + 7532, + 7613, + 7595, + 7594, + 7598, + 7596, + 7540, + 7542, + 7544, + 7545, + 7546, + 7543, + 7547, + 7576, + 7484, + 7575, + 7505, + 7552, + 7548, + 7549, + 7551, + 7477, + 7531, + 7530, + 7556, + 7483, + 7597, + 7535, + 7534, + 7554, + 7636, + 7502, + 7602, + 7601, + 7604, + 7603, + 7555, + 7605, + 7606, + 7578, + 7609, + 7607, + 7577, + 7579, + 7553, + 7536, + 7500, + 7487, + 7562, + 7559, + 7561, + 7570, + 7488, + 7569, + 7573, + 7572, + 7568, + 7513, + 7492, + 7491, + 7557, + 7508, + 7509, + 7506, + 7507, + 7639, + 7638, + 7481, + 7615, + 7493, + 7497, + 7494, + 7550, + 7529, + 7619, + 7625, + 7634, + 7515, + 7526, + 7541, + 7616, + 7528, + 7617, + 7626 + ] + }, + { + "title": "Classes", + "children": [ + 8169, + 7801 + ] + }, + { + "title": "Interfaces", + "children": [ + 8120, + 7656, + 7752 + ] + }, + { + "title": "Type Aliases", + "children": [ + 8102, + 8117, + 8108, + 8166, + 7653, + 7702, + 7798, + 8105 + ] + }, + { + "title": "Functions", + "children": [ + 8097, + 7648 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 7801 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 7611, + 7612, + 7490, + 7489, + 7647, + 7574, + 7642, + 7640, + 7635, + 7495, + 7499, + 7498, + 7482, + 7644, + 7645, + 7641, + 7646, + 7501, + 7643, + 7571, + 7485, + 7587, + 7588, + 7592, + 7583, + 7584, + 7586, + 7585, + 7589, + 7591, + 7590, + 7517, + 7518, + 7510, + 7637, + 7514, + 7512, + 7511, + 7539, + 7537, + 7538, + 7496, + 7560, + 7533, + 7532, + 7613, + 7595, + 7594, + 7598, + 7596, + 7540, + 7542, + 7544, + 7545, + 7546, + 7543, + 7547, + 7576, + 7484, + 7575, + 7505, + 7552, + 7548, + 7549, + 7551, + 7477, + 7531, + 7530, + 7556, + 7483, + 7597, + 7535, + 7534, + 7554, + 7636, + 7502, + 7602, + 7601, + 7604, + 7603, + 7555, + 7605, + 7606, + 7578, + 7609, + 7607, + 7577, + 7579, + 7553, + 7536, + 7500, + 7487, + 7562, + 7559, + 7561, + 7570, + 7488, + 7569, + 7573, + 7572, + 7568, + 7513, + 7492, + 7491, + 7557, + 7508, + 7509, + 7506, + 7507, + 7639, + 7638, + 7481, + 7615, + 7493, + 7497, + 7494, + 7550, + 7529, + 7619, + 7625, + 7634, + 7515, + 7526, + 7541, + 7616, + 7528, + 7617, + 7626, + 8169, + 8120, + 7656, + 7752, + 8102, + 8117, + 8108, + 8166, + 7653, + 7702, + 7798, + 8105, + 8097, + 7648 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/index.ts#L1" + } + ] + }, + { + "id": 9, + "name": "jsdom-crawler/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 12093, + "name": "AddRequestsBatchedOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "target": 3010 + }, + { + "id": 12094, + "name": "AddRequestsBatchedResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "target": 3016 + }, + { + "id": 11972, + "name": "AutoscaledPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ], + "target": 200 + }, + { + "id": 11971, + "name": "AutoscaledPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ], + "target": 176 + }, + { + "id": 12129, + "name": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/constants.ts", + "line": 6, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/constants.ts#L6" + } + ], + "target": 6883 + }, + { + "id": 12056, + "name": "BLOCKED_STATUS_CODES", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "target": 2334 + }, + { + "id": 12124, + "name": "BasicCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 431, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L431" + } + ], + "target": 6657 + }, + { + "id": 12122, + "name": "BasicCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 121, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L121" + } + ], + "target": 6627 + }, + { + "id": 12117, + "name": "BasicCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 62, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L62" + } + ], + "target": 6550 + }, + { + "id": 11977, + "name": "ClientInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ], + "target": 396 + }, + { + "id": 11981, + "name": "Configuration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ], + "target": 490 + }, + { + "id": 11980, + "name": "ConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ], + "target": 448 + }, + { + "id": 11964, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 59 + }, + { + "id": 12126, + "name": "CrawlerAddRequestsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1643, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1643" + } + ], + "target": 6867 + }, + { + "id": 12127, + "name": "CrawlerAddRequestsResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1645, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1645" + } + ], + "target": 6873 + }, + { + "id": 12123, + "name": "CrawlerExperiments", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 357, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L357" + } + ], + "target": 6655 + }, + { + "id": 12128, + "name": "CrawlerRunOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1647, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1647" + } + ], + "target": 6876 + }, + { + "id": 11983, + "name": "CrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "target": 620 + }, + { + "id": 12125, + "name": "CreateContextOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1637, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1637" + } + ], + "target": 6863 + }, + { + "id": 12053, + "name": "CreateSession", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "target": 2112 + }, + { + "id": 11967, + "name": "CriticalError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "target": 98 + }, + { + "id": 12069, + "name": "Dataset", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "target": 2572 + }, + { + "id": 12070, + "name": "DatasetConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "target": 2647 + }, + { + "id": 12074, + "name": "DatasetContent", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "target": 2669 + }, + { + "id": 12065, + "name": "DatasetDataOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ], + "target": 2537 + }, + { + "id": 12066, + "name": "DatasetExportOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "target": 2546 + }, + { + "id": 12068, + "name": "DatasetExportToOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "target": 2563 + }, + { + "id": 12067, + "name": "DatasetIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "target": 2553 + }, + { + "id": 12071, + "name": "DatasetMapper", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "target": 2652 + }, + { + "id": 12073, + "name": "DatasetOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ], + "target": 2665 + }, + { + "id": 12072, + "name": "DatasetReducer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "target": 2658 + }, + { + "id": 11999, + "name": "EnqueueLinksOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "target": 973 + }, + { + "id": 12000, + "name": "EnqueueStrategy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ], + "target": 990 + }, + { + "id": 11992, + "name": "ErrnoException", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "target": 873 + }, + { + "id": 12119, + "name": "ErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "target": 6608 + }, + { + "id": 11996, + "name": "ErrorSnapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ], + "target": 923 + }, + { + "id": 11994, + "name": "ErrorTracker", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ], + "target": 890 + }, + { + "id": 11993, + "name": "ErrorTrackerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ], + "target": 882 + }, + { + "id": 12021, + "name": "EventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "target": 1060 + }, + { + "id": 12019, + "name": "EventType", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ], + "target": 1053 + }, + { + "id": 12020, + "name": "EventTypeName", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "target": 1059 + }, + { + "id": 12146, + "name": "FileDownload", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 98, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L98" + } + ], + "target": 8169 + }, + { + "id": 12144, + "name": "FileDownloadCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L45" + } + ], + "target": 8120 + }, + { + "id": 12140, + "name": "FileDownloadErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 20, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L20" + } + ], + "target": 8102 + }, + { + "id": 12143, + "name": "FileDownloadHook", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 40, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L40" + } + ], + "target": 8117 + }, + { + "id": 12142, + "name": "FileDownloadOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L31" + } + ], + "target": 8108 + }, + { + "id": 12145, + "name": "FileDownloadRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 50, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L50" + } + ], + "target": 8166 + }, + { + "id": 11978, + "name": "FinalStatistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ], + "target": 400 + }, + { + "id": 12042, + "name": "GetUserDataFromRequest", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "target": 1929 + }, + { + "id": 12015, + "name": "GlobInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "target": 1045 + }, + { + "id": 12014, + "name": "GlobObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "target": 1042 + }, + { + "id": 12138, + "name": "HttpCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 291, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L291" + } + ], + "target": 7801 + }, + { + "id": 12132, + "name": "HttpCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 65, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L65" + } + ], + "target": 7656 + }, + { + "id": 12136, + "name": "HttpCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 216, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L216" + } + ], + "target": 7752 + }, + { + "id": 12131, + "name": "HttpErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 60, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L60" + } + ], + "target": 7653 + }, + { + "id": 12134, + "name": "HttpHook", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 181, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L181" + } + ], + "target": 7702 + }, + { + "id": 12137, + "name": "HttpRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 219, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L219" + } + ], + "target": 7798 + }, + { + "id": 12095, + "name": "IStorage", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "target": 3019 + }, + { + "id": 12077, + "name": "KeyConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "target": 2761 + }, + { + "id": 12076, + "name": "KeyValueStore", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ], + "target": 2684 + }, + { + "id": 12080, + "name": "KeyValueStoreIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ], + "target": 2774 + }, + { + "id": 12078, + "name": "KeyValueStoreOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ], + "target": 2768 + }, + { + "id": 12022, + "name": "LocalEventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "target": 1103 + }, + { + "id": 12024, + "name": "Log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L5" + } + ], + "target": 1182 + }, + { + "id": 12026, + "name": "LogLevel", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L7" + } + ], + "target": 1252 + }, + { + "id": 12027, + "name": "Logger", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L8" + } + ], + "target": 1260 + }, + { + "id": 12028, + "name": "LoggerJson", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L9" + } + ], + "target": 1416 + }, + { + "id": 12025, + "name": "LoggerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L6" + } + ], + "target": 1244 + }, + { + "id": 12029, + "name": "LoggerText", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L10" + } + ], + "target": 1573 + }, + { + "id": 12058, + "name": "MAX_POOL_SIZE", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "target": 2336 + }, + { + "id": 11966, + "name": "NonRetryableError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "target": 77 + }, + { + "id": 12057, + "name": "PERSIST_STATE_KEY", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "target": 2335 + }, + { + "id": 11987, + "name": "PersistenceOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ], + "target": 756 + }, + { + "id": 12034, + "name": "ProxyConfiguration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ], + "target": 1756 + }, + { + "id": 12030, + "name": "ProxyConfigurationFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "target": 1735 + }, + { + "id": 12031, + "name": "ProxyConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ], + "target": 1741 + }, + { + "id": 12033, + "name": "ProxyInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ], + "target": 1748 + }, + { + "id": 11959, + "name": "PseudoUrl", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 16, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L16" + } + ], + "target": 14 + }, + { + "id": 12013, + "name": "PseudoUrlInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "target": 1041 + }, + { + "id": 12012, + "name": "PseudoUrlObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "target": 1038 + }, + { + "id": 12038, + "name": "PushErrorMessageOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ], + "target": 1885 + }, + { + "id": 11965, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 68, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 73 + }, + { + "id": 12079, + "name": "RecordOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ], + "target": 2772 + }, + { + "id": 12017, + "name": "RegExpInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "target": 1049 + }, + { + "id": 12016, + "name": "RegExpObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "target": 1046 + }, + { + "id": 12036, + "name": "Request", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "target": 1808 + }, + { + "id": 12118, + "name": "RequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "target": 6603 + }, + { + "id": 11984, + "name": "RequestHandlerResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ], + "target": 657 + }, + { + "id": 12084, + "name": "RequestList", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ], + "target": 2787 + }, + { + "id": 12083, + "name": "RequestListOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ], + "target": 2778 + }, + { + "id": 12086, + "name": "RequestListSourcesFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "target": 2886 + }, + { + "id": 12085, + "name": "RequestListState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ], + "target": 2882 + }, + { + "id": 12037, + "name": "RequestOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "target": 1867 + }, + { + "id": 12087, + "name": "RequestProvider", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "target": 2889 + }, + { + "id": 12088, + "name": "RequestProviderOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "target": 2984 + }, + { + "id": 12060, + "name": "RequestQueue", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 6, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L6" + } + ], + "target": 2431 + }, + { + "id": 12091, + "name": "RequestQueueOperationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "target": 3002 + }, + { + "id": 12089, + "name": "RequestQueueOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "target": 2989 + }, + { + "id": 12059, + "name": "RequestQueueV1", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 5, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L5" + } + ], + "target": 2337 + }, + { + "id": 12061, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2525 + }, + { + "id": 12035, + "name": "RequestState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ], + "target": 1799 + }, + { + "id": 12018, + "name": "RequestTransform", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "target": 1050 + }, + { + "id": 11982, + "name": "RestrictedCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "target": 590 + }, + { + "id": 11969, + "name": "RetryRequestError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "target": 140 + }, + { + "id": 12044, + "name": "Router", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "target": 1939 + }, + { + "id": 12041, + "name": "RouterHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "target": 1894 + }, + { + "id": 12043, + "name": "RouterRoutes", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "target": 1931 + }, + { + "id": 12052, + "name": "Session", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ], + "target": 2047 + }, + { + "id": 11970, + "name": "SessionError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "target": 158 + }, + { + "id": 12051, + "name": "SessionOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ], + "target": 2033 + }, + { + "id": 12055, + "name": "SessionPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "target": 2127 + }, + { + "id": 12054, + "name": "SessionPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ], + "target": 2118 + }, + { + "id": 12050, + "name": "SessionState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ], + "target": 2022 + }, + { + "id": 11995, + "name": "SnapshotResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ], + "target": 920 + }, + { + "id": 11974, + "name": "Snapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ], + "target": 308 + }, + { + "id": 11973, + "name": "SnapshotterOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ], + "target": 298 + }, + { + "id": 12039, + "name": "Source", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "target": 1887 + }, + { + "id": 11990, + "name": "StatisticPersistedState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "target": 832 + }, + { + "id": 11991, + "name": "StatisticState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ], + "target": 856 + }, + { + "id": 11988, + "name": "Statistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ], + "target": 758 + }, + { + "id": 11989, + "name": "StatisticsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ], + "target": 825 + }, + { + "id": 12121, + "name": "StatusMessageCallback", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 116, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L116" + } + ], + "target": 6621 + }, + { + "id": 12120, + "name": "StatusMessageCallbackParams", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 106, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L106" + } + ], + "target": 6614 + }, + { + "id": 11963, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 31 + }, + { + "id": 12097, + "name": "StorageManagerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ], + "target": 3092 + }, + { + "id": 12141, + "name": "StreamHandlerContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 25, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L25" + } + ], + "target": 8105 + }, + { + "id": 11975, + "name": "SystemInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ], + "target": 378 + }, + { + "id": 11979, + "name": "SystemStatus", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ], + "target": 411 + }, + { + "id": 11976, + "name": "SystemStatusOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ], + "target": 388 + }, + { + "id": 12032, + "name": "TieredProxy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ], + "target": 1745 + }, + { + "id": 12011, + "name": "UrlPatternObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "target": 1034 + }, + { + "id": 12101, + "name": "UseStateOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ], + "target": 3111 + }, + { + "id": 12107, + "name": "checkStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "target": 3119 + }, + { + "id": 12116, + "name": "createBasicRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "target": 6545 + }, + { + "id": 12139, + "name": "createFileRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 220, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L220" + } + ], + "target": 8097 + }, + { + "id": 12130, + "name": "createHttpRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 966, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L966" + } + ], + "target": 7648 + }, + { + "id": 11997, + "name": "enqueueLinks", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "target": 950 + }, + { + "id": 12008, + "name": "filterRequestsByPatterns", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "target": 1022 + }, + { + "id": 12023, + "name": "log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L4" + } + ], + "target": 1181 + }, + { + "id": 12098, + "name": "purgeDefaultStorages", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "target": 3096 + }, + { + "id": 12010, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 10, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L10" + } + ], + "target": 1030 + }, + { + "id": 12099, + "name": "useState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "target": 3102 + }, + { + "id": 12108, + "name": "withCheckedStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "target": 3121 + }, + { + "id": 12255, + "name": "JSDOMCrawler", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a framework for the parallel crawling of web pages using plain HTTP requests.\nThe URLs to crawl are fed either from a static list of URLs\nor from a dynamic queue of URLs enabling recursive crawling of websites.\n\nIt is very fast and efficient on data bandwidth. However, if the target website requires JavaScript\nto display the content, you might need to use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " instead,\nbecause it loads the pages using full-featured headless Chrome browser.\n\nThis crawler downloads each URL using a plain HTTP request and doesn't do any HTML parsing.\n\nThe source URLs are represented using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects that are fed from\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instances provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": "\nor " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " constructor options, respectively.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " are used,\nthe instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them\nto " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes when there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\nWe can use the " + }, + { + "kind": "code", + "text": "`preNavigationHooks`" + }, + { + "kind": "text", + "text": " to adjust " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ":\n\n" + }, + { + "kind": "code", + "text": "```javascript\npreNavigationHooks: [\n (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nBy default, this crawler only processes web pages with the " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": " MIME content types (as reported by the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " HTTP header),\nand skips pages with other content types. If you want the crawler to process other content types,\nuse the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.additionalMimeTypes" + }, + { + "kind": "text", + "text": " constructor option.\nBeware that the parsing behavior differs for HTML, XML, JSON and other types of content.\nFor details, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": ".\n\nNew requests are only dispatched when there is enough free CPU and memory available,\nusing the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\nAll " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "code", + "text": "`autoscaledPoolOptions`" + }, + { + "kind": "text", + "text": "\nparameter of the constructor. For user convenience, the " + }, + { + "kind": "code", + "text": "`minConcurrency`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`maxConcurrency`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " options are available directly in the constructor.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nimport { HttpCrawler, Dataset } from '@crawlee/http';\n\nconst crawler = new HttpCrawler({\n requestList,\n async requestHandler({ request, response, body, contentType }) {\n // Save the data to dataset.\n await Dataset.pushData({\n url: request.url,\n html: body,\n });\n },\n});\n\nawait crawler.run([\n 'http://www.example.com/page-1',\n 'http://www.example.com/page-2',\n]);\n```" + } + ] + }, + "children": [ + { + "id": 12299, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L170" + } + ], + "signatures": [ + { + "id": 12300, + "name": "new JSDOMCrawler", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L170" + } + ], + "parameters": [ + { + "id": 12301, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 12158, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "JSDOMCrawlerOptions", + "package": "@crawlee/jsdom" + }, + "defaultValue": "{}" + }, + { + "id": 12302, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 12255, + "name": "JSDOMCrawler", + "package": "@crawlee/jsdom" + }, + "overwrites": { + "type": "reference", + "target": 7844, + "name": "HttpCrawler.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 7843, + "name": "HttpCrawler.constructor" + } + }, + { + "id": 12417, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7954, + "name": "HttpCrawler.autoscaledPool" + } + }, + { + "id": 12344, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 77, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7860, + "name": "HttpCrawler.config" + } + }, + { + "id": 12420, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7957, + "name": "HttpCrawler.hasFinishedBefore" + } + }, + { + "id": 12332, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L296" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7848, + "name": "HttpCrawler.proxyConfiguration" + } + }, + { + "id": 12414, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7951, + "name": "HttpCrawler.requestList" + } + }, + { + "id": 12415, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7952, + "name": "HttpCrawler.requestQueue" + } + }, + { + "id": 12418, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7955, + "name": "HttpCrawler.router" + } + }, + { + "id": 12419, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7956, + "name": "HttpCrawler.running" + } + }, + { + "id": 12416, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7953, + "name": "HttpCrawler.sessionPool" + } + }, + { + "id": 12413, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7950, + "name": "HttpCrawler.stats" + } + }, + { + "id": 12329, + "name": "_runRequestHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 287, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L287" + } + ], + "signatures": [ + { + "id": 12330, + "name": "_runRequestHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 287, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L287" + } + ], + "parameters": [ + { + "id": 12331, + "name": "context", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "HttpCrawler._runRequestHandler" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "HttpCrawler._runRequestHandler" + } + }, + { + "id": 12457, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 12458, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 12459, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 12460, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7995, + "name": "HttpCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7994, + "name": "HttpCrawler.addRequests" + } + }, + { + "id": 12471, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 12472, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 12473, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 12474, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 12475, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 12476, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8009, + "name": "HttpCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8008, + "name": "HttpCrawler.exportData" + } + }, + { + "id": 12468, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 12469, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 12470, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8006, + "name": "HttpCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8005, + "name": "HttpCrawler.getData" + } + }, + { + "id": 12465, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 12466, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 12467, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8003, + "name": "HttpCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8002, + "name": "HttpCrawler.getDataset" + } + }, + { + "id": 12451, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 12452, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7989, + "name": "HttpCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7988, + "name": "HttpCrawler.getRequestQueue" + } + }, + { + "id": 12306, + "name": "getVirtualConsole", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 197, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L197" + } + ], + "signatures": [ + { + "id": 12307, + "name": "getVirtualConsole", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the currently used " + }, + { + "kind": "code", + "text": "`VirtualConsole`" + }, + { + "kind": "text", + "text": " instance. Can be used to listen for the JSDOM's internal console messages.\n\nIf the " + }, + { + "kind": "code", + "text": "`hideInternalConsole`" + }, + { + "kind": "text", + "text": " option is set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the messages aren't logged to the console by default,\nbut the virtual console can still be listened to.\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nconst console = crawler.getVirtualConsole();\nconsole.on('error', (e) => {\n log.error(e);\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 197, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L197" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/jsdom/base.d.ts", + "qualifiedName": "\"jsdom\".VirtualConsole" + }, + "name": "VirtualConsole", + "package": "@types/jsdom", + "qualifiedName": "\"jsdom\".VirtualConsole" + } + } + ] + }, + { + "id": 12461, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 12462, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 12463, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 12464, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7999, + "name": "HttpCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7998, + "name": "HttpCrawler.pushData" + } + }, + { + "id": 12447, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 12448, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 12449, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 12450, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7985, + "name": "HttpCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7984, + "name": "HttpCrawler.run" + } + }, + { + "id": 12443, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 12444, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 12445, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 12446, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7981, + "name": "HttpCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7980, + "name": "HttpCrawler.setStatusMessage" + } + }, + { + "id": 12345, + "name": "use", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "signatures": [ + { + "id": 12346, + "name": "use", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "**EXPERIMENTAL**\nFunction for attaching CrawlerExtensions such as the Unblockers." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "parameters": [ + { + "id": 12347, + "name": "extension", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Crawler extension that overrides the crawler configuration." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/crawlers/crawler_extension.ts", + "qualifiedName": "CrawlerExtension" + }, + "name": "CrawlerExtension", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 7862, + "name": "HttpCrawler.use" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7861, + "name": "HttpCrawler.use" + } + }, + { + "id": 12453, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 12454, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 12455, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 12456, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7991, + "name": "HttpCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7990, + "name": "HttpCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 12299 + ] + }, + { + "title": "Properties", + "children": [ + 12417, + 12344, + 12420, + 12332, + 12414, + 12415, + 12418, + 12419, + 12416, + 12413 + ] + }, + { + "title": "Methods", + "children": [ + 12329, + 12457, + 12471, + 12468, + 12465, + 12451, + 12306, + 12461, + 12447, + 12443, + 12345, + 12453 + ] + } + ], + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 159, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L159" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + } + ] + }, + { + "id": 12158, + "name": "JSDOMCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 12172, + "name": "additionalHttpErrorStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of additional HTTP response [Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to be treated as errors.\nBy default, status codes >= 500 trigger errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L170" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7668, + "name": "HttpCrawlerOptions.additionalHttpErrorStatusCodes" + } + }, + { + "id": 12167, + "name": "additionalMimeTypes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of [MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types)\nyou want the crawler to load and process. By default, only " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": " MIME types are supported." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L126" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7663, + "name": "HttpCrawlerOptions.additionalMimeTypes" + } + }, + { + "id": 12186, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7682, + "name": "HttpCrawlerOptions.autoscaledPoolOptions" + } + }, + { + "id": 12179, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 202, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L202" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12199, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12200, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7675, + "name": "HttpCrawlerOptions.errorHandler" + } + }, + { + "id": 12197, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7693, + "name": "HttpCrawlerOptions.experiments" + } + }, + { + "id": 12180, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 212, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L212" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12199, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12200, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7676, + "name": "HttpCrawlerOptions.failedRequestHandler" + } + }, + { + "id": 12169, + "name": "forceResponseEncoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this crawler will extract correct encoding from the HTTP response headers. Use " + }, + { + "kind": "code", + "text": "`forceResponseEncoding`" + }, + { + "kind": "text", + "text": "\nto force a certain encoding, disregarding the response headers.\nTo only provide a default for missing encodings, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.suggestResponseEncoding" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "```\n// Will force windows-1250 encoding even if headers say otherwise\nforceResponseEncoding: 'windows-1250'\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 150, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L150" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7665, + "name": "HttpCrawlerOptions.forceResponseEncoding" + } + }, + { + "id": 12161, + "name": "handlePageFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An alias for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": "\nSoon to be removed, use " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " instead." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 71, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L71" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12199, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12200, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7657, + "name": "HttpCrawlerOptions.handlePageFunction" + } + }, + { + "id": 12160, + "name": "hideInternalConsole", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Supress the logs from JSDOM internal console." + } + ] + }, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 46, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L46" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 12171, + "name": "ignoreHttpErrorStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of HTTP response [Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to be excluded from error consideration.\nBy default, status codes >= 500 trigger errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 164, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L164" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7667, + "name": "HttpCrawlerOptions.ignoreHttpErrorStatusCodes" + } + }, + { + "id": 12163, + "name": "ignoreSslErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, SSL certificate errors will be ignored." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L81" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7659, + "name": "HttpCrawlerOptions.ignoreSslErrors" + } + }, + { + "id": 12190, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7686, + "name": "HttpCrawlerOptions.keepAlive" + } + }, + { + "id": 12188, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7684, + "name": "HttpCrawlerOptions.maxConcurrency" + } + }, + { + "id": 12182, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7678, + "name": "HttpCrawlerOptions.maxRequestRetries" + } + }, + { + "id": 12185, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7681, + "name": "HttpCrawlerOptions.maxRequestsPerCrawl" + } + }, + { + "id": 12189, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7685, + "name": "HttpCrawlerOptions.maxRequestsPerMinute" + } + }, + { + "id": 12184, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7680, + "name": "HttpCrawlerOptions.maxSessionRotations" + } + }, + { + "id": 12187, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7683, + "name": "HttpCrawlerOptions.minConcurrency" + } + }, + { + "id": 12162, + "name": "navigationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the HTTP request to the resource needs to finish, given in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7658, + "name": "HttpCrawlerOptions.navigationTimeoutSecs" + } + }, + { + "id": 12170, + "name": "persistCookiesPerSession", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Automatically saves cookies to Session. Works only if Session Pool is used.\n\nIt parses cookie from response \"set-cookie\" header saves or updates cookies for session and once the session is used for next request.\nIt passes the \"Cookie\" header to the request with the session cookies." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L158" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7666, + "name": "HttpCrawlerOptions.persistCookiesPerSession" + } + }, + { + "id": 12166, + "name": "postNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated after the navigation. Good for checking if the navigation was successful.\nThe function accepts " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " as the only parameter.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npostNavigationHooks: [\n async (crawlingContext) => {\n // ...\n },\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L120" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12199, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12200, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7662, + "name": "HttpCrawlerOptions.postNavigationHooks" + } + }, + { + "id": 12165, + "name": "preNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated before the navigation. Good for setting additional cookies\nor browser properties before navigation. The function accepts two parameters, " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ",\nwhich are passed to the " + }, + { + "kind": "code", + "text": "`requestAsBrowser()`" + }, + { + "kind": "text", + "text": " function the crawler calls to navigate.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n async (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nModyfing " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " is supported only in Playwright incognito.\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PrePageCreateHook" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 106, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L106" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12199, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12200, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7661, + "name": "HttpCrawlerOptions.preNavigationHooks" + } + }, + { + "id": 12164, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set, this crawler will be configured for all connections to use\n[Apify Proxy](https://console.apify.com/proxy) or your own Proxy URLs provided and rotated according to the configuration.\nFor more information, see the [documentation](https://docs.apify.com/proxy)." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L88" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7660, + "name": "HttpCrawlerOptions.proxyConfiguration" + } + }, + { + "id": 12173, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that performs the logic of the crawler. It is called for each URL to crawl.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as an argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " represents the URL to crawl.\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\nIf all the retries fail, the crawler calls the function\nprovided to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.failedRequestHandler|`failedRequestHandler`" + }, + { + "kind": "text", + "text": " parameter.\nTo make this work, we should **always**\nlet our function throw exceptions rather than catch them.\nThe exceptions are logged to the request using the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.pushErrorMessage|`Request.pushErrorMessage()`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L139" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12199, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12200, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7669, + "name": "HttpCrawlerOptions.requestHandler" + } + }, + { + "id": 12177, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7673, + "name": "HttpCrawlerOptions.requestHandlerTimeoutSecs" + } + }, + { + "id": 12175, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7671, + "name": "HttpCrawlerOptions.requestList" + } + }, + { + "id": 12176, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7672, + "name": "HttpCrawlerOptions.requestQueue" + } + }, + { + "id": 12195, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7691, + "name": "HttpCrawlerOptions.retryOnBlocked" + } + }, + { + "id": 12159, + "name": "runScripts", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Download and run scripts." + } + ] + }, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 42, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 12183, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7679, + "name": "HttpCrawlerOptions.sameDomainDelaySecs" + } + }, + { + "id": 12192, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7688, + "name": "HttpCrawlerOptions.sessionPoolOptions" + } + }, + { + "id": 12198, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7694, + "name": "HttpCrawlerOptions.statisticsOptions" + } + }, + { + "id": 12194, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7690, + "name": "HttpCrawlerOptions.statusMessageCallback" + } + }, + { + "id": 12193, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7689, + "name": "HttpCrawlerOptions.statusMessageLoggingInterval" + } + }, + { + "id": 12168, + "name": "suggestResponseEncoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this crawler will extract correct encoding from the HTTP response headers.\nSadly, there are some websites which use invalid headers. Those are encoded using the UTF-8 encoding.\nIf those sites actually use a different encoding, the response will be corrupted. You can use\n" + }, + { + "kind": "code", + "text": "`suggestResponseEncoding`" + }, + { + "kind": "text", + "text": " to fall back to a certain encoding, if you know that your target website uses it.\nTo force a certain encoding, disregarding the response headers, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.forceResponseEncoding" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "```\n// Will fall back to windows-1250 encoding if none found\nsuggestResponseEncoding: 'windows-1250'\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L139" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7664, + "name": "HttpCrawlerOptions.suggestResponseEncoding" + } + }, + { + "id": 12191, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7687, + "name": "HttpCrawlerOptions.useSessionPool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12172, + 12167, + 12186, + 12179, + 12197, + 12180, + 12169, + 12161, + 12160, + 12171, + 12163, + 12190, + 12188, + 12182, + 12185, + 12189, + 12184, + 12187, + 12162, + 12170, + 12166, + 12165, + 12164, + 12173, + 12177, + 12175, + 12176, + 12195, + 12159, + 12183, + 12192, + 12198, + 12194, + 12193, + 12168, + 12191 + ] + } + ], + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L35" + } + ], + "typeParameters": [ + { + "id": 12199, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12200, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7656, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12199, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12200, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "HttpCrawlerOptions", + "package": "@crawlee/http" + } + ] + }, + { + "id": 12204, + "name": "JSDOMCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 12236, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12237, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 12238, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 12239, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 12240, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 12242, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 12241, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12242, + 12241 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 12243, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.addRequests" + } + }, + { + "id": 12209, + "name": "body", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The request body of the web page.\nThe type depends on the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " header of the web page:\n- String for " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xml`" + }, + { + "kind": "text", + "text": " MIME content types\n- Buffer for others MIME content types" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L200" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.body" + } + }, + { + "id": 12211, + "name": "contentType", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Parsed " + }, + { + "kind": "code", + "text": "`Content-Type header: { type, encoding }`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12212, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 12214, + "name": "encoding", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 33, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.BufferEncoding" + }, + "name": "BufferEncoding", + "package": "@types/node", + "qualifiedName": "__global.BufferEncoding" + } + }, + { + "id": 12213, + "name": "type", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12214, + 12213 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.contentType" + } + }, + { + "id": 12219, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 12255, + "name": "JSDOMCrawler", + "package": "@crawlee/jsdom" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.crawler" + } + }, + { + "id": 12206, + "name": "document", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 59, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L59" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "Document" + }, + "name": "Document", + "package": "typescript" + } + }, + { + "id": 12223, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12224, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 12225, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 12226, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.getKeyValueStore" + } + }, + { + "id": 12216, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.id" + } + }, + { + "id": 12210, + "name": "json", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The parsed object from JSON string if the response contains the content type application/json." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 205, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L205" + } + ], + "type": { + "type": "reference", + "target": 12251, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.json" + } + }, + { + "id": 12249, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.log" + } + }, + { + "id": 12218, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.proxyInfo" + } + }, + { + "id": 12231, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 12250, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.request" + } + }, + { + "id": 12215, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 211, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L211" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "PlainResponse" + }, + "name": "PlainResponse", + "package": "got" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.response" + } + }, + { + "id": 12217, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.session" + } + }, + { + "id": 12244, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12245, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 12246, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 12247, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 12248, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.useState" + } + }, + { + "id": 12205, + "name": "window", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 58, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L58" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/jsdom/index.d.ts", + "qualifiedName": "\"jsdom\".DOMWindow" + }, + "name": "DOMWindow", + "package": "@types/jsdom", + "qualifiedName": "\"jsdom\".DOMWindow" + } + }, + { + "id": 12220, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 12221, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 12222, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + }, + { + "id": 12207, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L72" + } + ], + "signatures": [ + { + "id": 12208, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns Cheerio handle, allowing to work with the data same way as with " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ".\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ parseWithCheerio }) {\n const $ = await parseWithCheerio();\n const title = $('title').text();\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L72" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + }, + { + "id": 12232, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 12233, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 12234, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 12235, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + }, + { + "id": 12227, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 12228, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 12229, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 12230, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12236, + 12209, + 12211, + 12219, + 12206, + 12223, + 12216, + 12210, + 12249, + 12218, + 12231, + 12215, + 12217, + 12244, + 12205 + ] + }, + { + "title": "Methods", + "children": [ + 12220, + 12207, + 12232, + 12227 + ] + } + ], + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 54, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L54" + } + ], + "typeParameters": [ + { + "id": 12250, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12251, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "typeArguments": [ + { + "type": "reference", + "target": 12250, + "name": "UserData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlingContext.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12251, + "name": "JSONData", + "package": "@crawlee/jsdom", + "qualifiedName": "JSDOMCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12255, + "name": "JSDOMCrawler", + "package": "@crawlee/jsdom" + } + ], + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + } + ] + }, + { + "id": 12155, + "name": "JSDOMErrorHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 30, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L30" + } + ], + "typeParameters": [ + { + "id": 12156, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12157, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12156, + "name": "UserData", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12157, + "name": "JSONData", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 12201, + "name": "JSDOMHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 49, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L49" + } + ], + "typeParameters": [ + { + "id": 12202, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12203, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12202, + "name": "UserData", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12203, + "name": "JSONData", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + { + "id": 12252, + "name": "JSDOMRequestHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 75, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L75" + } + ], + "typeParameters": [ + { + "id": 12253, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12254, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "reference", + "target": 12253, + "name": "UserData", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12254, + "name": "JSONData", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 12150, + "name": "createJSDOMRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 365, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L365" + } + ], + "signatures": [ + { + "id": 12151, + "name": "createJSDOMRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that works based on request labels.\nThis instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "JSDOMCrawler" + }, + { + "kind": "text", + "text": ".\nDefaults to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "JSDOMCrawlingContext" + }, + { + "kind": "text", + "text": ".\n\n> Serves as a shortcut for using " + }, + { + "kind": "code", + "text": "`Router.create()`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { JSDOMCrawler, createJSDOMRouter } from 'crawlee';\n\nconst router = createJSDOMRouter();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new JSDOMCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "line": 365, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/internals/jsdom-crawler.ts#L365" + } + ], + "typeParameter": [ + { + "id": 12152, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + }, + "default": { + "type": "reference", + "target": 12204, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "JSDOMCrawlingContext", + "package": "@crawlee/jsdom" + } + }, + { + "id": 12153, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 12152, + "name": "Context", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 12154, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 12152, + "name": "Context", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12153, + "name": "UserData", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 12152, + "name": "Context", + "package": "@crawlee/jsdom", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 12093, + 12094, + 11972, + 11971, + 12129, + 12056, + 12124, + 12122, + 12117, + 11977, + 11981, + 11980, + 11964, + 12126, + 12127, + 12123, + 12128, + 11983, + 12125, + 12053, + 11967, + 12069, + 12070, + 12074, + 12065, + 12066, + 12068, + 12067, + 12071, + 12073, + 12072, + 11999, + 12000, + 11992, + 12119, + 11996, + 11994, + 11993, + 12021, + 12019, + 12020, + 12146, + 12144, + 12140, + 12143, + 12142, + 12145, + 11978, + 12042, + 12015, + 12014, + 12138, + 12132, + 12136, + 12131, + 12134, + 12137, + 12095, + 12077, + 12076, + 12080, + 12078, + 12022, + 12024, + 12026, + 12027, + 12028, + 12025, + 12029, + 12058, + 11966, + 12057, + 11987, + 12034, + 12030, + 12031, + 12033, + 11959, + 12013, + 12012, + 12038, + 11965, + 12079, + 12017, + 12016, + 12036, + 12118, + 11984, + 12084, + 12083, + 12086, + 12085, + 12037, + 12087, + 12088, + 12060, + 12091, + 12089, + 12059, + 12061, + 12035, + 12018, + 11982, + 11969, + 12044, + 12041, + 12043, + 12052, + 11970, + 12051, + 12055, + 12054, + 12050, + 11995, + 11974, + 11973, + 12039, + 11990, + 11991, + 11988, + 11989, + 12121, + 12120, + 11963, + 12097, + 12141, + 11975, + 11979, + 11976, + 12032, + 12011, + 12101, + 12107, + 12116, + 12139, + 12130, + 11997, + 12008, + 12023, + 12098, + 12010, + 12099, + 12108 + ] + }, + { + "title": "Classes", + "children": [ + 12255 + ] + }, + { + "title": "Interfaces", + "children": [ + 12158, + 12204 + ] + }, + { + "title": "Type Aliases", + "children": [ + 12155, + 12201, + 12252 + ] + }, + { + "title": "Functions", + "children": [ + 12150 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 12255 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 12093, + 12094, + 11972, + 11971, + 12129, + 12056, + 12124, + 12122, + 12117, + 11977, + 11981, + 11980, + 11964, + 12126, + 12127, + 12123, + 12128, + 11983, + 12125, + 12053, + 11967, + 12069, + 12070, + 12074, + 12065, + 12066, + 12068, + 12067, + 12071, + 12073, + 12072, + 11999, + 12000, + 11992, + 12119, + 11996, + 11994, + 11993, + 12021, + 12019, + 12020, + 12146, + 12144, + 12140, + 12143, + 12142, + 12145, + 11978, + 12042, + 12015, + 12014, + 12138, + 12132, + 12136, + 12131, + 12134, + 12137, + 12095, + 12077, + 12076, + 12080, + 12078, + 12022, + 12024, + 12026, + 12027, + 12028, + 12025, + 12029, + 12058, + 11966, + 12057, + 11987, + 12034, + 12030, + 12031, + 12033, + 11959, + 12013, + 12012, + 12038, + 11965, + 12079, + 12017, + 12016, + 12036, + 12118, + 11984, + 12084, + 12083, + 12086, + 12085, + 12037, + 12087, + 12088, + 12060, + 12091, + 12089, + 12059, + 12061, + 12035, + 12018, + 11982, + 11969, + 12044, + 12041, + 12043, + 12052, + 11970, + 12051, + 12055, + 12054, + 12050, + 11995, + 11974, + 11973, + 12039, + 11990, + 11991, + 11988, + 11989, + 12121, + 12120, + 11963, + 12097, + 12141, + 11975, + 11979, + 11976, + 12032, + 12011, + 12101, + 12107, + 12116, + 12139, + 12130, + 11997, + 12008, + 12023, + 12098, + 12010, + 12099, + 12108, + 12158, + 12204, + 12155, + 12201, + 12252, + 12150 + ] + } + ], + "sources": [ + { + "fileName": "packages/jsdom-crawler/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/jsdom-crawler/src/index.ts#L1" + } + ] + }, + { + "id": 10, + "name": "linkedom-crawler/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 12690, + "name": "AddRequestsBatchedOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "target": 3010 + }, + { + "id": 12691, + "name": "AddRequestsBatchedResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "target": 3016 + }, + { + "id": 12569, + "name": "AutoscaledPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ], + "target": 200 + }, + { + "id": 12568, + "name": "AutoscaledPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ], + "target": 176 + }, + { + "id": 12726, + "name": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/constants.ts", + "line": 6, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/constants.ts#L6" + } + ], + "target": 6883 + }, + { + "id": 12653, + "name": "BLOCKED_STATUS_CODES", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "target": 2334 + }, + { + "id": 12721, + "name": "BasicCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 431, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L431" + } + ], + "target": 6657 + }, + { + "id": 12719, + "name": "BasicCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 121, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L121" + } + ], + "target": 6627 + }, + { + "id": 12714, + "name": "BasicCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 62, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L62" + } + ], + "target": 6550 + }, + { + "id": 12574, + "name": "ClientInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ], + "target": 396 + }, + { + "id": 12578, + "name": "Configuration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ], + "target": 490 + }, + { + "id": 12577, + "name": "ConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ], + "target": 448 + }, + { + "id": 12561, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 59 + }, + { + "id": 12723, + "name": "CrawlerAddRequestsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1643, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1643" + } + ], + "target": 6867 + }, + { + "id": 12724, + "name": "CrawlerAddRequestsResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1645, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1645" + } + ], + "target": 6873 + }, + { + "id": 12720, + "name": "CrawlerExperiments", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 357, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L357" + } + ], + "target": 6655 + }, + { + "id": 12725, + "name": "CrawlerRunOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1647, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1647" + } + ], + "target": 6876 + }, + { + "id": 12580, + "name": "CrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "target": 620 + }, + { + "id": 12722, + "name": "CreateContextOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1637, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1637" + } + ], + "target": 6863 + }, + { + "id": 12650, + "name": "CreateSession", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "target": 2112 + }, + { + "id": 12564, + "name": "CriticalError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "target": 98 + }, + { + "id": 12666, + "name": "Dataset", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "target": 2572 + }, + { + "id": 12667, + "name": "DatasetConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "target": 2647 + }, + { + "id": 12671, + "name": "DatasetContent", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "target": 2669 + }, + { + "id": 12662, + "name": "DatasetDataOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ], + "target": 2537 + }, + { + "id": 12663, + "name": "DatasetExportOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "target": 2546 + }, + { + "id": 12665, + "name": "DatasetExportToOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "target": 2563 + }, + { + "id": 12664, + "name": "DatasetIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "target": 2553 + }, + { + "id": 12668, + "name": "DatasetMapper", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "target": 2652 + }, + { + "id": 12670, + "name": "DatasetOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ], + "target": 2665 + }, + { + "id": 12669, + "name": "DatasetReducer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "target": 2658 + }, + { + "id": 12596, + "name": "EnqueueLinksOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "target": 973 + }, + { + "id": 12597, + "name": "EnqueueStrategy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ], + "target": 990 + }, + { + "id": 12589, + "name": "ErrnoException", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "target": 873 + }, + { + "id": 12716, + "name": "ErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "target": 6608 + }, + { + "id": 12593, + "name": "ErrorSnapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ], + "target": 923 + }, + { + "id": 12591, + "name": "ErrorTracker", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ], + "target": 890 + }, + { + "id": 12590, + "name": "ErrorTrackerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ], + "target": 882 + }, + { + "id": 12618, + "name": "EventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "target": 1060 + }, + { + "id": 12616, + "name": "EventType", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ], + "target": 1053 + }, + { + "id": 12617, + "name": "EventTypeName", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "target": 1059 + }, + { + "id": 12743, + "name": "FileDownload", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 98, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L98" + } + ], + "target": 8169 + }, + { + "id": 12741, + "name": "FileDownloadCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L45" + } + ], + "target": 8120 + }, + { + "id": 12737, + "name": "FileDownloadErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 20, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L20" + } + ], + "target": 8102 + }, + { + "id": 12740, + "name": "FileDownloadHook", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 40, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L40" + } + ], + "target": 8117 + }, + { + "id": 12739, + "name": "FileDownloadOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L31" + } + ], + "target": 8108 + }, + { + "id": 12742, + "name": "FileDownloadRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 50, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L50" + } + ], + "target": 8166 + }, + { + "id": 12575, + "name": "FinalStatistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ], + "target": 400 + }, + { + "id": 12639, + "name": "GetUserDataFromRequest", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "target": 1929 + }, + { + "id": 12612, + "name": "GlobInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "target": 1045 + }, + { + "id": 12611, + "name": "GlobObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "target": 1042 + }, + { + "id": 12735, + "name": "HttpCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 291, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L291" + } + ], + "target": 7801 + }, + { + "id": 12729, + "name": "HttpCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 65, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L65" + } + ], + "target": 7656 + }, + { + "id": 12733, + "name": "HttpCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 216, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L216" + } + ], + "target": 7752 + }, + { + "id": 12728, + "name": "HttpErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 60, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L60" + } + ], + "target": 7653 + }, + { + "id": 12731, + "name": "HttpHook", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 181, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L181" + } + ], + "target": 7702 + }, + { + "id": 12734, + "name": "HttpRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 219, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L219" + } + ], + "target": 7798 + }, + { + "id": 12692, + "name": "IStorage", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "target": 3019 + }, + { + "id": 12674, + "name": "KeyConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "target": 2761 + }, + { + "id": 12673, + "name": "KeyValueStore", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ], + "target": 2684 + }, + { + "id": 12677, + "name": "KeyValueStoreIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ], + "target": 2774 + }, + { + "id": 12675, + "name": "KeyValueStoreOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ], + "target": 2768 + }, + { + "id": 12619, + "name": "LocalEventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "target": 1103 + }, + { + "id": 12621, + "name": "Log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L5" + } + ], + "target": 1182 + }, + { + "id": 12623, + "name": "LogLevel", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L7" + } + ], + "target": 1252 + }, + { + "id": 12624, + "name": "Logger", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L8" + } + ], + "target": 1260 + }, + { + "id": 12625, + "name": "LoggerJson", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L9" + } + ], + "target": 1416 + }, + { + "id": 12622, + "name": "LoggerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L6" + } + ], + "target": 1244 + }, + { + "id": 12626, + "name": "LoggerText", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L10" + } + ], + "target": 1573 + }, + { + "id": 12655, + "name": "MAX_POOL_SIZE", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "target": 2336 + }, + { + "id": 12563, + "name": "NonRetryableError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "target": 77 + }, + { + "id": 12654, + "name": "PERSIST_STATE_KEY", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "target": 2335 + }, + { + "id": 12584, + "name": "PersistenceOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ], + "target": 756 + }, + { + "id": 12631, + "name": "ProxyConfiguration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ], + "target": 1756 + }, + { + "id": 12627, + "name": "ProxyConfigurationFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "target": 1735 + }, + { + "id": 12628, + "name": "ProxyConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ], + "target": 1741 + }, + { + "id": 12630, + "name": "ProxyInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ], + "target": 1748 + }, + { + "id": 12556, + "name": "PseudoUrl", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 16, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L16" + } + ], + "target": 14 + }, + { + "id": 12610, + "name": "PseudoUrlInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "target": 1041 + }, + { + "id": 12609, + "name": "PseudoUrlObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "target": 1038 + }, + { + "id": 12635, + "name": "PushErrorMessageOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ], + "target": 1885 + }, + { + "id": 12562, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 68, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 73 + }, + { + "id": 12676, + "name": "RecordOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ], + "target": 2772 + }, + { + "id": 12614, + "name": "RegExpInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "target": 1049 + }, + { + "id": 12613, + "name": "RegExpObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "target": 1046 + }, + { + "id": 12633, + "name": "Request", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "target": 1808 + }, + { + "id": 12715, + "name": "RequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "target": 6603 + }, + { + "id": 12581, + "name": "RequestHandlerResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ], + "target": 657 + }, + { + "id": 12681, + "name": "RequestList", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ], + "target": 2787 + }, + { + "id": 12680, + "name": "RequestListOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ], + "target": 2778 + }, + { + "id": 12683, + "name": "RequestListSourcesFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "target": 2886 + }, + { + "id": 12682, + "name": "RequestListState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ], + "target": 2882 + }, + { + "id": 12634, + "name": "RequestOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "target": 1867 + }, + { + "id": 12684, + "name": "RequestProvider", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "target": 2889 + }, + { + "id": 12685, + "name": "RequestProviderOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "target": 2984 + }, + { + "id": 12657, + "name": "RequestQueue", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 6, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L6" + } + ], + "target": 2431 + }, + { + "id": 12688, + "name": "RequestQueueOperationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "target": 3002 + }, + { + "id": 12686, + "name": "RequestQueueOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "target": 2989 + }, + { + "id": 12656, + "name": "RequestQueueV1", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 5, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L5" + } + ], + "target": 2337 + }, + { + "id": 12658, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2525 + }, + { + "id": 12632, + "name": "RequestState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ], + "target": 1799 + }, + { + "id": 12615, + "name": "RequestTransform", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "target": 1050 + }, + { + "id": 12579, + "name": "RestrictedCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "target": 590 + }, + { + "id": 12566, + "name": "RetryRequestError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "target": 140 + }, + { + "id": 12641, + "name": "Router", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "target": 1939 + }, + { + "id": 12638, + "name": "RouterHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "target": 1894 + }, + { + "id": 12640, + "name": "RouterRoutes", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "target": 1931 + }, + { + "id": 12649, + "name": "Session", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ], + "target": 2047 + }, + { + "id": 12567, + "name": "SessionError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "target": 158 + }, + { + "id": 12648, + "name": "SessionOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ], + "target": 2033 + }, + { + "id": 12652, + "name": "SessionPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "target": 2127 + }, + { + "id": 12651, + "name": "SessionPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ], + "target": 2118 + }, + { + "id": 12647, + "name": "SessionState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ], + "target": 2022 + }, + { + "id": 12592, + "name": "SnapshotResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ], + "target": 920 + }, + { + "id": 12571, + "name": "Snapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ], + "target": 308 + }, + { + "id": 12570, + "name": "SnapshotterOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ], + "target": 298 + }, + { + "id": 12636, + "name": "Source", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "target": 1887 + }, + { + "id": 12587, + "name": "StatisticPersistedState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "target": 832 + }, + { + "id": 12588, + "name": "StatisticState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ], + "target": 856 + }, + { + "id": 12585, + "name": "Statistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ], + "target": 758 + }, + { + "id": 12586, + "name": "StatisticsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ], + "target": 825 + }, + { + "id": 12718, + "name": "StatusMessageCallback", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 116, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L116" + } + ], + "target": 6621 + }, + { + "id": 12717, + "name": "StatusMessageCallbackParams", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 106, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L106" + } + ], + "target": 6614 + }, + { + "id": 12560, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 31 + }, + { + "id": 12694, + "name": "StorageManagerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ], + "target": 3092 + }, + { + "id": 12738, + "name": "StreamHandlerContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 25, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L25" + } + ], + "target": 8105 + }, + { + "id": 12572, + "name": "SystemInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ], + "target": 378 + }, + { + "id": 12576, + "name": "SystemStatus", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ], + "target": 411 + }, + { + "id": 12573, + "name": "SystemStatusOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ], + "target": 388 + }, + { + "id": 12629, + "name": "TieredProxy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ], + "target": 1745 + }, + { + "id": 12608, + "name": "UrlPatternObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "target": 1034 + }, + { + "id": 12698, + "name": "UseStateOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ], + "target": 3111 + }, + { + "id": 12704, + "name": "checkStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "target": 3119 + }, + { + "id": 12713, + "name": "createBasicRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "target": 6545 + }, + { + "id": 12736, + "name": "createFileRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/file-download.ts", + "line": 220, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/file-download.ts#L220" + } + ], + "target": 8097 + }, + { + "id": 12727, + "name": "createHttpRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 966, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L966" + } + ], + "target": 7648 + }, + { + "id": 12594, + "name": "enqueueLinks", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "target": 950 + }, + { + "id": 12605, + "name": "filterRequestsByPatterns", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "target": 1022 + }, + { + "id": 12620, + "name": "log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L4" + } + ], + "target": 1181 + }, + { + "id": 12695, + "name": "purgeDefaultStorages", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "target": 3096 + }, + { + "id": 12607, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 10, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L10" + } + ], + "target": 1030 + }, + { + "id": 12696, + "name": "useState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "target": 3102 + }, + { + "id": 12705, + "name": "withCheckedStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "target": 3121 + }, + { + "id": 12865, + "name": "LinkeDOMCrawler", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a framework for the parallel crawling of web pages using plain HTTP requests and\n[linkedom](https://www.npmjs.com/package/linkedom) LinkeDOM implementation.\nThe URLs to crawl are fed either from a static list of URLs\nor from a dynamic queue of URLs enabling recursive crawling of websites.\n\nSince " + }, + { + "kind": "code", + "text": "`LinkeDOMCrawler`" + }, + { + "kind": "text", + "text": " uses raw HTTP requests to download web pages,\nit is very fast and efficient on data bandwidth. However, if the target website requires JavaScript\nto display the content, you might need to use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " instead,\nbecause it loads the pages using full-featured headless Chrome browser.\n\n**Limitation**:\nThis crawler does not support proxies and cookies yet (each open starts with empty cookie store), and the user agent is always set to " + }, + { + "kind": "code", + "text": "`Chrome`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "`LinkeDOMCrawler`" + }, + { + "kind": "text", + "text": " downloads each URL using a plain HTTP request,\nparses the HTML content using [LinkeDOM](https://www.npmjs.com/package/linkedom)\nand then invokes the user-provided " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": " to extract page data\nusing the " + }, + { + "kind": "code", + "text": "`window`" + }, + { + "kind": "text", + "text": " object.\n\nThe source URLs are represented using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects that are fed from\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instances provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": "\nor " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " constructor options, respectively.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " are used,\nthe instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them\nto " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes when there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\nWe can use the " + }, + { + "kind": "code", + "text": "`preNavigationHooks`" + }, + { + "kind": "text", + "text": " to adjust " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ":\n\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nBy default, " + }, + { + "kind": "code", + "text": "`LinkeDOMCrawler`" + }, + { + "kind": "text", + "text": " only processes web pages with the " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": " MIME content types (as reported by the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " HTTP header),\nand skips pages with other content types. If you want the crawler to process other content types,\nuse the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawlerOptions.additionalMimeTypes" + }, + { + "kind": "text", + "text": " constructor option.\nBeware that the parsing behavior differs for HTML, XML, JSON and other types of content.\nFor more details, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": ".\n\nNew requests are only dispatched when there is enough free CPU and memory available,\nusing the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\nAll " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "code", + "text": "`autoscaledPoolOptions`" + }, + { + "kind": "text", + "text": "\nparameter of the " + }, + { + "kind": "code", + "text": "`CheerioCrawler`" + }, + { + "kind": "text", + "text": " constructor. For user convenience, the " + }, + { + "kind": "code", + "text": "`minConcurrency`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`maxConcurrency`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " options are available directly in the " + }, + { + "kind": "code", + "text": "`CheerioCrawler`" + }, + { + "kind": "text", + "text": " constructor.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst crawler = new LinkeDOMCrawler({\n async requestHandler({ request, window }) {\n await Dataset.pushData({\n url: request.url,\n title: window.document.title,\n });\n },\n});\n\nawait crawler.run([\n 'http://crawlee.dev',\n]);\n```" + } + ] + }, + "children": [ + { + "id": 12908, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "signatures": [ + { + "id": 12909, + "name": "new LinkeDOMCrawler", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`HttpCrawlerOptions`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "parameters": [ + { + "id": 12910, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 7656, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "HttpCrawlerOptions", + "package": "@crawlee/http" + }, + "defaultValue": "{}" + }, + { + "id": 12911, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 12865, + "name": "LinkeDOMCrawler", + "package": "@crawlee/linkedom" + }, + "inheritedFrom": { + "type": "reference", + "target": 7844, + "name": "HttpCrawler.constructor" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7843, + "name": "HttpCrawler.constructor" + } + }, + { + "id": 13015, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7954, + "name": "HttpCrawler.autoscaledPool" + } + }, + { + "id": 12939, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 332, + "character": 77, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L332" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7860, + "name": "HttpCrawler.config" + } + }, + { + "id": 13018, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7957, + "name": "HttpCrawler.hasFinishedBefore" + } + }, + { + "id": 12927, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L296" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7848, + "name": "HttpCrawler.proxyConfiguration" + } + }, + { + "id": 13012, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7951, + "name": "HttpCrawler.requestList" + } + }, + { + "id": 13013, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7952, + "name": "HttpCrawler.requestQueue" + } + }, + { + "id": 13016, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7955, + "name": "HttpCrawler.router" + } + }, + { + "id": 13017, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7956, + "name": "HttpCrawler.running" + } + }, + { + "id": 13014, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7953, + "name": "HttpCrawler.sessionPool" + } + }, + { + "id": 13011, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7950, + "name": "HttpCrawler.stats" + } + }, + { + "id": 13055, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 13056, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 13057, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 13058, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7995, + "name": "HttpCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7994, + "name": "HttpCrawler.addRequests" + } + }, + { + "id": 13069, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 13070, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 13071, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 13072, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13073, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 13074, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8009, + "name": "HttpCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8008, + "name": "HttpCrawler.exportData" + } + }, + { + "id": 13066, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 13067, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 13068, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8006, + "name": "HttpCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8005, + "name": "HttpCrawler.getData" + } + }, + { + "id": 13063, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 13064, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 13065, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 8003, + "name": "HttpCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 8002, + "name": "HttpCrawler.getDataset" + } + }, + { + "id": 13049, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 13050, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7989, + "name": "HttpCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7988, + "name": "HttpCrawler.getRequestQueue" + } + }, + { + "id": 13059, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 13060, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 13061, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 13062, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7999, + "name": "HttpCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7998, + "name": "HttpCrawler.pushData" + } + }, + { + "id": 13045, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 13046, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 13047, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 13048, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7985, + "name": "HttpCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7984, + "name": "HttpCrawler.run" + } + }, + { + "id": 13041, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 13042, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 13043, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13044, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7981, + "name": "HttpCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7980, + "name": "HttpCrawler.setStatusMessage" + } + }, + { + "id": 12940, + "name": "use", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "signatures": [ + { + "id": 12941, + "name": "use", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "**EXPERIMENTAL**\nFunction for attaching CrawlerExtensions such as the Unblockers." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 420, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L420" + } + ], + "parameters": [ + { + "id": 12942, + "name": "extension", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Crawler extension that overrides the crawler configuration." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/core/src/crawlers/crawler_extension.ts", + "qualifiedName": "CrawlerExtension" + }, + "name": "CrawlerExtension", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + }, + "inheritedFrom": { + "type": "reference", + "target": 7862, + "name": "HttpCrawler.use" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7861, + "name": "HttpCrawler.use" + } + }, + { + "id": 13051, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 13052, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 13053, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 13054, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7991, + "name": "HttpCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7990, + "name": "HttpCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 12908 + ] + }, + { + "title": "Properties", + "children": [ + 13015, + 12939, + 13018, + 12927, + 13012, + 13013, + 13016, + 13017, + 13014, + 13011 + ] + }, + { + "title": "Methods", + "children": [ + 13055, + 13069, + 13066, + 13063, + 13049, + 13059, + 13045, + 13041, + 12940, + 13051 + ] + } + ], + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 140, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L140" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7801, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "HttpCrawler", + "package": "@crawlee/http" + } + ] + }, + { + "id": 12796, + "name": "LinkeDOMCrawlerEnqueueLinksOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 12802, + "name": "baseUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A base URL that will be used to resolve relative URLs when using Cheerio. Ignored when using Puppeteer,\nsince the relative URL resolution is done inside the browser automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L48" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.baseUrl" + } + }, + { + "id": 12804, + "name": "exclude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings, regexp patterns or plain objects\ncontaining patterns matching URLs that will **never** be enqueued.\n\nThe plain objects must include either the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property or the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nGlob matching is always case-insensitive.\nIf you need case-sensitive matching, provide a regexp." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 75, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L75" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + ] + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.exclude" + } + }, + { + "id": 12809, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L756" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.forefront" + } + }, + { + "id": 12803, + "name": "globs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings or plain objects\ncontaining glob pattern strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property, which holds the glob pattern string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nThe matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " are also not defined, then the function\nenqueues the links with the same subdomain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L63" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.globs" + } + }, + { + "id": 12800, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.label" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L36" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.label" + } + }, + { + "id": 12797, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Limit the amount of actually enqueued URLs to this number. Useful for testing across the entire crawling scope." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L21" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.limit" + } + }, + { + "id": 12806, + "name": "pseudoUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "*NOTE:* In future versions of SDK the options will be removed.\nPlease use " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead.\n\nAn array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings or plain objects\ncontaining " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`purl`" + }, + { + "kind": "text", + "text": " property, which holds the pseudo-URL string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nWith a pseudo-URL string, the matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues the links with the same subdomain." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "prefer using " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 107, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L107" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1041, + "name": "PseudoUrlInput", + "package": "@crawlee/core" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.pseudoUrls" + } + }, + { + "id": 12805, + "name": "regexps", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of regular expressions or plain objects\ncontaining regular expressions matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property, which holds the regular expression.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nIf " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", and " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " are also not defined, then the function\nenqueues the links with the same subdomain." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L87" + } + ], + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.regexps" + } + }, + { + "id": 12798, + "name": "selector", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A CSS selector matching links to be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L30" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.selector" + } + }, + { + "id": 12801, + "name": "skipNavigation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", tells the crawler to skip navigation and process the request directly." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 42, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.skipNavigation" + } + }, + { + "id": 12808, + "name": "strategy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The strategy to use when enqueueing the urls.\n\nDepending on the strategy you select, we will only check certain parts of the URLs found. Here is a diagram of each URL part and their name:\n\n" + }, + { + "kind": "code", + "text": "```md\nProtocol Domain\n┌────┐ ┌─────────┐\nhttps://example.crawlee.dev/...\n│ └─────────────────┤\n│ Hostname │\n│ │\n└─────────────────────────┘\n Origin\n```" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nEnqueueStrategy.SameHostname\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 153, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L153" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": 990, + "name": "EnqueueStrategy", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "all" + }, + { + "type": "literal", + "value": "same-domain" + }, + { + "type": "literal", + "value": "same-hostname" + }, + { + "type": "literal", + "value": "same-origin" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.strategy" + } + }, + { + "id": 12807, + "name": "transformRequestFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Just before a new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " is constructed and enqueued to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ", this function can be used\nto remove it or modify its contents such as " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`payload`" + }, + { + "kind": "text", + "text": " or, most importantly " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": ". This is useful\nwhen you need to enqueue multiple " + }, + { + "kind": "code", + "text": "`Requests`" + }, + { + "kind": "text", + "text": " to the queue that share the same URL, but differ in methods or payloads,\nor to dynamically update or create " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ".\n\nFor example: by adding " + }, + { + "kind": "code", + "text": "`keepUrlFragment: true`" + }, + { + "kind": "text", + "text": " to the " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " object, URL fragments will not be removed\nwhen " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " is computed.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```javascript\n{\n transformRequestFunction: (request) => {\n request.userData.foo = 'bar';\n request.keepUrlFragment = true;\n return request;\n }\n}\n```" + }, + { + "kind": "text", + "text": "\n\nNote that " + }, + { + "kind": "code", + "text": "`transformRequestFunction`" + }, + { + "kind": "text", + "text": " has a priority over request options\nspecified in " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": ", or " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " objects,\nand thus some options could be over-written by " + }, + { + "kind": "code", + "text": "`transformRequestFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 133, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L133" + } + ], + "type": { + "type": "reference", + "target": 1050, + "name": "RequestTransform", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.transformRequestFunction" + } + }, + { + "id": 12799, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.userData" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L33" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.userData" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12802, + 12804, + 12809, + 12803, + 12800, + 12797, + 12806, + 12805, + 12798, + 12801, + 12808, + 12807, + 12799 + ] + } + ], + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L31" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "urls" + }, + { + "type": "literal", + "value": "requestQueue" + } + ] + } + ], + "name": "Omit", + "package": "typescript" + } + ] + }, + { + "id": 12755, + "name": "LinkeDOMCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 12767, + "name": "additionalHttpErrorStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of additional HTTP response [Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to be treated as errors.\nBy default, status codes >= 500 trigger errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 170, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L170" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7668, + "name": "HttpCrawlerOptions.additionalHttpErrorStatusCodes" + } + }, + { + "id": 12762, + "name": "additionalMimeTypes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of [MIME types](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types)\nyou want the crawler to load and process. By default, only " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": " MIME types are supported." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L126" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7663, + "name": "HttpCrawlerOptions.additionalMimeTypes" + } + }, + { + "id": 12781, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7682, + "name": "HttpCrawlerOptions.autoscaledPoolOptions" + } + }, + { + "id": 12774, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 202, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L202" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12794, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12795, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7675, + "name": "HttpCrawlerOptions.errorHandler" + } + }, + { + "id": 12792, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7693, + "name": "HttpCrawlerOptions.experiments" + } + }, + { + "id": 12775, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 212, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L212" + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12794, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12795, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7676, + "name": "HttpCrawlerOptions.failedRequestHandler" + } + }, + { + "id": 12764, + "name": "forceResponseEncoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this crawler will extract correct encoding from the HTTP response headers. Use " + }, + { + "kind": "code", + "text": "`forceResponseEncoding`" + }, + { + "kind": "text", + "text": "\nto force a certain encoding, disregarding the response headers.\nTo only provide a default for missing encodings, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.suggestResponseEncoding" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "```\n// Will force windows-1250 encoding even if headers say otherwise\nforceResponseEncoding: 'windows-1250'\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 150, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L150" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7665, + "name": "HttpCrawlerOptions.forceResponseEncoding" + } + }, + { + "id": 12756, + "name": "handlePageFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An alias for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": "\nSoon to be removed, use " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " instead." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 71, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L71" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12794, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12795, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7657, + "name": "HttpCrawlerOptions.handlePageFunction" + } + }, + { + "id": 12766, + "name": "ignoreHttpErrorStatusCodes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of HTTP response [Status Codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status) to be excluded from error consideration.\nBy default, status codes >= 500 trigger errors." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 164, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L164" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "number" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7667, + "name": "HttpCrawlerOptions.ignoreHttpErrorStatusCodes" + } + }, + { + "id": 12758, + "name": "ignoreSslErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, SSL certificate errors will be ignored." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L81" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7659, + "name": "HttpCrawlerOptions.ignoreSslErrors" + } + }, + { + "id": 12785, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7686, + "name": "HttpCrawlerOptions.keepAlive" + } + }, + { + "id": 12783, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7684, + "name": "HttpCrawlerOptions.maxConcurrency" + } + }, + { + "id": 12777, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7678, + "name": "HttpCrawlerOptions.maxRequestRetries" + } + }, + { + "id": 12780, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7681, + "name": "HttpCrawlerOptions.maxRequestsPerCrawl" + } + }, + { + "id": 12784, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7685, + "name": "HttpCrawlerOptions.maxRequestsPerMinute" + } + }, + { + "id": 12779, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7680, + "name": "HttpCrawlerOptions.maxSessionRotations" + } + }, + { + "id": 12782, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7683, + "name": "HttpCrawlerOptions.minConcurrency" + } + }, + { + "id": 12757, + "name": "navigationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the HTTP request to the resource needs to finish, given in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7658, + "name": "HttpCrawlerOptions.navigationTimeoutSecs" + } + }, + { + "id": 12765, + "name": "persistCookiesPerSession", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Automatically saves cookies to Session. Works only if Session Pool is used.\n\nIt parses cookie from response \"set-cookie\" header saves or updates cookies for session and once the session is used for next request.\nIt passes the \"Cookie\" header to the request with the session cookies." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L158" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7666, + "name": "HttpCrawlerOptions.persistCookiesPerSession" + } + }, + { + "id": 12761, + "name": "postNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated after the navigation. Good for checking if the navigation was successful.\nThe function accepts " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " as the only parameter.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npostNavigationHooks: [\n async (crawlingContext) => {\n // ...\n },\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L120" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12794, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12795, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7662, + "name": "HttpCrawlerOptions.postNavigationHooks" + } + }, + { + "id": 12760, + "name": "preNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated before the navigation. Good for setting additional cookies\nor browser properties before navigation. The function accepts two parameters, " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`gotOptions`" + }, + { + "kind": "text", + "text": ",\nwhich are passed to the " + }, + { + "kind": "code", + "text": "`requestAsBrowser()`" + }, + { + "kind": "text", + "text": " function the crawler calls to navigate.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n async (crawlingContext, gotOptions) => {\n // ...\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nModyfing " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " is supported only in Playwright incognito.\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PrePageCreateHook" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 106, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L106" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12794, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12795, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7661, + "name": "HttpCrawlerOptions.preNavigationHooks" + } + }, + { + "id": 12759, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set, this crawler will be configured for all connections to use\n[Apify Proxy](https://console.apify.com/proxy) or your own Proxy URLs provided and rotated according to the configuration.\nFor more information, see the [documentation](https://docs.apify.com/proxy)." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L88" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7660, + "name": "HttpCrawlerOptions.proxyConfiguration" + } + }, + { + "id": 12768, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that performs the logic of the crawler. It is called for each URL to crawl.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext" + }, + { + "kind": "text", + "text": " as an argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " represents the URL to crawl.\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\nIf all the retries fail, the crawler calls the function\nprovided to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.failedRequestHandler|`failedRequestHandler`" + }, + { + "kind": "text", + "text": " parameter.\nTo make this work, we should **always**\nlet our function throw exceptions rather than catch them.\nThe exceptions are logged to the request using the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.pushErrorMessage|`Request.pushErrorMessage()`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L139" + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12794, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12795, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7669, + "name": "HttpCrawlerOptions.requestHandler" + } + }, + { + "id": 12772, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7673, + "name": "HttpCrawlerOptions.requestHandlerTimeoutSecs" + } + }, + { + "id": 12770, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7671, + "name": "HttpCrawlerOptions.requestList" + } + }, + { + "id": 12771, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7672, + "name": "HttpCrawlerOptions.requestQueue" + } + }, + { + "id": 12790, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7691, + "name": "HttpCrawlerOptions.retryOnBlocked" + } + }, + { + "id": 12778, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7679, + "name": "HttpCrawlerOptions.sameDomainDelaySecs" + } + }, + { + "id": 12787, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7688, + "name": "HttpCrawlerOptions.sessionPoolOptions" + } + }, + { + "id": 12793, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7694, + "name": "HttpCrawlerOptions.statisticsOptions" + } + }, + { + "id": 12789, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7690, + "name": "HttpCrawlerOptions.statusMessageCallback" + } + }, + { + "id": 12788, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7689, + "name": "HttpCrawlerOptions.statusMessageLoggingInterval" + } + }, + { + "id": 12763, + "name": "suggestResponseEncoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this crawler will extract correct encoding from the HTTP response headers.\nSadly, there are some websites which use invalid headers. Those are encoded using the UTF-8 encoding.\nIf those sites actually use a different encoding, the response will be corrupted. You can use\n" + }, + { + "kind": "code", + "text": "`suggestResponseEncoding`" + }, + { + "kind": "text", + "text": " to fall back to a certain encoding, if you know that your target website uses it.\nTo force a certain encoding, disregarding the response headers, use " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "HttpCrawlerOptions.forceResponseEncoding" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "code", + "text": "```\n// Will fall back to windows-1250 encoding if none found\nsuggestResponseEncoding: 'windows-1250'\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L139" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7664, + "name": "HttpCrawlerOptions.suggestResponseEncoding" + } + }, + { + "id": 12786, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7687, + "name": "HttpCrawlerOptions.useSessionPool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12767, + 12762, + 12781, + 12774, + 12792, + 12775, + 12764, + 12756, + 12766, + 12758, + 12785, + 12783, + 12777, + 12780, + 12784, + 12779, + 12782, + 12757, + 12765, + 12761, + 12760, + 12759, + 12768, + 12772, + 12770, + 12771, + 12790, + 12778, + 12787, + 12793, + 12789, + 12788, + 12763, + 12786 + ] + } + ], + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 26, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L26" + } + ], + "typeParameters": [ + { + "id": 12794, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12795, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7656, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12794, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12795, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlerOptions.JSONData", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "HttpCrawlerOptions", + "package": "@crawlee/http" + } + ] + }, + { + "id": 12814, + "name": "LinkeDOMCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 12846, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12847, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 12848, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 12849, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 12850, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 12852, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 12851, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12852, + 12851 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 12853, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.addRequests" + } + }, + { + "id": 12819, + "name": "body", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The request body of the web page.\nThe type depends on the " + }, + { + "kind": "code", + "text": "`Content-Type`" + }, + { + "kind": "text", + "text": " header of the web page:\n- String for " + }, + { + "kind": "code", + "text": "`text/html`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xhtml+xml`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`application/xml`" + }, + { + "kind": "text", + "text": " MIME content types\n- Buffer for others MIME content types" + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L200" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.body" + } + }, + { + "id": 12821, + "name": "contentType", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Parsed " + }, + { + "kind": "code", + "text": "`Content-Type header: { type, encoding }`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12822, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 12824, + "name": "encoding", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 33, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.BufferEncoding" + }, + "name": "BufferEncoding", + "package": "@types/node", + "qualifiedName": "__global.BufferEncoding" + } + }, + { + "id": 12823, + "name": "type", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12824, + 12823 + ] + } + ], + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 210, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L210" + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.contentType" + } + }, + { + "id": 12829, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 12865, + "name": "LinkeDOMCrawler", + "package": "@crawlee/linkedom" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.crawler" + } + }, + { + "id": 12816, + "name": "document", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 48, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L48" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "Document" + }, + "name": "Document", + "package": "typescript" + } + }, + { + "id": 12833, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12834, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 12835, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 12836, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.getKeyValueStore" + } + }, + { + "id": 12826, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.id" + } + }, + { + "id": 12820, + "name": "json", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The parsed object from JSON string if the response contains the content type application/json." + } + ] + }, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 205, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L205" + } + ], + "type": { + "type": "reference", + "target": 12861, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.json" + } + }, + { + "id": 12859, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.log" + } + }, + { + "id": 12828, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.proxyInfo" + } + }, + { + "id": 12841, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 12860, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.request" + } + }, + { + "id": 12825, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/http-crawler/src/internals/http-crawler.ts", + "line": 211, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/http-crawler/src/internals/http-crawler.ts#L211" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "PlainResponse" + }, + "name": "PlainResponse", + "package": "got" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.response" + } + }, + { + "id": 12827, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.session" + } + }, + { + "id": 12854, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 12855, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 12856, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 12857, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 12858, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.useState" + } + }, + { + "id": 12815, + "name": "window", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 42, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L42" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "Window" + }, + "name": "Window", + "package": "typescript" + } + }, + { + "id": 12830, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 12831, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 12832, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.enqueueLinks" + } + }, + { + "id": 12817, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 61, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L61" + } + ], + "signatures": [ + { + "id": 12818, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns Cheerio handle, allowing to work with the data same way as with " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ".\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ parseWithCheerio }) {\n const $ = await parseWithCheerio();\n const title = $('title').text();\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 61, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L61" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + ], + "name": "Promise", + "package": "typescript" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.parseWithCheerio" + } + }, + { + "id": 12842, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 12843, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 12844, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 12845, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.pushData" + } + }, + { + "id": 12837, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 12838, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 12839, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 12840, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "InternalHttpCrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 12846, + 12819, + 12821, + 12829, + 12816, + 12833, + 12826, + 12820, + 12859, + 12828, + 12841, + 12825, + 12827, + 12854, + 12815 + ] + }, + { + "title": "Methods", + "children": [ + 12830, + 12817, + 12842, + 12837 + ] + } + ], + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 38, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L38" + } + ], + "typeParameters": [ + { + "id": 12860, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12861, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext" + }, + "typeArguments": [ + { + "type": "reference", + "target": 12860, + "name": "UserData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlingContext.UserData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12861, + "name": "JSONData", + "package": "@crawlee/linkedom", + "qualifiedName": "LinkeDOMCrawlingContext.JSONData", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12865, + "name": "LinkeDOMCrawler", + "package": "@crawlee/linkedom" + } + ], + "name": "InternalHttpCrawlingContext", + "package": "@crawlee/http" + } + ] + }, + { + "id": 12752, + "name": "LinkeDOMErrorHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 21, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L21" + } + ], + "typeParameters": [ + { + "id": 12753, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12754, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6608, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12753, + "name": "UserData", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12754, + "name": "JSONData", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "ErrorHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 12811, + "name": "LinkeDOMHook", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L33" + } + ], + "typeParameters": [ + { + "id": 12812, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12813, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpHook" + }, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12812, + "name": "UserData", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12813, + "name": "JSONData", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "InternalHttpHook", + "package": "@crawlee/http" + } + }, + { + "id": 12862, + "name": "LinkeDOMRequestHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 64, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L64" + } + ], + "typeParameters": [ + { + "id": 12863, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + }, + { + "id": 12864, + "name": "JSONData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "intrinsic", + "name": "any" + } + } + ], + "type": { + "type": "reference", + "target": 6603, + "typeArguments": [ + { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "reference", + "target": 12863, + "name": "UserData", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12864, + "name": "JSONData", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + ], + "name": "RequestHandler", + "package": "@crawlee/basic" + } + }, + { + "id": 12747, + "name": "createLinkeDOMRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 242, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L242" + } + ], + "signatures": [ + { + "id": 12748, + "name": "createLinkeDOMRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that works based on request labels.\nThis instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawler" + }, + { + "kind": "text", + "text": ".\nDefaults to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "LinkeDOMCrawlingContext" + }, + { + "kind": "text", + "text": ".\n\n> Serves as a shortcut for using " + }, + { + "kind": "code", + "text": "`Router.create()`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { LinkeDOMCrawler, createLinkeDOMRouter } from 'crawlee';\n\nconst router = createLinkeDOMRouter();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new LinkeDOMCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "line": 242, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/internals/linkedom-crawler.ts#L242" + } + ], + "typeParameter": [ + { + "id": 12749, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + }, + "default": { + "type": "reference", + "target": 12814, + "typeArguments": [ + { + "type": "intrinsic", + "name": "any" + }, + { + "type": "intrinsic", + "name": "any" + } + ], + "name": "LinkeDOMCrawlingContext", + "package": "@crawlee/linkedom" + } + }, + { + "id": 12750, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 12749, + "name": "Context", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 12751, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 12749, + "name": "Context", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 12750, + "name": "UserData", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 12749, + "name": "Context", + "package": "@crawlee/linkedom", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 12690, + 12691, + 12569, + 12568, + 12726, + 12653, + 12721, + 12719, + 12714, + 12574, + 12578, + 12577, + 12561, + 12723, + 12724, + 12720, + 12725, + 12580, + 12722, + 12650, + 12564, + 12666, + 12667, + 12671, + 12662, + 12663, + 12665, + 12664, + 12668, + 12670, + 12669, + 12596, + 12597, + 12589, + 12716, + 12593, + 12591, + 12590, + 12618, + 12616, + 12617, + 12743, + 12741, + 12737, + 12740, + 12739, + 12742, + 12575, + 12639, + 12612, + 12611, + 12735, + 12729, + 12733, + 12728, + 12731, + 12734, + 12692, + 12674, + 12673, + 12677, + 12675, + 12619, + 12621, + 12623, + 12624, + 12625, + 12622, + 12626, + 12655, + 12563, + 12654, + 12584, + 12631, + 12627, + 12628, + 12630, + 12556, + 12610, + 12609, + 12635, + 12562, + 12676, + 12614, + 12613, + 12633, + 12715, + 12581, + 12681, + 12680, + 12683, + 12682, + 12634, + 12684, + 12685, + 12657, + 12688, + 12686, + 12656, + 12658, + 12632, + 12615, + 12579, + 12566, + 12641, + 12638, + 12640, + 12649, + 12567, + 12648, + 12652, + 12651, + 12647, + 12592, + 12571, + 12570, + 12636, + 12587, + 12588, + 12585, + 12586, + 12718, + 12717, + 12560, + 12694, + 12738, + 12572, + 12576, + 12573, + 12629, + 12608, + 12698, + 12704, + 12713, + 12736, + 12727, + 12594, + 12605, + 12620, + 12695, + 12607, + 12696, + 12705 + ] + }, + { + "title": "Classes", + "children": [ + 12865 + ] + }, + { + "title": "Interfaces", + "children": [ + 12796, + 12755, + 12814 + ] + }, + { + "title": "Type Aliases", + "children": [ + 12752, + 12811, + 12862 + ] + }, + { + "title": "Functions", + "children": [ + 12747 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 12865 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 12690, + 12691, + 12569, + 12568, + 12726, + 12653, + 12721, + 12719, + 12714, + 12574, + 12578, + 12577, + 12561, + 12723, + 12724, + 12720, + 12725, + 12580, + 12722, + 12650, + 12564, + 12666, + 12667, + 12671, + 12662, + 12663, + 12665, + 12664, + 12668, + 12670, + 12669, + 12596, + 12597, + 12589, + 12716, + 12593, + 12591, + 12590, + 12618, + 12616, + 12617, + 12743, + 12741, + 12737, + 12740, + 12739, + 12742, + 12575, + 12639, + 12612, + 12611, + 12735, + 12729, + 12733, + 12728, + 12731, + 12734, + 12692, + 12674, + 12673, + 12677, + 12675, + 12619, + 12621, + 12623, + 12624, + 12625, + 12622, + 12626, + 12655, + 12563, + 12654, + 12584, + 12631, + 12627, + 12628, + 12630, + 12556, + 12610, + 12609, + 12635, + 12562, + 12676, + 12614, + 12613, + 12633, + 12715, + 12581, + 12681, + 12680, + 12683, + 12682, + 12634, + 12684, + 12685, + 12657, + 12688, + 12686, + 12656, + 12658, + 12632, + 12615, + 12579, + 12566, + 12641, + 12638, + 12640, + 12649, + 12567, + 12648, + 12652, + 12651, + 12647, + 12592, + 12571, + 12570, + 12636, + 12587, + 12588, + 12585, + 12586, + 12718, + 12717, + 12560, + 12694, + 12738, + 12572, + 12576, + 12573, + 12629, + 12608, + 12698, + 12704, + 12713, + 12736, + 12727, + 12594, + 12605, + 12620, + 12695, + 12607, + 12696, + 12705, + 12796, + 12755, + 12814, + 12752, + 12811, + 12862, + 12747 + ] + } + ], + "sources": [ + { + "fileName": "packages/linkedom-crawler/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/linkedom-crawler/src/index.ts#L1" + } + ] + }, + { + "id": 11, + "name": "memory-storage/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 13161, + "name": "MemoryStorage", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Represents a storage capable of working with datasets, KV stores and request queues." + } + ] + }, + "children": [ + { + "id": 13162, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 52, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L52" + } + ], + "signatures": [ + { + "id": 13163, + "name": "new MemoryStorage", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 52, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L52" + } + ], + "parameters": [ + { + "id": 13164, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13157, + "name": "MemoryStorageOptions", + "package": "@crawlee/memory-storage" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 13161, + "name": "MemoryStorage", + "package": "@crawlee/memory-storage" + } + } + ] + }, + { + "id": 13172, + "name": "datasetClientsHandled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 49, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L49" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/memory-storage/src/resource-clients/dataset.ts", + "qualifiedName": "DatasetClient" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetClient", + "package": "@crawlee/memory-storage" + } + }, + "defaultValue": "[]" + }, + { + "id": 13166, + "name": "datasetsDirectory", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 42, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L42" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13167, + "name": "keyValueStoresDirectory", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 43, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L43" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13171, + "name": "keyValueStoresHandled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 48, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L48" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/memory-storage/src/resource-clients/key-value-store.ts", + "qualifiedName": "KeyValueStoreClient" + }, + "name": "KeyValueStoreClient", + "package": "@crawlee/memory-storage" + } + }, + "defaultValue": "[]" + }, + { + "id": 13165, + "name": "localDataDirectory", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 41, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L41" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13170, + "name": "persistStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 46, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L46" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13168, + "name": "requestQueuesDirectory", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 44, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L44" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13173, + "name": "requestQueuesHandled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 50, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L50" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/memory-storage/src/resource-clients/request-queue.ts", + "qualifiedName": "RequestQueueClient" + }, + "name": "RequestQueueClient", + "package": "@crawlee/memory-storage" + } + }, + "defaultValue": "[]" + }, + { + "id": 13169, + "name": "writeMetadata", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 45, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13176, + "name": "dataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L86" + } + ], + "signatures": [ + { + "id": 13177, + "name": "dataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L86" + } + ], + "typeParameter": [ + { + "id": 13178, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 13179, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 13518, + "typeArguments": [ + { + "type": "reference", + "target": 13178, + "name": "Data", + "package": "@crawlee/memory-storage", + "refersToTypeParameter": true + } + ], + "name": "DatasetClient", + "package": "@crawlee/types" + }, + "implementationOf": { + "type": "reference", + "target": 35, + "name": "storage.StorageClient.dataset" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 34, + "name": "StorageClient.dataset" + } + }, + { + "id": 13174, + "name": "datasets", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 79, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L79" + } + ], + "signatures": [ + { + "id": 13175, + "name": "datasets", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 79, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L79" + } + ], + "type": { + "type": "reference", + "target": 13477, + "name": "DatasetCollectionClient", + "package": "@crawlee/types" + }, + "implementationOf": { + "type": "reference", + "target": 33, + "name": "storage.StorageClient.datasets" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 32, + "name": "StorageClient.datasets" + } + }, + { + "id": 13182, + "name": "keyValueStore", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 99, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L99" + } + ], + "signatures": [ + { + "id": 13183, + "name": "keyValueStore", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 99, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L99" + } + ], + "parameters": [ + { + "id": 13184, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 13580, + "name": "KeyValueStoreClient", + "package": "@crawlee/types" + }, + "implementationOf": { + "type": "reference", + "target": 40, + "name": "storage.StorageClient.keyValueStore" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 39, + "name": "StorageClient.keyValueStore" + } + }, + { + "id": 13180, + "name": "keyValueStores", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 92, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L92" + } + ], + "signatures": [ + { + "id": 13181, + "name": "keyValueStores", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 92, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L92" + } + ], + "type": { + "type": "reference", + "target": 13552, + "name": "KeyValueStoreCollectionClient", + "package": "@crawlee/types" + }, + "implementationOf": { + "type": "reference", + "target": 38, + "name": "storage.StorageClient.keyValueStores" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 37, + "name": "StorageClient.keyValueStores" + } + }, + { + "id": 13195, + "name": "purge", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 137, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L137" + } + ], + "signatures": [ + { + "id": 13196, + "name": "purge", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cleans up the default storage directories before the run starts:\n - local directory containing the default dataset;\n - all records from the default key-value store in the local directory, except for the \"INPUT\" key;\n - local directory containing the default request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 137, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L137" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": 49, + "name": "storage.StorageClient.purge" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 48, + "name": "StorageClient.purge" + } + }, + { + "id": 13187, + "name": "requestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 112, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L112" + } + ], + "signatures": [ + { + "id": 13188, + "name": "requestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 112, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L112" + } + ], + "parameters": [ + { + "id": 13189, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13190, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13744, + "name": "RequestQueueOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": 13702, + "name": "RequestQueueClient", + "package": "@crawlee/types" + }, + "implementationOf": { + "type": "reference", + "target": 45, + "name": "storage.StorageClient.requestQueue" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 44, + "name": "StorageClient.requestQueue" + } + }, + { + "id": 13185, + "name": "requestQueues", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 105, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L105" + } + ], + "signatures": [ + { + "id": 13186, + "name": "requestQueues", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 105, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L105" + } + ], + "type": { + "type": "reference", + "target": 13604, + "name": "RequestQueueCollectionClient", + "package": "@crawlee/types" + }, + "implementationOf": { + "type": "reference", + "target": 43, + "name": "storage.StorageClient.requestQueues" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 42, + "name": "StorageClient.requestQueues" + } + }, + { + "id": 13191, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 122, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L122" + } + ], + "signatures": [ + { + "id": 13192, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 122, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L122" + } + ], + "parameters": [ + { + "id": 13193, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13194, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": 53, + "name": "storage.StorageClient.setStatusMessage" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 52, + "name": "StorageClient.setStatusMessage" + } + }, + { + "id": 13197, + "name": "teardown", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 180, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L180" + } + ], + "signatures": [ + { + "id": 13198, + "name": "teardown", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method should be called at the end of the process, to ensure all data is saved." + } + ] + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 180, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L180" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "implementationOf": { + "type": "reference", + "target": 51, + "name": "storage.StorageClient.teardown" + } + } + ], + "implementationOf": { + "type": "reference", + "target": 50, + "name": "StorageClient.teardown" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 13162 + ] + }, + { + "title": "Properties", + "children": [ + 13172, + 13166, + 13167, + 13171, + 13165, + 13170, + 13168, + 13173, + 13169 + ] + }, + { + "title": "Methods", + "children": [ + 13176, + 13174, + 13182, + 13180, + 13195, + 13187, + 13185, + 13191, + 13197 + ] + } + ], + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 40, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L40" + } + ], + "implementedTypes": [ + { + "type": "reference", + "target": 31, + "name": "StorageClient", + "package": "@crawlee/types" + } + ] + }, + { + "id": 13157, + "name": "MemoryStorageOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13158, + "name": "localDataDirectory", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to directory where the data will also be saved." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nprocess.env.CRAWLEE_STORAGE_DIR ?? './storage'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L23" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13160, + "name": "persistStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the memory storage should also write its stored content to the disk.\n\nYou can also disable this by setting the " + }, + { + "kind": "code", + "text": "`CRAWLEE_PERSIST_STORAGE`" + }, + { + "kind": "text", + "text": " environment variable to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 37, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L37" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13159, + "name": "writeMetadata", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to also write optional metadata files when storing to disk." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nprocess.env.DEBUG?.includes('*') ?? process.env.DEBUG?.includes('crawlee:memory-storage') ?? false\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 29, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L29" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13158, + 13160, + 13159 + ] + } + ], + "sources": [ + { + "fileName": "packages/memory-storage/src/memory-storage.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/memory-storage.ts#L18" + } + ] + } + ], + "groups": [ + { + "title": "Classes", + "children": [ + 13161 + ] + }, + { + "title": "Interfaces", + "children": [ + 13157 + ] + } + ], + "sources": [ + { + "fileName": "packages/memory-storage/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/memory-storage/src/index.ts#L1" + } + ] + }, + { + "id": 8, + "name": "playwright-crawler/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 10265, + "name": "AddRequestsBatchedOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "target": 3010 + }, + { + "id": 10266, + "name": "AddRequestsBatchedResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "target": 3016 + }, + { + "id": 10144, + "name": "AutoscaledPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ], + "target": 200 + }, + { + "id": 10143, + "name": "AutoscaledPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ], + "target": 176 + }, + { + "id": 10301, + "name": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/constants.ts", + "line": 6, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/constants.ts#L6" + } + ], + "target": 6883 + }, + { + "id": 10228, + "name": "BLOCKED_STATUS_CODES", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "target": 2334 + }, + { + "id": 10296, + "name": "BasicCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 431, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L431" + } + ], + "target": 6657 + }, + { + "id": 10294, + "name": "BasicCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 121, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L121" + } + ], + "target": 6627 + }, + { + "id": 10289, + "name": "BasicCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 62, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L62" + } + ], + "target": 6550 + }, + { + "id": 10309, + "name": "BrowserCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 302, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L302" + } + ], + "target": 7160 + }, + { + "id": 10308, + "name": "BrowserCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 68, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L68" + } + ], + "target": 7119 + }, + { + "id": 10304, + "name": "BrowserCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 47, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L47" + } + ], + "target": 7065 + }, + { + "id": 10306, + "name": "BrowserErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 61, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L61" + } + ], + "target": 7110 + }, + { + "id": 10307, + "name": "BrowserHook", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 63, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L63" + } + ], + "target": 7112 + }, + { + "id": 10310, + "name": "BrowserLaunchContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L14" + } + ], + "target": 7412 + }, + { + "id": 10305, + "name": "BrowserRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 59, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L59" + } + ], + "target": 7108 + }, + { + "id": 10149, + "name": "ClientInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ], + "target": 396 + }, + { + "id": 10153, + "name": "Configuration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ], + "target": 490 + }, + { + "id": 10152, + "name": "ConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ], + "target": 448 + }, + { + "id": 10136, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 59 + }, + { + "id": 10298, + "name": "CrawlerAddRequestsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1643, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1643" + } + ], + "target": 6867 + }, + { + "id": 10299, + "name": "CrawlerAddRequestsResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1645, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1645" + } + ], + "target": 6873 + }, + { + "id": 10295, + "name": "CrawlerExperiments", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 357, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L357" + } + ], + "target": 6655 + }, + { + "id": 10300, + "name": "CrawlerRunOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1647, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1647" + } + ], + "target": 6876 + }, + { + "id": 10155, + "name": "CrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "target": 620 + }, + { + "id": 10297, + "name": "CreateContextOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1637, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1637" + } + ], + "target": 6863 + }, + { + "id": 10225, + "name": "CreateSession", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "target": 2112 + }, + { + "id": 10139, + "name": "CriticalError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "target": 98 + }, + { + "id": 10241, + "name": "Dataset", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "target": 2572 + }, + { + "id": 10242, + "name": "DatasetConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "target": 2647 + }, + { + "id": 10246, + "name": "DatasetContent", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "target": 2669 + }, + { + "id": 10237, + "name": "DatasetDataOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ], + "target": 2537 + }, + { + "id": 10238, + "name": "DatasetExportOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "target": 2546 + }, + { + "id": 10240, + "name": "DatasetExportToOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "target": 2563 + }, + { + "id": 10239, + "name": "DatasetIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "target": 2553 + }, + { + "id": 10243, + "name": "DatasetMapper", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "target": 2652 + }, + { + "id": 10245, + "name": "DatasetOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ], + "target": 2665 + }, + { + "id": 10244, + "name": "DatasetReducer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "target": 2658 + }, + { + "id": 10171, + "name": "EnqueueLinksOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "target": 973 + }, + { + "id": 10172, + "name": "EnqueueStrategy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ], + "target": 990 + }, + { + "id": 10164, + "name": "ErrnoException", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "target": 873 + }, + { + "id": 10291, + "name": "ErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "target": 6608 + }, + { + "id": 10168, + "name": "ErrorSnapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ], + "target": 923 + }, + { + "id": 10166, + "name": "ErrorTracker", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ], + "target": 890 + }, + { + "id": 10165, + "name": "ErrorTrackerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ], + "target": 882 + }, + { + "id": 10193, + "name": "EventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "target": 1060 + }, + { + "id": 10191, + "name": "EventType", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ], + "target": 1053 + }, + { + "id": 10192, + "name": "EventTypeName", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "target": 1059 + }, + { + "id": 10150, + "name": "FinalStatistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ], + "target": 400 + }, + { + "id": 10214, + "name": "GetUserDataFromRequest", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "target": 1929 + }, + { + "id": 10187, + "name": "GlobInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "target": 1045 + }, + { + "id": 10186, + "name": "GlobObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "target": 1042 + }, + { + "id": 10267, + "name": "IStorage", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "target": 3019 + }, + { + "id": 10249, + "name": "KeyConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "target": 2761 + }, + { + "id": 10248, + "name": "KeyValueStore", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ], + "target": 2684 + }, + { + "id": 10252, + "name": "KeyValueStoreIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ], + "target": 2774 + }, + { + "id": 10250, + "name": "KeyValueStoreOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ], + "target": 2768 + }, + { + "id": 10194, + "name": "LocalEventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "target": 1103 + }, + { + "id": 10196, + "name": "Log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L5" + } + ], + "target": 1182 + }, + { + "id": 10198, + "name": "LogLevel", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L7" + } + ], + "target": 1252 + }, + { + "id": 10199, + "name": "Logger", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L8" + } + ], + "target": 1260 + }, + { + "id": 10200, + "name": "LoggerJson", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L9" + } + ], + "target": 1416 + }, + { + "id": 10197, + "name": "LoggerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L6" + } + ], + "target": 1244 + }, + { + "id": 10201, + "name": "LoggerText", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L10" + } + ], + "target": 1573 + }, + { + "id": 10230, + "name": "MAX_POOL_SIZE", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "target": 2336 + }, + { + "id": 10138, + "name": "NonRetryableError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "target": 77 + }, + { + "id": 10229, + "name": "PERSIST_STATE_KEY", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "target": 2335 + }, + { + "id": 10159, + "name": "PersistenceOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ], + "target": 756 + }, + { + "id": 10129, + "name": "PlaywrightDirectNavigationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/index.ts", + "line": 8, + "character": 41, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/index.ts#L8" + } + ], + "target": 9964 + }, + { + "id": 10206, + "name": "ProxyConfiguration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ], + "target": 1756 + }, + { + "id": 10202, + "name": "ProxyConfigurationFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "target": 1735 + }, + { + "id": 10203, + "name": "ProxyConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ], + "target": 1741 + }, + { + "id": 10205, + "name": "ProxyInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ], + "target": 1748 + }, + { + "id": 10131, + "name": "PseudoUrl", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 16, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L16" + } + ], + "target": 14 + }, + { + "id": 10185, + "name": "PseudoUrlInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "target": 1041 + }, + { + "id": 10184, + "name": "PseudoUrlObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "target": 1038 + }, + { + "id": 10210, + "name": "PushErrorMessageOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ], + "target": 1885 + }, + { + "id": 10137, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 68, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 73 + }, + { + "id": 10251, + "name": "RecordOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ], + "target": 2772 + }, + { + "id": 10189, + "name": "RegExpInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "target": 1049 + }, + { + "id": 10188, + "name": "RegExpObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "target": 1046 + }, + { + "id": 10208, + "name": "Request", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "target": 1808 + }, + { + "id": 10290, + "name": "RequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "target": 6603 + }, + { + "id": 10156, + "name": "RequestHandlerResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ], + "target": 657 + }, + { + "id": 10256, + "name": "RequestList", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ], + "target": 2787 + }, + { + "id": 10255, + "name": "RequestListOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ], + "target": 2778 + }, + { + "id": 10258, + "name": "RequestListSourcesFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "target": 2886 + }, + { + "id": 10257, + "name": "RequestListState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ], + "target": 2882 + }, + { + "id": 10209, + "name": "RequestOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "target": 1867 + }, + { + "id": 10259, + "name": "RequestProvider", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "target": 2889 + }, + { + "id": 10260, + "name": "RequestProviderOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "target": 2984 + }, + { + "id": 10232, + "name": "RequestQueue", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 6, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L6" + } + ], + "target": 2431 + }, + { + "id": 10263, + "name": "RequestQueueOperationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "target": 3002 + }, + { + "id": 10261, + "name": "RequestQueueOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "target": 2989 + }, + { + "id": 10231, + "name": "RequestQueueV1", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 5, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L5" + } + ], + "target": 2337 + }, + { + "id": 10233, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2525 + }, + { + "id": 10207, + "name": "RequestState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ], + "target": 1799 + }, + { + "id": 10190, + "name": "RequestTransform", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "target": 1050 + }, + { + "id": 10154, + "name": "RestrictedCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "target": 590 + }, + { + "id": 10141, + "name": "RetryRequestError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "target": 140 + }, + { + "id": 10216, + "name": "Router", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "target": 1939 + }, + { + "id": 10213, + "name": "RouterHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "target": 1894 + }, + { + "id": 10215, + "name": "RouterRoutes", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "target": 1931 + }, + { + "id": 10224, + "name": "Session", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ], + "target": 2047 + }, + { + "id": 10142, + "name": "SessionError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "target": 158 + }, + { + "id": 10223, + "name": "SessionOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ], + "target": 2033 + }, + { + "id": 10227, + "name": "SessionPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "target": 2127 + }, + { + "id": 10226, + "name": "SessionPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ], + "target": 2118 + }, + { + "id": 10222, + "name": "SessionState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ], + "target": 2022 + }, + { + "id": 10167, + "name": "SnapshotResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ], + "target": 920 + }, + { + "id": 10146, + "name": "Snapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ], + "target": 308 + }, + { + "id": 10145, + "name": "SnapshotterOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ], + "target": 298 + }, + { + "id": 10211, + "name": "Source", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "target": 1887 + }, + { + "id": 10162, + "name": "StatisticPersistedState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "target": 832 + }, + { + "id": 10163, + "name": "StatisticState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ], + "target": 856 + }, + { + "id": 10160, + "name": "Statistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ], + "target": 758 + }, + { + "id": 10161, + "name": "StatisticsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ], + "target": 825 + }, + { + "id": 10293, + "name": "StatusMessageCallback", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 116, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L116" + } + ], + "target": 6621 + }, + { + "id": 10292, + "name": "StatusMessageCallbackParams", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 106, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L106" + } + ], + "target": 6614 + }, + { + "id": 10135, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 31 + }, + { + "id": 10269, + "name": "StorageManagerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ], + "target": 3092 + }, + { + "id": 10147, + "name": "SystemInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ], + "target": 378 + }, + { + "id": 10151, + "name": "SystemStatus", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ], + "target": 411 + }, + { + "id": 10148, + "name": "SystemStatusOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ], + "target": 388 + }, + { + "id": 10204, + "name": "TieredProxy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ], + "target": 1745 + }, + { + "id": 10183, + "name": "UrlPatternObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "target": 1034 + }, + { + "id": 10273, + "name": "UseStateOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ], + "target": 3111 + }, + { + "id": 10279, + "name": "checkStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "target": 3119 + }, + { + "id": 10288, + "name": "createBasicRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "target": 6545 + }, + { + "id": 10169, + "name": "enqueueLinks", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "target": 950 + }, + { + "id": 10180, + "name": "filterRequestsByPatterns", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "target": 1022 + }, + { + "id": 10195, + "name": "log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L4" + } + ], + "target": 1181 + }, + { + "id": 10270, + "name": "purgeDefaultStorages", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "target": 3096 + }, + { + "id": 10182, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 10, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L10" + } + ], + "target": 1030 + }, + { + "id": 10271, + "name": "useState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "target": 3102 + }, + { + "id": 10280, + "name": "withCheckedStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "target": 3121 + }, + { + "id": 10076, + "name": "playwrightClickElements", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 10077, + "name": "enqueueLinksByClickingElements", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 218, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L218" + } + ], + "target": 10018 + }, + { + "id": 10100, + "name": "EnqueueLinksByClickingElementsOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 10106, + "name": "clickOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Click options for use in Playwright click handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 60, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L60" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10107, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10108, + "name": "button", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defaults to " + }, + { + "kind": "code", + "text": "`left`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2048, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "left" + }, + { + "type": "literal", + "value": "right" + }, + { + "type": "literal", + "value": "middle" + } + ] + } + }, + { + "id": 10109, + "name": "clickCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "defaults to 1. See [UIEvent.detail]." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2053, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10110, + "name": "delay", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Time to wait between " + }, + { + "kind": "code", + "text": "`mousedown`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`mouseup`" + }, + { + "kind": "text", + "text": " in milliseconds. Defaults to 0." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2058, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10111, + "name": "force", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to bypass the [actionability](https://playwright.dev/docs/actionability) checks. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2063, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10112, + "name": "modifiers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Modifier keys to press. Ensures that only these modifiers are pressed during the operation, and then restores\ncurrent modifiers back. If not specified, currently pressed modifiers are used. \"ControlOrMeta\" resolves to\n\"Control\" on Windows and Linux and to \"Meta\" on macOS." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2070, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Alt" + }, + { + "type": "literal", + "value": "Control" + }, + { + "type": "literal", + "value": "ControlOrMeta" + }, + { + "type": "literal", + "value": "Meta" + }, + { + "type": "literal", + "value": "Shift" + } + ] + } + } + }, + { + "id": 10113, + "name": "noWaitAfter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Actions that initiate navigations are waiting for these navigations to happen and for pages to start loading. You\ncan opt out of waiting via setting this flag. You would only need this option in the exceptional cases such as\nnavigating to inaccessible pages. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2077, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10114, + "name": "position", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A point to use relative to the top-left corner of element padding box. If not specified, uses some visible point of\nthe element." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2083, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10115, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10116, + "name": "x", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2084, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10117, + "name": "y", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2086, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10116, + 10117 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2083, + "character": 15 + } + ] + } + } + }, + { + "id": 10118, + "name": "strict", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When true, the call requires selector to resolve to a single element. If given selector resolves to more than one\nelement, the call throws an exception." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2093, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10119, + "name": "timeout", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum time in milliseconds. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": " - no timeout. The default value can be changed via " + }, + { + "kind": "code", + "text": "`actionTimeout`" + }, + { + "kind": "text", + "text": "\noption in the config, or by using the\n[browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout)\nor [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2101, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10120, + "name": "trial", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set, this method only performs the [actionability](https://playwright.dev/docs/actionability) checks and skips the action. Defaults\nto " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Useful to wait until the element is ready for the action without performing it." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2107, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10108, + 10109, + 10110, + 10111, + 10112, + 10113, + 10114, + 10118, + 10119, + 10120 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 2044, + "character": 36 + } + ] + } + } + }, + { + "id": 10127, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 168, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L168" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10121, + "name": "globs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings or plain objects\ncontaining glob pattern strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property, which holds the glob pattern string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nThe matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues all the intercepted navigation requests produced by the page\nafter clicking on elements matching the provided CSS selector." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L76" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + } + } + }, + { + "id": 10105, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.label" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 55, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L55" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10126, + "name": "maxWaitForPageIdleSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This is the maximum period for which the function will keep tracking events, even if more events keep coming.\nIts purpose is to prevent a deadlock in the page by periodic events, often unrelated to the clicking itself.\nSee " + }, + { + "kind": "code", + "text": "`waitForPageIdleSecs`" + }, + { + "kind": "text", + "text": " above for an explanation." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n5\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L158" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10101, + "name": "page", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page) object." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 38, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L38" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 10123, + "name": "pseudoUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "*NOTE:* In future versions of SDK the options will be removed.\nPlease use " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead.\n\nAn array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings or plain objects\ncontaining " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`purl`" + }, + { + "kind": "text", + "text": " property, which holds the pseudo-URL pattern string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nWith a pseudo-URL string, the matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues all the intercepted navigation requests produced by the page\nafter clicking on elements matching the provided CSS selector." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "prefer using " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L110" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1041, + "name": "PseudoUrlInput", + "package": "@crawlee/core" + } + } + }, + { + "id": 10122, + "name": "regexps", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of regular expressions or plain objects\ncontaining regular expressions matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property, which holds the regular expression.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nIf " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues all the intercepted navigation requests produced by the page\nafter clicking on elements matching the provided CSS selector." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 89, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L89" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + } + }, + { + "id": 10102, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A request queue to which the URLs will be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 43, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L43" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + }, + { + "id": 10103, + "name": "selector", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A CSS selector matching elements to be clicked on. Unlike in " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": ", there is no default\nvalue. This is to prevent suboptimal use of this function by using it too broadly." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 49, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L49" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10128, + "name": "skipNavigation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", tells the crawler to skip navigation and process the request directly." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 174, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L174" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10124, + "name": "transformRequestFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Just before a new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " is constructed and enqueued to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ", this function can be used\nto remove it or modify its contents such as " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`payload`" + }, + { + "kind": "text", + "text": " or, most importantly " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": ". This is useful\nwhen you need to enqueue multiple " + }, + { + "kind": "code", + "text": "`Requests`" + }, + { + "kind": "text", + "text": " to the queue that share the same URL, but differ in methods or payloads,\nor to dynamically update or create " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ".\n\nFor example: by adding " + }, + { + "kind": "code", + "text": "`useExtendedUniqueKey: true`" + }, + { + "kind": "text", + "text": " to the " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " object, " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " will be computed from\na combination of " + }, + { + "kind": "code", + "text": "`url`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`method`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`payload`" + }, + { + "kind": "text", + "text": " which enables crawling of websites that navigate using form submits\n(POST requests).\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```javascript\n{\n transformRequestFunction: (request) => {\n request.userData.foo = 'bar';\n request.useExtendedUniqueKey = true;\n return request;\n }\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 133, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L133" + } + ], + "type": { + "type": "reference", + "target": 1050, + "name": "RequestTransform", + "package": "@crawlee/core" + } + }, + { + "id": 10104, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.userData" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 52, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L52" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 10125, + "name": "waitForPageIdleSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Clicking in the page triggers various asynchronous operations that lead to new URLs being shown\nby the browser. It could be a simple JavaScript redirect or opening of a new tab in the browser.\nThese events often happen only some time after the actual click. Requests typically take milliseconds\nwhile new tabs open in hundreds of milliseconds.\n\nTo be able to capture all those events, the " + }, + { + "kind": "code", + "text": "`enqueueLinksByClickingElements()`" + }, + { + "kind": "text", + "text": " function repeatedly waits\nfor the " + }, + { + "kind": "code", + "text": "`waitForPageIdleSecs`" + }, + { + "kind": "text", + "text": ". By repeatedly we mean that whenever a relevant event is triggered, the timer\nis restarted. As long as new events keep coming, the function will not return, unless\nthe below " + }, + { + "kind": "code", + "text": "`maxWaitForPageIdleSecs`" + }, + { + "kind": "text", + "text": " timeout is reached.\n\nYou may want to reduce this for example when you're sure that your clicks do not open new tabs,\nor increase when you're not getting all the expected URLs." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 150, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L150" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10106, + 10127, + 10121, + 10105, + 10126, + 10101, + 10123, + 10122, + 10102, + 10103, + 10128, + 10124, + 10104, + 10125 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 34, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L34" + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 10077 + ] + }, + { + "title": "Interfaces", + "children": [ + 10100 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L1" + } + ] + }, + { + "id": 9915, + "name": "playwrightUtils", + "variant": "declaration", + "kind": 4, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A namespace that contains various utilities for\n[Playwright](https://github.com/microsoft/playwright) - the headless Chrome Node API.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nimport { launchPlaywright, playwrightUtils } from 'crawlee';\n\n// Navigate to https://www.example.com in Playwright with a POST request\nconst browser = await launchPlaywright();\nconst page = await browser.newPage();\nawait playwrightUtils.gotoExtended(page, {\n url: 'https://example.com,\n method: 'POST',\n});\n```" + } + ] + }, + "children": [ + { + "id": 9961, + "name": "BlockRequestsOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9963, + "name": "extraUrlPatterns", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If you just want to append to the default blocked patterns, use this property." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L68" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 9962, + "name": "urlPatterns", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The patterns of URLs to block from being loaded by the browser.\nOnly " + }, + { + "kind": "code", + "text": "`*`" + }, + { + "kind": "text", + "text": " can be used as a wildcard. It is also automatically added to the beginning\nand end of the pattern. This limitation is enforced by the DevTools protocol.\n" + }, + { + "kind": "code", + "text": "`.png`" + }, + { + "kind": "text", + "text": " is the same as " + }, + { + "kind": "code", + "text": "`*.png*`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L63" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9963, + 9962 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 56, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L56" + } + ] + }, + { + "id": 9968, + "name": "CompiledScriptParams", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9969, + "name": "page", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 292, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L292" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 9970, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 293, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L293" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9969, + 9970 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 291, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L291" + } + ] + }, + { + "id": 9964, + "name": "DirectNavigationOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9967, + "name": "referer", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Referer header value. If provided it will take preference over the referer header value set by page.setExtraHTTPHeaders(headers)." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 161, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L161" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9965, + "name": "timeout", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum operation time in milliseconds, defaults to 30 seconds, pass " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": " to disable timeout. The\ndefault value can be changed by using the browserContext.setDefaultNavigationTimeout(timeout),\nbrowserContext.setDefaultTimeout(timeout), page.setDefaultNavigationTimeout(timeout) or\npage.setDefaultTimeout(timeout) methods." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L148" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 9966, + "name": "waitUntil", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When to consider operation succeeded, defaults to " + }, + { + "kind": "code", + "text": "`load`" + }, + { + "kind": "text", + "text": ". Events can be either:\n- " + }, + { + "kind": "code", + "text": "`'domcontentloaded'`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when the " + }, + { + "kind": "code", + "text": "`DOMContentLoaded`" + }, + { + "kind": "text", + "text": " event is fired.\n- " + }, + { + "kind": "code", + "text": "`'load'`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when the " + }, + { + "kind": "code", + "text": "`load`" + }, + { + "kind": "text", + "text": " event is fired.\n- " + }, + { + "kind": "code", + "text": "`'networkidle'`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when there are no network connections for at least " + }, + { + "kind": "code", + "text": "`500`" + }, + { + "kind": "text", + "text": " ms." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 156, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L156" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "domcontentloaded" + }, + { + "type": "literal", + "value": "load" + }, + { + "type": "literal", + "value": "networkidle" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9967, + 9965, + 9966 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 141, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L141" + } + ] + }, + { + "id": 9975, + "name": "InfiniteScrollOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9980, + "name": "buttonSelector", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optionally checks and clicks a button if it appears while scrolling. This is required on some websites for the scroll to work." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 368, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L368" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9977, + "name": "maxScrollHeight", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "How many pixels to scroll down. If 0, will scroll until bottom of page." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 351, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L351" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 9979, + "name": "scrollDownAndUp", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If true, it will scroll up a bit after each scroll down. This is required on some websites for the scroll to work." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 363, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L363" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 9981, + "name": "stopScrollCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function is called after every scroll and stops the scrolling process if it returns " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". The function can be " + }, + { + "kind": "code", + "text": "`async`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 373, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L373" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9982, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 373, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L373" + } + ], + "signatures": [ + { + "id": 9983, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 373, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L373" + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ] + } + } + }, + { + "id": 9976, + "name": "timeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "How many seconds to scroll for. If 0, will scroll until bottom of page." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 345, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L345" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 9978, + "name": "waitForSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "How many seconds to wait for no new content to load before exit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n4\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 357, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L357" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9980, + 9977, + 9979, + 9981, + 9976, + 9978 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 340, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L340" + } + ] + }, + { + "id": 9959, + "name": "InjectFileOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9960, + "name": "surviveNavigations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables the injected script to survive page navigations and reloads without need to be re-injected manually.\nThis does not mean, however, that internal state will be preserved. Just that it will be automatically\nre-injected on each navigation before any other scripts get the chance to execute." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 53, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L53" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9960 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 47, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L47" + } + ] + }, + { + "id": 9984, + "name": "SaveSnapshotOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9990, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Configuration of the crawler that will be used to save the snapshot." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nConfiguration.getGlobalConfig()\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 507, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L507" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + }, + { + "id": 9985, + "name": "key", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Key under which the screenshot and HTML will be saved. " + }, + { + "kind": "code", + "text": "`.jpg`" + }, + { + "kind": "text", + "text": " will be appended for screenshot and " + }, + { + "kind": "code", + "text": "`.html`" + }, + { + "kind": "text", + "text": " for HTML." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'SNAPSHOT'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 477, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L477" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9989, + "name": "keyValueStoreName", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Name or id of the Key-Value store where snapshot is saved. By default it is saved to default Key-Value store." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nnull\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 501, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L501" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 9988, + "name": "saveHtml", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If true, it will save a full HTML of the current page as a record with " + }, + { + "kind": "code", + "text": "`key`" + }, + { + "kind": "text", + "text": " appended by " + }, + { + "kind": "code", + "text": "`.html`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 495, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L495" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 9987, + "name": "saveScreenshot", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If true, it will save a full screenshot of the current page as a record with " + }, + { + "kind": "code", + "text": "`key`" + }, + { + "kind": "text", + "text": " appended by " + }, + { + "kind": "code", + "text": "`.jpg`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 489, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L489" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 9986, + "name": "screenshotQuality", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The quality of the image, between 0-100. Higher quality images have bigger size and require more storage." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n50\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 483, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L483" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9990, + 9985, + 9989, + 9988, + 9987, + 9986 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 472, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L472" + } + ] + }, + { + "id": 9971, + "name": "CompiledScriptFunction", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 296, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L296" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9972, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 296, + "character": 37, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L296" + } + ], + "signatures": [ + { + "id": 9973, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 9974, + "name": "params", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 9968, + "name": "CompiledScriptParams", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 9932, + "name": "blockRequests", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 267, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L267" + } + ], + "signatures": [ + { + "id": 9933, + "name": "blockRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "> This is a **Chromium-only feature.**\n>\n> Using this option with Firefox and WebKit browsers doesn't have any effect.\n> To set up request blocking for these browsers, use " + }, + { + "kind": "code", + "text": "`page.route()`" + }, + { + "kind": "text", + "text": " instead.\n\nForces the Playwright browser tab to block loading URLs that match a provided pattern.\nThis is useful to speed up crawling of websites, since it reduces the amount\nof data that needs to be downloaded from the web, but it may break some websites\nor unexpectedly prevent loading of resources.\n\nBy default, the function will block all URLs including the following patterns:\n\n" + }, + { + "kind": "code", + "text": "```json\n[\".css\", \".jpg\", \".jpeg\", \".png\", \".svg\", \".gif\", \".woff\", \".pdf\", \".zip\"]\n```" + }, + { + "kind": "text", + "text": "\n\nIf you want to extend this list further, use the " + }, + { + "kind": "code", + "text": "`extraUrlPatterns`" + }, + { + "kind": "text", + "text": " option,\nwhich will keep blocking the default patterns, as well as add your custom ones.\nIf you would like to block only specific patterns, use the " + }, + { + "kind": "code", + "text": "`urlPatterns`" + }, + { + "kind": "text", + "text": " option,\nwhich will override the defaults and block only URLs with your custom patterns.\n\nThis function does not use Playwright's request interception and therefore does not interfere\nwith browser cache. It's also faster than blocking requests using interception,\nbecause the blocking happens directly in the browser without the round-trip to Node.js,\nbut it does not provide the extra benefits of request interception.\n\nThe function will never block main document loads and their respective redirects.\n\n**Example usage**\n" + }, + { + "kind": "code", + "text": "```javascript\nimport { launchPlaywright, playwrightUtils } from 'crawlee';\n\nconst browser = await launchPlaywright();\nconst page = await browser.newPage();\n\n// Block all requests to URLs that include `adsbygoogle.js` and also all defaults.\nawait playwrightUtils.blockRequests(page, {\n extraUrlPatterns: ['adsbygoogle.js'],\n});\n\nawait page.goto('https://cnn.com');\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 267, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L267" + } + ], + "parameters": [ + { + "id": 9934, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 9935, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9961, + "name": "BlockRequestsOptions", + "package": "@crawlee/playwright" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9952, + "name": "closeCookieModals", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 575, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L575" + } + ], + "signatures": [ + { + "id": 9953, + "name": "closeCookieModals", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 575, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L575" + } + ], + "parameters": [ + { + "id": 9954, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9936, + "name": "compileScript", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 324, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L324" + } + ], + "signatures": [ + { + "id": 9937, + "name": "compileScript", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Compiles a Playwright script into an async function that may be executed at any time\nby providing it with the following object:\n" + }, + { + "kind": "code", + "text": "```\n{\n page: Page,\n request: Request,\n}\n```" + }, + { + "kind": "text", + "text": "\nWhere " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": " is a Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page)\nand " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " is a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": ".\n\nThe function is compiled by using the " + }, + { + "kind": "code", + "text": "`scriptString`" + }, + { + "kind": "text", + "text": " parameter as the function's body,\nso any limitations to function bodies apply. Return value of the compiled function\nis the return value of the function body = the " + }, + { + "kind": "code", + "text": "`scriptString`" + }, + { + "kind": "text", + "text": " parameter.\n\nAs a security measure, no globals such as " + }, + { + "kind": "code", + "text": "`process`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`require`" + }, + { + "kind": "text", + "text": " are accessible\nfrom within the function body. Note that the function does not provide a safe\nsandbox and even though globals are not easily accessible, malicious code may\nstill execute in the main process via prototype manipulation. Therefore you\nshould only use this function to execute sanitized or safe code.\n\nCustom context may also be provided using the " + }, + { + "kind": "code", + "text": "`context`" + }, + { + "kind": "text", + "text": " parameter. To improve security,\nmake sure to only pass the really necessary objects to the context. Preferably making\nsecured copies beforehand." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 324, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L324" + } + ], + "parameters": [ + { + "id": 9938, + "name": "scriptString", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9939, + "name": "context", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 9971, + "name": "CompiledScriptFunction", + "package": "@crawlee/playwright" + } + } + ] + }, + { + "id": 10018, + "name": "enqueueLinksByClickingElements", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 218, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L218" + } + ], + "signatures": [ + { + "id": 10019, + "name": "enqueueLinksByClickingElements", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function finds elements matching a specific CSS selector in a Playwright page,\nclicks all those elements using a mouse move and a left mouse button click and intercepts\nall the navigation requests that are subsequently produced by the page. The intercepted\nrequests, including their methods, headers and payloads are then enqueued to a provided\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ". This is useful to crawl JavaScript heavy pages where links are not available\nin " + }, + { + "kind": "code", + "text": "`href`" + }, + { + "kind": "text", + "text": " elements, but rather navigations are triggered in click handlers.\nIf you're looking to find URLs in " + }, + { + "kind": "code", + "text": "`href`" + }, + { + "kind": "text", + "text": " attributes of the page, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": ".\n\nOptionally, the function allows you to filter the target links' URLs using an array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " objects\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\n**IMPORTANT**: To be able to do this, this function uses various mutations on the page,\nsuch as changing the Z-index of elements being clicked and their visibility. Therefore,\nit is recommended to only use this function as the last operation in the page.\n\n**USING HEADFUL BROWSER**: When using a headful browser, this function will only be able to click elements\nin the focused tab, effectively limiting concurrency to 1. In headless mode, full concurrency can be achieved.\n\n**PERFORMANCE**: Clicking elements with a mouse and intercepting requests is not a low level operation\nthat takes nanoseconds. It's not very CPU intensive, but it takes time. We strongly recommend limiting\nthe scope of the clicking as much as possible by using a specific selector that targets only the elements\nthat you assume or know will produce a navigation. You can certainly click everything by using\nthe " + }, + { + "kind": "code", + "text": "`*`" + }, + { + "kind": "text", + "text": " selector, but be prepared to wait minutes to get results on a large and complex page.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nawait playwrightUtils.enqueueLinksByClickingElements({\n page,\n requestQueue,\n selector: 'a.product-detail',\n pseudoUrls: [\n 'https://www.example.com/handbags/[.*]'\n 'https://www.example.com/purses/[.*]'\n ],\n});\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 218, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts#L218" + } + ], + "parameters": [ + { + "id": 10020, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 10100, + "name": "EnqueueLinksByClickingElementsOptions", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9927, + "name": "gotoExtended", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 176, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L176" + } + ], + "signatures": [ + { + "id": 9928, + "name": "gotoExtended", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Extended version of Playwright's " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": " allowing to perform requests with HTTP method other than GET,\nwith custom headers and POST payload. URL, method, headers and payload are taken from\nrequest parameter that must be an instance of Request class.\n\n*NOTE:* In recent versions of Playwright using requests other than GET, overriding headers and adding payloads disables\nbrowser cache which degrades performance." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 176, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L176" + } + ], + "parameters": [ + { + "id": 9929, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 9930, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + }, + { + "id": 9931, + "name": "gotoOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options for " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "target": 9964, + "name": "DirectNavigationOptions", + "package": "@crawlee/playwright" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Response" + }, + "name": "Response", + "package": "playwright-core" + }, + { + "type": "literal", + "value": null + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9940, + "name": "infiniteScroll", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 382, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L382" + } + ], + "signatures": [ + { + "id": 9941, + "name": "infiniteScroll", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Scrolls to the bottom of a page, or until it times out.\nLoads dynamic content when it hits the bottom of a page, and then continues scrolling." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 382, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L382" + } + ], + "parameters": [ + { + "id": 9942, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 9943, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9975, + "name": "InfiniteScrollOptions", + "package": "@crawlee/playwright" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9916, + "name": "injectFile", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L87" + } + ], + "signatures": [ + { + "id": 9917, + "name": "injectFile", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Injects a JavaScript file into a Playwright page.\nUnlike Playwright's " + }, + { + "kind": "code", + "text": "`addScriptTag`" + }, + { + "kind": "text", + "text": " function, this function works on pages\nwith arbitrary Cross-Origin Resource Sharing (CORS) policies.\n\nFile contents are cached for up to 10 files to limit file system access." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L87" + } + ], + "parameters": [ + { + "id": 9918, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 9919, + "name": "filePath", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "File path" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9920, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9959, + "name": "InjectFileOptions", + "package": "@crawlee/playwright" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9921, + "name": "injectJQuery", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 136, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L136" + } + ], + "signatures": [ + { + "id": 9922, + "name": "injectJQuery", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Injects the [jQuery](https://jquery.com/) library into a Playwright page.\njQuery is often useful for various web scraping and crawling tasks.\nFor example, it can help extract text from HTML elements using CSS selectors.\n\nBeware that the injected jQuery object will be set to the " + }, + { + "kind": "code", + "text": "`window.$`" + }, + { + "kind": "text", + "text": " variable and thus it might cause conflicts with\nother libraries included by the page that use the same variable name (e.g. another version of jQuery).\nThis can affect functionality of page's scripts.\n\nThe injected jQuery will survive page navigations and reloads by default.\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nawait playwrightUtils.injectJQuery(page);\nconst title = await page.evaluate(() => {\n return $('head title').text();\n});\n```" + }, + { + "kind": "text", + "text": "\n\nNote that " + }, + { + "kind": "code", + "text": "`injectJQuery()`" + }, + { + "kind": "text", + "text": " does not affect the Playwright\n[" + }, + { + "kind": "code", + "text": "`page.$()`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page#page-query-selector)\nfunction in any way." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 136, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L136" + } + ], + "parameters": [ + { + "id": 9923, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 9924, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 9925, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 9926, + "name": "surviveNavigations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opt-out option to disable the JQuery reinjection after navigation." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 136, + "character": 59, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L136" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9926 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 136, + "character": 57, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L136" + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9948, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 566, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L566" + } + ], + "signatures": [ + { + "id": 9949, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns Cheerio handle for " + }, + { + "kind": "code", + "text": "`page.content()`" + }, + { + "kind": "text", + "text": ", allowing to work with the data same way as with " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ".\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nconst $ = await playwrightUtils.parseWithCheerio(page);\nconst title = $('title').text();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 566, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L566" + } + ], + "parameters": [ + { + "id": 9950, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 9951, + "name": "ignoreShadowRoots", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13271, + "name": "CheerioRoot", + "package": "@crawlee/utils" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9955, + "name": "registerUtilsToContext", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 759, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L759" + } + ], + "signatures": [ + { + "id": 9956, + "name": "registerUtilsToContext", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 759, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L759" + } + ], + "parameters": [ + { + "id": 9957, + "name": "context", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + }, + { + "id": 9958, + "name": "crawlerOptions", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 10394, + "name": "PlaywrightCrawlerOptions", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "intrinsic", + "name": "void" + } + } + ] + }, + { + "id": 9944, + "name": "saveSnapshot", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 515, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L515" + } + ], + "signatures": [ + { + "id": 9945, + "name": "saveSnapshot", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Saves a full screenshot and HTML of the current page into a Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 515, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L515" + } + ], + "parameters": [ + { + "id": 9946, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + }, + { + "id": 9947, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9984, + "name": "SaveSnapshotOptions", + "package": "@crawlee/playwright" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Interfaces", + "children": [ + 9961, + 9968, + 9964, + 9975, + 9959, + 9984 + ] + }, + { + "title": "Type Aliases", + "children": [ + 9971 + ] + }, + { + "title": "Functions", + "children": [ + 9932, + 9952, + 9936, + 10018, + 9927, + 9940, + 9916, + 9921, + 9948, + 9955, + 9944 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L1" + } + ] + }, + { + "id": 11421, + "name": "AdaptivePlaywrightCrawler", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An extension of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": " that uses a more limited request handler interface so that it is able to switch to HTTP-only crawling when it detects it may be possible.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst crawler = new AdaptivePlaywrightCrawler({\n renderingTypeDetectionRatio: 0.1,\n async requestHandler({ querySelector, pushData, enqueueLinks, request, log }) {\n // This function is called to extract data from a single web page\n const $prices = await querySelector('span.price')\n\n await pushData({\n url: request.url,\n price: $prices.filter(':contains(\"$\")').first().text(),\n })\n\n await enqueueLinks({ selector: '.pagination a' })\n },\n});\n\nawait crawler.run([\n 'http://www.example.com/page-1',\n 'http://www.example.com/page-2',\n]);\n```" + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "children": [ + { + "id": 11461, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 162, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L162" + } + ], + "signatures": [ + { + "id": 11462, + "name": "new AdaptivePlaywrightCrawler", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 162, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L162" + } + ], + "parameters": [ + { + "id": 11463, + "name": "__namedParameters", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 11204, + "name": "AdaptivePlaywrightCrawlerOptions", + "package": "@crawlee/playwright" + } + }, + { + "id": 11464, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 11421, + "name": "AdaptivePlaywrightCrawler", + "package": "@crawlee/playwright" + }, + "overwrites": { + "type": "reference", + "target": 10643, + "name": "PlaywrightCrawler.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": 10642, + "name": "PlaywrightCrawler.constructor" + } + }, + { + "id": 11822, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 10969, + "name": "PlaywrightCrawler.autoscaledPool" + } + }, + { + "id": 11510, + "name": "browserPool", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's browsers." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 317, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L317" + } + ], + "type": { + "type": "reference", + "target": 5407, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 11511, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 11512, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 190, + "character": 56, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L190" + } + ], + "type": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11512 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 190, + "character": 54, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L190" + } + ] + } + }, + { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + } + ] + }, + { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 11513, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 11514, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 11515, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11516, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11517, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11518, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11519, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11520, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11521, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 11522, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 11523, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 11524, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 11525, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11526, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11529, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11527, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11528, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11529, + 11527, + 11528 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 11530, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11531, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11532, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11535, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11534, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11533, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11535, + 11534, + 11533 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 11536, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11537, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11538, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11539, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11540, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 11541, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11542, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 11543, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11544, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11546, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11548, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11545, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11547, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11546, + 11548, + 11545, + 11547 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 11549, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11550, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11552, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 11554, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 11551, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11553, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11555, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11552, + 11554, + 11551, + 11553, + 11555 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 11556, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11557, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11558, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11559, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11560, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11562, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11561, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11562, + 11561 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11558, + 11559 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 11563, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11564, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11565, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11567, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11566, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11567, + 11566 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 11568, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 11569, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 11570, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11571, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11572, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11575, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11577, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11578, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11573, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11576, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11580, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 11579, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11574, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11575, + 11577, + 11578, + 11573, + 11576, + 11580, + 11579, + 11574 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 11581, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11582, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11584, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11585, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11586, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11587, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11586, + 11587 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 11583, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11584, + 11583 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11571, + 11581 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 11588, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11589, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11590, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11591, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11592, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11594, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11593, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11594, + 11593 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 11595, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11596, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 11597, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11599, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11598, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11599, + 11598 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11515, + 11516, + 11517, + 11518, + 11519, + 11520, + 11524, + 11525, + 11530, + 11531, + 11536, + 11537, + 11538, + 11539, + 11540, + 11541, + 11542, + 11543, + 11549, + 11556, + 11563, + 11564, + 11568, + 11569, + 11588, + 11589, + 11590, + 11591, + 11595, + 11596 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 11600, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 11601, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 11602, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11603, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11604, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11605, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11606, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11607, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11608, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 11609, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 11610, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 11611, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 11612, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11613, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11616, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11614, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11615, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11616, + 11614, + 11615 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 11617, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11618, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11619, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11622, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11621, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11620, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11622, + 11621, + 11620 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 11623, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11624, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11625, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11626, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11627, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 11628, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11629, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 11630, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11631, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11633, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11635, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11632, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11634, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11633, + 11635, + 11632, + 11634 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 11636, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11637, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11639, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 11641, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 11638, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11640, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11642, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11639, + 11641, + 11638, + 11640, + 11642 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 11643, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11644, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11645, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11646, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11647, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11649, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11648, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11649, + 11648 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11645, + 11646 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 11650, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11651, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11652, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11654, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11653, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11654, + 11653 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 11655, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 11656, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 11657, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11658, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11659, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11662, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11664, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11665, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11660, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11663, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11667, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 11666, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11661, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11662, + 11664, + 11665, + 11660, + 11663, + 11667, + 11666, + 11661 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 11668, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11669, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11671, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11672, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11673, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11674, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11673, + 11674 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 11670, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11671, + 11670 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11658, + 11668 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 11675, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11676, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11677, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11678, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11679, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11681, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11680, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11681, + 11680 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 11682, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11683, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 11684, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11686, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11685, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11686, + 11685 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11602, + 11603, + 11604, + 11605, + 11606, + 11607, + 11611, + 11612, + 11617, + 11618, + 11623, + 11624, + 11625, + 11626, + 11627, + 11628, + 11629, + 11630, + 11636, + 11643, + 11650, + 11651, + 11655, + 11656, + 11675, + 11676, + 11677, + 11678, + 11682, + 11683 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 11687, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 11688, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11689, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11690, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11691, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11692, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11693, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11694, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 11695, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 11696, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 11697, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 11698, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11699, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11702, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11700, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11701, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11702, + 11700, + 11701 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 11703, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11704, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11705, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11708, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11707, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11706, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11708, + 11707, + 11706 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 11709, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11710, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11711, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11712, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11713, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 11714, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11715, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 11716, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11717, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11719, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11721, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11718, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11720, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11719, + 11721, + 11718, + 11720 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 11722, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11723, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11725, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 11727, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 11724, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11726, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11728, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11725, + 11727, + 11724, + 11726, + 11728 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 11729, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11730, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11731, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11732, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11733, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11735, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11734, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11735, + 11734 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11731, + 11732 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 11736, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11737, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11738, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11740, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11739, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11740, + 11739 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 11741, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 11742, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 11743, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11744, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11745, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11748, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11750, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11751, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11746, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11749, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11753, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 11752, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11747, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11748, + 11750, + 11751, + 11746, + 11749, + 11753, + 11752, + 11747 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 11754, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11755, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11757, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11758, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11759, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11760, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11759, + 11760 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 11756, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11757, + 11756 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11744, + 11754 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 11761, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11762, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11763, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11764, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11765, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11767, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11766, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11767, + 11766 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 11768, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11769, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 11770, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11772, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11771, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11772, + 11771 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11688, + 11689, + 11690, + 11691, + 11692, + 11693, + 11697, + 11698, + 11703, + 11704, + 11709, + 11710, + 11711, + 11712, + 11713, + 11714, + 11715, + 11716, + 11722, + 11729, + 11736, + 11737, + 11741, + 11742, + 11761, + 11762, + 11763, + 11764, + 11768, + 11769 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserPool", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 10656, + "name": "PlaywrightCrawler.browserPool" + } + }, + { + "id": 11480, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 172, + "character": 26, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L172" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 10647, + "name": "PlaywrightCrawler.config" + } + }, + { + "id": 11825, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 10972, + "name": "PlaywrightCrawler.hasFinishedBefore" + } + }, + { + "id": 11773, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 319, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L319" + } + ], + "type": { + "type": "reference", + "target": 7412, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "BrowserLaunchContext", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": 10919, + "name": "PlaywrightCrawler.launchContext" + } + }, + { + "id": 11509, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 312, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L312" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 10655, + "name": "PlaywrightCrawler.proxyConfiguration" + } + }, + { + "id": 11819, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 10966, + "name": "PlaywrightCrawler.requestList" + } + }, + { + "id": 11820, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 10967, + "name": "PlaywrightCrawler.requestQueue" + } + }, + { + "id": 11823, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 10970, + "name": "PlaywrightCrawler.router" + } + }, + { + "id": 11824, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 10971, + "name": "PlaywrightCrawler.running" + } + }, + { + "id": 11821, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 10968, + "name": "PlaywrightCrawler.sessionPool" + } + }, + { + "id": 11479, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 160, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L160" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerStatistics" + }, + "name": "AdaptivePlaywrightCrawlerStatistics", + "package": "@crawlee/playwright" + }, + "overwrites": { + "type": "reference", + "target": 10965, + "name": "PlaywrightCrawler.stats" + } + }, + { + "id": 11862, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 11863, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 11864, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 11865, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 11010, + "name": "PlaywrightCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 11009, + "name": "PlaywrightCrawler.addRequests" + } + }, + { + "id": 11876, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 11877, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 11878, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 11879, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11880, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 11881, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 11024, + "name": "PlaywrightCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 11023, + "name": "PlaywrightCrawler.exportData" + } + }, + { + "id": 11873, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 11874, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 11875, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 11021, + "name": "PlaywrightCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 11020, + "name": "PlaywrightCrawler.getData" + } + }, + { + "id": 11870, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 11871, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 11872, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 11018, + "name": "PlaywrightCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 11017, + "name": "PlaywrightCrawler.getDataset" + } + }, + { + "id": 11856, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 11857, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 11004, + "name": "PlaywrightCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 11003, + "name": "PlaywrightCrawler.getRequestQueue" + } + }, + { + "id": 11866, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 11867, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 11868, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 11869, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 11014, + "name": "PlaywrightCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 11013, + "name": "PlaywrightCrawler.pushData" + } + }, + { + "id": 11852, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 11853, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 11854, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 11855, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 11000, + "name": "PlaywrightCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 10999, + "name": "PlaywrightCrawler.run" + } + }, + { + "id": 11848, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 11849, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 11850, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11851, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 10996, + "name": "PlaywrightCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 10995, + "name": "PlaywrightCrawler.setStatusMessage" + } + }, + { + "id": 11858, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 11859, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 11860, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 11861, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 11006, + "name": "PlaywrightCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 11005, + "name": "PlaywrightCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 11461 + ] + }, + { + "title": "Properties", + "children": [ + 11822, + 11510, + 11480, + 11825, + 11773, + 11509, + 11819, + 11820, + 11823, + 11824, + 11821, + 11479 + ] + }, + { + "title": "Methods", + "children": [ + 11862, + 11876, + 11873, + 11870, + 11856, + 11866, + 11852, + 11848, + 11858 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 155, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L155" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 10600, + "name": "PlaywrightCrawler", + "package": "@crawlee/playwright" + } + ] + }, + { + "id": 10600, + "name": "PlaywrightCrawler", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a simple framework for parallel crawling of web pages\nusing headless Chromium, Firefox and Webkit browsers with [Playwright](https://github.com/microsoft/playwright).\nThe URLs to crawl are fed either from a static list of URLs\nor from a dynamic queue of URLs enabling recursive crawling of websites.\n\nSince " + }, + { + "kind": "code", + "text": "`Playwright`" + }, + { + "kind": "text", + "text": " uses headless browser to download web pages and extract data,\nit is useful for crawling of websites that require to execute JavaScript.\nIf the target website doesn't need JavaScript, consider using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ",\nwhich downloads the pages using raw HTTP requests and is about 10x faster.\n\nThe source URLs are represented using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects that are fed from\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instances provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": "\nor " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " constructor options, respectively.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " are used,\nthe instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them\nto " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes when there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\n" + }, + { + "kind": "code", + "text": "`PlaywrightCrawler`" + }, + { + "kind": "text", + "text": " opens a new Chrome page (i.e. tab) for each " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object to crawl\nand then calls the function provided by user as the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": " option.\n\nNew pages are only opened when there is enough free CPU and memory available,\nusing the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\nAll " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawlerOptions.autoscaledPoolOptions" + }, + { + "kind": "text", + "text": "\nparameter of the " + }, + { + "kind": "code", + "text": "`PlaywrightCrawler`" + }, + { + "kind": "text", + "text": " constructor. For user convenience, the " + }, + { + "kind": "code", + "text": "`minConcurrency`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`maxConcurrency`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions" + }, + { + "kind": "text", + "text": " are available directly in the " + }, + { + "kind": "code", + "text": "`PlaywrightCrawler`" + }, + { + "kind": "text", + "text": " constructor.\n\nNote that the pool of Playwright instances is internally managed by the [BrowserPool](https://github.com/apify/browser-pool) class.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst crawler = new PlaywrightCrawler({\n async requestHandler({ page, request }) {\n // This function is called to extract data from a single web page\n // 'page' is an instance of Playwright.Page with page.goto(request.url) already called\n // 'request' is an instance of Request class with information about the page to load\n await Dataset.pushData({\n title: await page.title(),\n url: request.url,\n succeeded: true,\n })\n },\n async failedRequestHandler({ request }) {\n // This function is called when the crawling of a request failed too many times\n await Dataset.pushData({\n url: request.url,\n succeeded: false,\n errors: request.errorMessages,\n })\n },\n});\n\nawait crawler.run([\n 'http://www.example.com/page-1',\n 'http://www.example.com/page-2',\n]);\n```" + } + ] + }, + "children": [ + { + "id": 10642, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L200" + } + ], + "signatures": [ + { + "id": 10643, + "name": "new PlaywrightCrawler", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`PlaywrightCrawler`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L200" + } + ], + "parameters": [ + { + "id": 10644, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 10394, + "name": "PlaywrightCrawlerOptions", + "package": "@crawlee/playwright" + }, + "defaultValue": "{}" + }, + { + "id": 10645, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 10600, + "name": "PlaywrightCrawler", + "package": "@crawlee/playwright" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "BrowserCrawler<{ browserPlugins: [PlaywrightPlugin] }, LaunchOptions, PlaywrightCrawlingContext>.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "BrowserCrawler<{ browserPlugins: [PlaywrightPlugin] }, LaunchOptions, PlaywrightCrawlingContext>.constructor" + } + }, + { + "id": 10969, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7271, + "name": "BrowserCrawler.autoscaledPool" + } + }, + { + "id": 10656, + "name": "browserPool", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's browsers." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 317, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L317" + } + ], + "type": { + "type": "reference", + "target": 5407, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 10657, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10658, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 190, + "character": 56, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L190" + } + ], + "type": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10658 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 190, + "character": 54, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L190" + } + ] + } + }, + { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + } + ] + }, + { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 10659, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 10660, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10661, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10662, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10663, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10664, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10665, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10666, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10667, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 10668, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 10669, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 10670, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 10671, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10672, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10675, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10673, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10674, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10675, + 10673, + 10674 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 10676, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10677, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10678, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10681, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10680, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10679, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10681, + 10680, + 10679 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 10682, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10683, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10684, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10685, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10686, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 10687, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10688, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 10689, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10690, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10692, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10694, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10691, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10693, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10692, + 10694, + 10691, + 10693 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 10695, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10696, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10698, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 10700, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 10697, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10699, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10701, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10698, + 10700, + 10697, + 10699, + 10701 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 10702, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10703, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10704, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10705, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10706, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10708, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10707, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10708, + 10707 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10704, + 10705 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 10709, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10710, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10711, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10713, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10712, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10713, + 10712 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 10714, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 10715, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 10716, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10717, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10718, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10721, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10723, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10724, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10719, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10722, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10726, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 10725, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10720, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10721, + 10723, + 10724, + 10719, + 10722, + 10726, + 10725, + 10720 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 10727, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10728, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10730, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10731, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10732, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10733, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10732, + 10733 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 10729, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10730, + 10729 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10717, + 10727 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 10734, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10735, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10736, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10737, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10738, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10740, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10739, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10740, + 10739 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 10741, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10742, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 10743, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10745, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10744, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10745, + 10744 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10661, + 10662, + 10663, + 10664, + 10665, + 10666, + 10670, + 10671, + 10676, + 10677, + 10682, + 10683, + 10684, + 10685, + 10686, + 10687, + 10688, + 10689, + 10695, + 10702, + 10709, + 10710, + 10714, + 10715, + 10734, + 10735, + 10736, + 10737, + 10741, + 10742 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 10746, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 10747, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10748, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10749, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10750, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10751, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10752, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10753, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10754, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 10755, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 10756, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 10757, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 10758, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10759, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10762, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10760, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10761, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10762, + 10760, + 10761 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 10763, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10764, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10765, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10768, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10767, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10766, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10768, + 10767, + 10766 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 10769, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10770, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10771, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10772, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10773, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 10774, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10775, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 10776, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10777, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10779, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10781, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10778, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10780, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10779, + 10781, + 10778, + 10780 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 10782, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10783, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10785, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 10787, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 10784, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10786, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10788, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10785, + 10787, + 10784, + 10786, + 10788 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 10789, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10790, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10791, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10792, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10793, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10795, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10794, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10795, + 10794 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10791, + 10792 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 10796, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10797, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10798, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10800, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10799, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10800, + 10799 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 10801, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 10802, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 10803, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10804, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10805, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10808, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10810, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10811, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10806, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10809, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10813, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 10812, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10807, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10808, + 10810, + 10811, + 10806, + 10809, + 10813, + 10812, + 10807 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 10814, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10815, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10817, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10818, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10819, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10820, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10819, + 10820 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 10816, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10817, + 10816 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10804, + 10814 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 10821, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10822, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10823, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10824, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10825, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10827, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10826, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10827, + 10826 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 10828, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10829, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 10830, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10832, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10831, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10832, + 10831 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10748, + 10749, + 10750, + 10751, + 10752, + 10753, + 10757, + 10758, + 10763, + 10764, + 10769, + 10770, + 10771, + 10772, + 10773, + 10774, + 10775, + 10776, + 10782, + 10789, + 10796, + 10797, + 10801, + 10802, + 10821, + 10822, + 10823, + 10824, + 10828, + 10829 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 10833, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10834, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10835, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10836, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10837, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10838, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10839, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10840, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 10841, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 10842, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 10843, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 10844, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10845, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10848, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10846, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10847, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10848, + 10846, + 10847 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 10849, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10850, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10851, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10854, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10853, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10852, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10854, + 10853, + 10852 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 10855, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10856, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10857, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10858, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10859, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 10860, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10861, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 10862, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10863, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10865, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10867, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10864, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10866, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10865, + 10867, + 10864, + 10866 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 10868, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10869, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10871, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 10873, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 10870, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10872, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10874, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10871, + 10873, + 10870, + 10872, + 10874 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 10875, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10876, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10877, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10878, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10879, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10881, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10880, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10881, + 10880 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10877, + 10878 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 10882, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10883, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10884, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10886, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10885, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10886, + 10885 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 10887, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 10888, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 10889, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10890, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10891, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10894, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10896, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10897, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10892, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10895, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10899, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "Strict" + }, + { + "type": "literal", + "value": "Lax" + }, + { + "type": "literal", + "value": "None" + } + ] + } + }, + { + "id": 10898, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10893, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10894, + 10896, + 10897, + 10892, + 10895, + 10899, + 10898, + 10893 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 10900, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10901, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10903, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10904, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10905, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16989, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10906, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16991, + "character": 10 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10905, + 10906 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 28 + } + ] + } + } + } + }, + { + "id": 10902, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10903, + 10902 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10890, + 10900 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 10907, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10908, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10909, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10910, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10911, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10913, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10912, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10913, + 10912 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 10914, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10915, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 10916, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10918, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10917, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10918, + 10917 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10834, + 10835, + 10836, + 10837, + 10838, + 10839, + 10843, + 10844, + 10849, + 10850, + 10855, + 10856, + 10857, + 10858, + 10859, + 10860, + 10861, + 10862, + 10868, + 10875, + 10882, + 10883, + 10887, + 10888, + 10907, + 10908, + 10909, + 10910, + 10914, + 10915 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserPool", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 7208, + "name": "BrowserCrawler.browserPool" + } + }, + { + "id": 10647, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 200, + "character": 91, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L200" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7216, + "name": "BrowserCrawler.config" + } + }, + { + "id": 10972, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7274, + "name": "BrowserCrawler.hasFinishedBefore" + } + }, + { + "id": 10919, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 319, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L319" + } + ], + "type": { + "type": "reference", + "target": 7412, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "BrowserLaunchContext", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": 7209, + "name": "BrowserCrawler.launchContext" + } + }, + { + "id": 10655, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 312, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L312" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7207, + "name": "BrowserCrawler.proxyConfiguration" + } + }, + { + "id": 10966, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7268, + "name": "BrowserCrawler.requestList" + } + }, + { + "id": 10967, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7269, + "name": "BrowserCrawler.requestQueue" + } + }, + { + "id": 10970, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7272, + "name": "BrowserCrawler.router" + } + }, + { + "id": 10971, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7273, + "name": "BrowserCrawler.running" + } + }, + { + "id": 10968, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7270, + "name": "BrowserCrawler.sessionPool" + } + }, + { + "id": 10965, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7267, + "name": "BrowserCrawler.stats" + } + }, + { + "id": 11009, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 11010, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 11011, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 11012, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7312, + "name": "BrowserCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7311, + "name": "BrowserCrawler.addRequests" + } + }, + { + "id": 11023, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 11024, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 11025, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 11026, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11027, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 11028, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7326, + "name": "BrowserCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7325, + "name": "BrowserCrawler.exportData" + } + }, + { + "id": 11020, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 11021, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 11022, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7323, + "name": "BrowserCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7322, + "name": "BrowserCrawler.getData" + } + }, + { + "id": 11017, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 11018, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 11019, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7320, + "name": "BrowserCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7319, + "name": "BrowserCrawler.getDataset" + } + }, + { + "id": 11003, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 11004, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7306, + "name": "BrowserCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7305, + "name": "BrowserCrawler.getRequestQueue" + } + }, + { + "id": 11013, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 11014, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 11015, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 11016, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7316, + "name": "BrowserCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7315, + "name": "BrowserCrawler.pushData" + } + }, + { + "id": 10999, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 11000, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 11001, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 11002, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7302, + "name": "BrowserCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7301, + "name": "BrowserCrawler.run" + } + }, + { + "id": 10995, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 10996, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 10997, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10998, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7298, + "name": "BrowserCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7297, + "name": "BrowserCrawler.setStatusMessage" + } + }, + { + "id": 11005, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 11006, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 11007, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 11008, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7308, + "name": "BrowserCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7307, + "name": "BrowserCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 10642 + ] + }, + { + "title": "Properties", + "children": [ + 10969, + 10656, + 10647, + 10972, + 10919, + 10655, + 10966, + 10967, + 10970, + 10971, + 10968, + 10965 + ] + }, + { + "title": "Methods", + "children": [ + 11009, + 11023, + 11020, + 11017, + 11003, + 11013, + 10999, + 10995, + 11005 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 190, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L190" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7160, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 10601, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10602, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 190, + "character": 56, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L190" + } + ], + "type": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10602 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 190, + "character": 54, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L190" + } + ] + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + }, + { + "type": "reference", + "target": 10317, + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + ], + "name": "BrowserCrawler", + "package": "@crawlee/browser" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 11421, + "name": "AdaptivePlaywrightCrawler" + } + ] + }, + { + "id": 11171, + "name": "AdaptivePlaywrightCrawlerContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 11186, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11187, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 11188, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 11189, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 11190, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 11192, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 11191, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11192, + 11191 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 11193, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 601, + "name": "RestrictedCrawlingContext.addRequests" + } + }, + { + "id": 11182, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L56" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11183, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 56, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L56" + } + ], + "signatures": [ + { + "id": 11184, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 56, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L56" + } + ], + "parameters": [ + { + "id": 11185, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 597, + "name": "RestrictedCrawlingContext.enqueueLinks" + } + }, + { + "id": 11199, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 77, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L77" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11200, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 77, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L77" + } + ], + "signatures": [ + { + "id": 11201, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 77, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L77" + } + ], + "parameters": [ + { + "id": 11202, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "id" + }, + { + "type": "literal", + "value": "name" + }, + { + "type": "literal", + "value": "getValue" + }, + { + "type": "literal", + "value": "getAutoSavedValue" + }, + { + "type": "literal", + "value": "setValue" + } + ] + } + ], + "name": "Pick", + "package": "typescript" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 614, + "name": "RestrictedCrawlingContext.getKeyValueStore" + } + }, + { + "id": 11203, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": 618, + "name": "RestrictedCrawlingContext.log" + } + }, + { + "id": 11172, + "name": "querySelector", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Wait for an element matching the selector to appear and return a Cheerio object of matched elements." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 83, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L83" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11173, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 83, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L83" + } + ], + "signatures": [ + { + "id": 11174, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 83, + "character": 19, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L83" + } + ], + "parameters": [ + { + "id": 11175, + "name": "selector", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11176, + "name": "timeoutMs", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/cheerio.ts", + "qualifiedName": "Cheerio" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/domhandler/src/node.ts", + "qualifiedName": "Element" + }, + "name": "Element", + "package": "domhandler" + } + ], + "name": "Cheerio", + "package": "cheerio" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ] + } + } + }, + { + "id": 11177, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 592, + "name": "RestrictedCrawlingContext.request" + } + }, + { + "id": 11194, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11195, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 11196, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 11197, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 11198, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 609, + "name": "RestrictedCrawlingContext.useState" + } + }, + { + "id": 11178, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 11179, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 11180, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 11181, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 594, + "name": "RestrictedCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 593, + "name": "RestrictedCrawlingContext.pushData" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11186, + 11182, + 11199, + 11203, + 11172, + 11177, + 11194 + ] + }, + { + "title": "Methods", + "children": [ + 11178 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L79" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 590, + "name": "RestrictedCrawlingContext", + "package": "@crawlee/core" + } + ] + }, + { + "id": 11204, + "name": "AdaptivePlaywrightCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 11233, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.autoscaledPoolOptions" + } + }, + { + "id": 11251, + "name": "browserPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " constructor.\nWe can tweak those to fine-tune browser management." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 189, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L189" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5347, + "typeArguments": [ + { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5397, + "typeArguments": [ + { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 11252, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 11253, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 11254, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11255, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11256, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11257, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11258, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11259, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11260, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 11261, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 11262, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 11263, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 11264, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11265, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11268, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11266, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11267, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11268, + 11266, + 11267 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 11269, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11270, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11271, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11274, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11273, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11272, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11274, + 11273, + 11272 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 11275, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11276, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11277, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11278, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11279, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 11280, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11281, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 11282, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11283, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11285, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11287, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11284, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11286, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11285, + 11287, + 11284, + 11286 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 11288, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11289, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11291, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 11293, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 11290, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11292, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11294, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11291, + 11293, + 11290, + 11292, + 11294 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 11295, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11296, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11297, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11298, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11299, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11301, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11300, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11301, + 11300 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11297, + 11298 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 11302, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11303, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11304, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11306, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11305, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11306, + 11305 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 11307, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 11308, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 11309, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11310, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11311, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11314, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11316, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11317, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11312, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11315, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11319, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11318, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11313, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11314, + 11316, + 11317, + 11312, + 11315, + 11319, + 11318, + 11313 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 11320, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11321, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11323, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11322, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11323, + 11322 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11310, + 11320 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 11324, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11325, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11326, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11327, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11328, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11330, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11329, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11330, + 11329 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 11331, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11332, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 11333, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11335, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11334, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11335, + 11334 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11254, + 11255, + 11256, + 11257, + 11258, + 11259, + 11263, + 11264, + 11269, + 11270, + 11275, + 11276, + 11277, + 11278, + 11279, + 11280, + 11281, + 11282, + 11288, + 11295, + 11302, + 11303, + 11307, + 11308, + 11324, + 11325, + 11326, + 11327, + 11331, + 11332 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 11336, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 11337, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 11338, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11339, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11340, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11341, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11342, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11343, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11344, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 11345, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 11346, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 11347, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 11348, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11349, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11352, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11350, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11351, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11352, + 11350, + 11351 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 11353, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11354, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11355, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11358, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11357, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11356, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11358, + 11357, + 11356 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 11359, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11360, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11361, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11362, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11363, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 11364, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11365, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 11366, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11367, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11369, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11371, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11368, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11370, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11369, + 11371, + 11368, + 11370 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 11372, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11373, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11375, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 11377, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 11374, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11376, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11378, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11375, + 11377, + 11374, + 11376, + 11378 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 11379, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11380, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11381, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11382, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11383, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11385, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11384, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11385, + 11384 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11381, + 11382 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 11386, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 11387, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11388, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11390, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11389, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11390, + 11389 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 11391, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 11392, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 11393, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11394, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11395, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11398, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11400, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11401, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11396, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11399, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11403, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11402, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11397, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11398, + 11400, + 11401, + 11396, + 11399, + 11403, + 11402, + 11397 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 11404, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 11405, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11407, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 11406, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11407, + 11406 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11394, + 11404 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 11408, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 11409, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11410, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11411, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11412, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11414, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11413, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11414, + 11413 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 11415, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 11416, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 11417, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 11419, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11418, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11419, + 11418 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11338, + 11339, + 11340, + 11341, + 11342, + 11343, + 11347, + 11348, + 11353, + 11354, + 11359, + 11360, + 11361, + 11362, + 11363, + 11364, + 11365, + 11366, + 11372, + 11379, + 11386, + 11387, + 11391, + 11392, + 11408, + 11409, + 11410, + 11411, + 11415, + 11416 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserPoolHooks", + "package": "@crawlee/browser-pool" + } + ], + "name": "Partial", + "package": "typescript" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.browserPoolOptions" + } + }, + { + "id": 11225, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L158" + } + ], + "type": { + "type": "reference", + "target": 7110, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + ], + "name": "BrowserErrorHandler", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.errorHandler" + } + }, + { + "id": 11243, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.experiments" + } + }, + { + "id": 11223, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "code", + "text": "`option.maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 7110, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + ], + "name": "BrowserErrorHandler", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.failedRequestHandler" + } + }, + { + "id": 11220, + "name": "headless", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to run browser in headless mode. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ".\nCan be also set via " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Configuration" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 254, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L254" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "boolean" + }, + { + "type": "literal", + "value": "new" + }, + { + "type": "literal", + "value": "old" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.headless" + } + }, + { + "id": 11420, + "name": "ignoreShadowRoots", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore custom elements (and their #shadow-roots) when processing the page content via " + }, + { + "kind": "code", + "text": "`parseWithCheerio`" + }, + { + "kind": "text", + "text": " helper.\nBy default, they are expanded automatically. Use this option to disable this behavior." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 260, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L260" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.ignoreShadowRoots" + } + }, + { + "id": 11237, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.keepAlive" + } + }, + { + "id": 11250, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The same options as used by " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "launchPlaywright" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L33" + } + ], + "type": { + "type": "reference", + "target": 11110, + "name": "PlaywrightLaunchContext", + "package": "@crawlee/playwright" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.launchContext" + } + }, + { + "id": 11235, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxConcurrency" + } + }, + { + "id": 11229, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxRequestRetries" + } + }, + { + "id": 11232, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxRequestsPerCrawl" + } + }, + { + "id": 11236, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxRequestsPerMinute" + } + }, + { + "id": 11231, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.maxSessionRotations" + } + }, + { + "id": 11234, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.minConcurrency" + } + }, + { + "id": 11245, + "name": "navigationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which page navigation needs to finish, in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 242, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L242" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.navigationTimeoutSecs" + } + }, + { + "id": 11249, + "name": "persistCookiesPerSession", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether the cookies should be persisted for sessions.\nThis can only be used when " + }, + { + "kind": "code", + "text": "`useSessionPool`" + }, + { + "kind": "text", + "text": " is set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 248, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L248" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.persistCookiesPerSession" + } + }, + { + "id": 11248, + "name": "postNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated after the navigation. Good for checking if the navigation was successful.\nThe function accepts " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " as the only parameter.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npostNavigationHooks: [\n async (crawlingContext) => {\n const { page } = crawlingContext;\n if (hasCaptcha(page)) {\n await solveCaptcha (page);\n }\n },\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L124" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 10382, + "name": "PlaywrightHook", + "package": "@crawlee/playwright" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.postNavigationHooks" + } + }, + { + "id": 11247, + "name": "preNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated before the navigation. Good for setting additional cookies\nor browser properties before navigation. The function accepts two parameters, " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`gotoOptions`" + }, + { + "kind": "text", + "text": ",\nwhich are passed to the " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": " function the crawler calls to navigate.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n async (crawlingContext, gotoOptions) => {\n const { page } = crawlingContext;\n await page.evaluate((attr) => { window.foo = attr; }, 'bar');\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nModyfing " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " is supported only in Playwright incognito.\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PrePageCreateHook" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 107, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L107" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 10382, + "name": "PlaywrightHook", + "package": "@crawlee/playwright" + } + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.preNavigationHooks" + } + }, + { + "id": 11246, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set, the crawler will be configured for all connections to use\nthe Proxy URLs provided and rotated according to the configuration." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 195, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L195" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.proxyConfiguration" + } + }, + { + "id": 11209, + "name": "renderingTypeDetectionRatio", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies the frequency of rendering type detection checks - 0.1 means roughly 10% of requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 103, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L103" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 11219, + "name": "renderingTypePredictor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A custom rendering type predictor" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 123, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L123" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/rendering-type-prediction.ts", + "qualifiedName": "RenderingTypePredictor" + }, + "name": "RenderingTypePredictor", + "package": "@crawlee/playwright" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "predict" + }, + { + "type": "literal", + "value": "storeResult" + } + ] + } + ], + "name": "Pick", + "package": "typescript" + } + }, + { + "id": 11205, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Function that is called to process each request.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AdaptivePlaywrightCrawlingContext" + }, + { + "kind": "text", + "text": " as an argument, and it must refrain from calling code with side effects,\nother than the methods of the crawling context. Any other side effects may be invoked repeatedly by the crawler, which can lead to inconsistent results.\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to " + }, + { + "kind": "code", + "text": "`option.maxRequestRetries`" + }, + { + "kind": "text", + "text": " times." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 98, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L98" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11206, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 98, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L98" + } + ], + "signatures": [ + { + "id": 11207, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 98, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L98" + } + ], + "parameters": [ + { + "id": 11208, + "name": "crawlingContext", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 11171, + "name": "AdaptivePlaywrightCrawlerContext", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ] + } + } + }, + { + "id": 11227, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestHandlerTimeoutSecs" + } + }, + { + "id": 11226, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestList" + } + }, + { + "id": 11221, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.requestQueue" + } + }, + { + "id": 11210, + "name": "resultChecker", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An optional callback that is called on dataset items found by the request handler in plain HTTP mode.\nIf it returns false, the request is retried in a browser.\nIf no callback is specified, every dataset item is considered valid." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L110" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11211, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 110, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L110" + } + ], + "signatures": [ + { + "id": 11212, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 110, + "character": 20, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L110" + } + ], + "parameters": [ + { + "id": 11213, + "name": "result", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 657, + "name": "RequestHandlerResult", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + } + } + }, + { + "id": 11214, + "name": "resultComparator", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An optional callback used in rendering type detection. On each detection, the result of the plain HTTP run is compared to that of the browser one.\nIf the callback returns true, the results are considered equal and the target site is considered static.\nIf no result comparator is specified, but there is a " + }, + { + "kind": "code", + "text": "`resultChecker`" + }, + { + "kind": "text", + "text": ", any site where the " + }, + { + "kind": "code", + "text": "`resultChecker`" + }, + { + "kind": "text", + "text": " returns true is considered static.\nIf neither " + }, + { + "kind": "code", + "text": "`resultComparator`" + }, + { + "kind": "text", + "text": " nor " + }, + { + "kind": "code", + "text": "`resultChecker`" + }, + { + "kind": "text", + "text": " are specified, a deep comparison of returned dataset items is used as a default." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 118, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L118" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 11215, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 118, + "character": 23, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L118" + } + ], + "signatures": [ + { + "id": 11216, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 118, + "character": 23, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L118" + } + ], + "parameters": [ + { + "id": 11217, + "name": "resultA", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 657, + "name": "RequestHandlerResult", + "package": "@crawlee/core" + } + }, + { + "id": 11218, + "name": "resultB", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 657, + "name": "RequestHandlerResult", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + } + } + }, + { + "id": 11242, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.retryOnBlocked" + } + }, + { + "id": 11230, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.sameDomainDelaySecs" + } + }, + { + "id": 11239, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.sessionPoolOptions" + } + }, + { + "id": 11244, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.statisticsOptions" + } + }, + { + "id": 11241, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.statusMessageCallback" + } + }, + { + "id": 11240, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.statusMessageLoggingInterval" + } + }, + { + "id": 11238, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "Omit.useSessionPool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11233, + 11251, + 11225, + 11243, + 11223, + 11220, + 11420, + 11237, + 11250, + 11235, + 11229, + 11232, + 11236, + 11231, + 11234, + 11245, + 11249, + 11248, + 11247, + 11246, + 11209, + 11219, + 11205, + 11227, + 11226, + 11221, + 11210, + 11214, + 11242, + 11230, + 11239, + 11244, + 11241, + 11240, + 11238 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 86, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L86" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 10394, + "name": "PlaywrightCrawlerOptions", + "package": "@crawlee/playwright" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "requestHandler" + }, + { + "type": "literal", + "value": "handlePageFunction" + } + ] + } + ], + "name": "Omit", + "package": "typescript" + } + ] + }, + { + "id": 10394, + "name": "PlaywrightCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 10588, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7143, + "name": "BrowserCrawlerOptions.autoscaledPoolOptions" + } + }, + { + "id": 10405, + "name": "browserPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " constructor.\nWe can tweak those to fine-tune browser management." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 189, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L189" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5347, + "typeArguments": [ + { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5397, + "typeArguments": [ + { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 10406, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 10407, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10408, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10409, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10410, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10411, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10412, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10413, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10414, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 10415, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 10416, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 10417, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 10418, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10419, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10422, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10420, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10421, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10422, + 10420, + 10421 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 10423, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10424, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10425, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10428, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10427, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10426, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10428, + 10427, + 10426 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 10429, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10430, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10431, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10432, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10433, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 10434, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10435, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 10436, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10437, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10439, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10441, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10438, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10440, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10439, + 10441, + 10438, + 10440 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 10442, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10443, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10445, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 10447, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 10444, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10446, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10448, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10445, + 10447, + 10444, + 10446, + 10448 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 10449, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10450, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10451, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10452, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10453, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10455, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10454, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10455, + 10454 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10451, + 10452 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 10456, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10457, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10458, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10460, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10459, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10460, + 10459 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 10461, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 10462, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 10463, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10464, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10465, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10468, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10470, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10471, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10466, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10469, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10473, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10472, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10467, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10468, + 10470, + 10471, + 10466, + 10469, + 10473, + 10472, + 10467 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 10474, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10475, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10477, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10476, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10477, + 10476 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10464, + 10474 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 10478, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10479, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10480, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10481, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10482, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10484, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10483, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10484, + 10483 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 10485, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10486, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 10487, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10489, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10488, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10489, + 10488 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10408, + 10409, + 10410, + 10411, + 10412, + 10413, + 10417, + 10418, + 10423, + 10424, + 10429, + 10430, + 10431, + 10432, + 10433, + 10434, + 10435, + 10436, + 10442, + 10449, + 10456, + 10457, + 10461, + 10462, + 10478, + 10479, + 10480, + 10481, + 10485, + 10486 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 10490, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 10491, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10492, + "name": "acceptDownloads", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to automatically download all the attachments. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " where all the downloads are accepted." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16677, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10493, + "name": "baseURL", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When using [page.goto(url[, options])](https://playwright.dev/docs/api/class-page#page-goto),\n[page.route(url, handler[, options])](https://playwright.dev/docs/api/class-page#page-route),\n[page.waitForURL(url[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-url),\n[page.waitForRequest(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-request),\nor\n[page.waitForResponse(urlOrPredicate[, options])](https://playwright.dev/docs/api/class-page#page-wait-for-response)\nit takes the base URL in consideration by using the\n[" + }, + { + "kind": "code", + "text": "`URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor for building the corresponding URL.\nUnset by default. Examples:\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`/bar.html`" + }, + { + "kind": "text", + "text": " results in " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/`" + }, + { + "kind": "text", + "text": " and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo/bar.html`" + }, + { + "kind": "text", + "text": "\n- baseURL: " + }, + { + "kind": "code", + "text": "`http://localhost:3000/foo`" + }, + { + "kind": "text", + "text": " (without trailing slash) and navigating to " + }, + { + "kind": "code", + "text": "`./bar.html`" + }, + { + "kind": "text", + "text": " results in\n " + }, + { + "kind": "code", + "text": "`http://localhost:3000/bar.html`" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16695, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10494, + "name": "bypassCSP", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Toggles bypassing page's Content-Security-Policy. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16700, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10495, + "name": "colorScheme", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-colors-scheme'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'dark'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'light'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16707, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "light" + }, + { + "type": "literal", + "value": "dark" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10496, + "name": "deviceScaleFactor", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify device scale factor (can be thought of as dpr). Defaults to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ". Learn more about\n[emulating devices with device scale factor](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16713, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10497, + "name": "extraHTTPHeaders", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object containing additional HTTP headers to be sent with every request. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10498, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 23 + } + ], + "indexSignature": { + "id": 10499, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16718, + "character": 25 + } + ], + "parameters": [ + { + "id": 10500, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + } + } + }, + { + "id": 10501, + "name": "forcedColors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'forced-colors'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'active'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'none'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16725, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "active" + }, + { + "type": "literal", + "value": "none" + } + ] + } + }, + { + "id": 10502, + "name": "geolocation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10503, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10506, + "name": "accuracy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Non-negative accuracy value. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16741, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10504, + "name": "latitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Latitude between -90 and 90." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16731, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10505, + "name": "longitude", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Longitude between -180 and 180." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16736, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10506, + 10504, + 10505 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16727, + "character": 18 + } + ] + } + } + }, + { + "id": 10507, + "name": "hasTouch", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specifies if viewport supports touch events. Defaults to false. Learn more about\n[mobile emulation](https://playwright.dev/docs/emulation#devices)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16748, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10508, + "name": "httpCredentials", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Credentials for [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication). If no\norigin is specified, the username and password are sent to any servers upon unauthorized responses." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10509, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10512, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Restrain sending http credentials on specific origin (scheme://host:port)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16762, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10511, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16757, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10510, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16755, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10512, + 10511, + 10510 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16754, + "character": 22 + } + ] + } + } + }, + { + "id": 10513, + "name": "ignoreHTTPSErrors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore HTTPS errors when sending network requests. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16768, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10514, + "name": "isMobile", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether the " + }, + { + "kind": "code", + "text": "`meta viewport`" + }, + { + "kind": "text", + "text": " tag is taken into account and touch events are enabled. isMobile is a part of device,\nso you don't actually need to set it manually. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": " and is not supported in Firefox. Learn more\nabout [mobile emulation](https://playwright.dev/docs/emulation#ismobile)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16775, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10515, + "name": "javaScriptEnabled", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether or not to enable JavaScript in the context. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". Learn more about\n[disabling JavaScript](https://playwright.dev/docs/emulation#javascript-enabled)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16781, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10516, + "name": "locale", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specify user locale, for example " + }, + { + "kind": "code", + "text": "`en-GB`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`de-DE`" + }, + { + "kind": "text", + "text": ", etc. Locale will affect " + }, + { + "kind": "code", + "text": "`navigator.language`" + }, + { + "kind": "text", + "text": " value,\n" + }, + { + "kind": "code", + "text": "`Accept-Language`" + }, + { + "kind": "text", + "text": " request header value as well as number and date formatting rules. Defaults to the system default\nlocale. Learn more about emulation in our [emulation guide](https://playwright.dev/docs/emulation#locale--timezone)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16788, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10517, + "name": "logger", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Logger sink for Playwright logging." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16793, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Logger" + }, + "name": "Logger", + "package": "playwright-core" + } + }, + { + "id": 10518, + "name": "offline", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to emulate network being offline. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Learn more about\n[network emulation](https://playwright.dev/docs/emulation#offline)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16799, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10519, + "name": "permissions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A list of permissions to grant to all pages in this context. See\n[browserContext.grantPermissions(permissions[, options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-grant-permissions)\nfor more details. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16806, + "character": 4 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 10520, + "name": "proxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Network proxy settings to use with this context. Defaults to none.\n\n**NOTE** For Chromium on Windows the browser needs to be launched with the global proxy for this option to work. If\nall contexts override the proxy, global proxy will be never used and can be any string, for example " + }, + { + "kind": "code", + "text": "`launch({\nproxy: { server: 'http://per-context' } })`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10521, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10523, + "name": "bypass", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional comma-separated domains to bypass proxy, for example " + }, + { + "kind": "code", + "text": "`\".com, chromium.org, .domain.com\"`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16825, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10525, + "name": "password", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional password to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16835, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10522, + "name": "server", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Proxy to be used for all requests. HTTP and SOCKS proxies are supported, for example " + }, + { + "kind": "code", + "text": "`http://myproxy.com:3128`" + }, + { + "kind": "text", + "text": " or\n" + }, + { + "kind": "code", + "text": "`socks5://myproxy.com:3128`" + }, + { + "kind": "text", + "text": ". Short form " + }, + { + "kind": "code", + "text": "`myproxy.com:3128`" + }, + { + "kind": "text", + "text": " is considered an HTTP proxy." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16820, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10524, + "name": "username", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional username to use if HTTP proxy requires authentication." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16830, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10523, + 10525, + 10522, + 10524 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16815, + "character": 12 + } + ] + } + } + }, + { + "id": 10526, + "name": "recordHar", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables [HAR](http://www.softwareishard.com/blog/har-12-spec) recording for all pages into " + }, + { + "kind": "code", + "text": "`recordHar.path`" + }, + { + "kind": "text", + "text": " file.\nIf not specified, the HAR is not recorded. Make sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nthe HAR to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10527, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10529, + "name": "content", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control resource content management. If " + }, + { + "kind": "code", + "text": "`omit`" + }, + { + "kind": "text", + "text": " is specified, content is not persisted. If\n" + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " is specified, resources are persisted as separate files or entries in the ZIP archive. If " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " is\nspecified, content is stored inline the HAR file as per HAR specification. Defaults to " + }, + { + "kind": "code", + "text": "`attach`" + }, + { + "kind": "text", + "text": " for " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": " output\nfiles and to " + }, + { + "kind": "code", + "text": "`embed`" + }, + { + "kind": "text", + "text": " for all other file extensions." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16857, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "omit" + }, + { + "type": "literal", + "value": "embed" + }, + { + "type": "literal", + "value": "attach" + } + ] + } + }, + { + "id": 10531, + "name": "mode", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When set to " + }, + { + "kind": "code", + "text": "`minimal`" + }, + { + "kind": "text", + "text": ", only record information necessary for routing from HAR. This omits sizes, timing, page,\ncookies, security and other types of HAR information that are not used when replaying from HAR. Defaults to " + }, + { + "kind": "code", + "text": "`full`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16869, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "full" + }, + { + "type": "literal", + "value": "minimal" + } + ] + } + }, + { + "id": 10528, + "name": "omitContent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional setting to control whether to omit request content from the HAR. Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". Deprecated, use\n" + }, + { + "kind": "code", + "text": "`content`" + }, + { + "kind": "text", + "text": " policy instead." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16849, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10530, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path on the filesystem to write the HAR file to. If the file name ends with " + }, + { + "kind": "code", + "text": "`.zip`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`content: 'attach'`" + }, + { + "kind": "text", + "text": " is used by\ndefault." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16863, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10532, + "name": "urlFilter", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A glob or regex pattern to filter requests that are stored in the HAR. When a " + }, + { + "kind": "code", + "text": "`baseURL`" + }, + { + "kind": "text", + "text": " via the context options was\nprovided and the passed URL is a path, it gets merged via the\n[" + }, + { + "kind": "code", + "text": "`new URL()`" + }, + { + "kind": "text", + "text": "](https://developer.mozilla.org/en-US/docs/Web/API/URL/URL) constructor. Defaults to none." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16876, + "character": 6 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10529, + 10531, + 10528, + 10530, + 10532 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16844, + "character": 16 + } + ] + } + } + }, + { + "id": 10533, + "name": "recordVideo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables video recording for all pages into " + }, + { + "kind": "code", + "text": "`recordVideo.dir`" + }, + { + "kind": "text", + "text": " directory. If not specified videos are not recorded.\nMake sure to await\n[browserContext.close([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-close) for\nvideos to be saved." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10534, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10535, + "name": "dir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Path to the directory to put videos into." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16889, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10536, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional dimensions of the recorded videos. If not specified the size will be equal to " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " scaled down to\nfit into 800x800. If " + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is not configured explicitly the video size defaults to 800x450. Actual picture of\neach page will be scaled down if necessary to fit the specified size." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 6 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10537, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10539, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16905, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10538, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16900, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10539, + 10538 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16896, + "character": 13 + } + ] + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10535, + 10536 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16885, + "character": 18 + } + ] + } + } + }, + { + "id": 10540, + "name": "reducedMotion", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates " + }, + { + "kind": "code", + "text": "`'prefers-reduced-motion'`" + }, + { + "kind": "text", + "text": " media feature, supported values are " + }, + { + "kind": "code", + "text": "`'reduce'`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": ". See\n[page.emulateMedia([options])](https://playwright.dev/docs/api/class-page#page-emulate-media) for more details.\nPassing " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " resets emulation to system defaults. Defaults to " + }, + { + "kind": "code", + "text": "`'no-preference'`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16914, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "literal", + "value": "reduce" + }, + { + "type": "literal", + "value": "no-preference" + } + ] + } + }, + { + "id": 10541, + "name": "screen", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent window screen size available inside web page via " + }, + { + "kind": "code", + "text": "`window.screen`" + }, + { + "kind": "text", + "text": ". Is only used when the\n" + }, + { + "kind": "code", + "text": "`viewport`" + }, + { + "kind": "text", + "text": " is set." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10542, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10544, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16929, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10543, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16924, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10544, + 10543 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16920, + "character": 13 + } + ] + } + } + }, + { + "id": 10545, + "name": "serviceWorkers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to allow sites to register Service workers. Defaults to " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ".\n- " + }, + { + "kind": "code", + "text": "`'allow'`" + }, + { + "kind": "text", + "text": ": [Service Workers](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API) can be\n registered.\n- " + }, + { + "kind": "code", + "text": "`'block'`" + }, + { + "kind": "text", + "text": ": Playwright will block all registration of Service Workers." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16938, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "allow" + }, + { + "type": "literal", + "value": "block" + } + ] + } + }, + { + "id": 10546, + "name": "storageState", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Learn more about [storage state and auth](https://playwright.dev/docs/auth).\n\nPopulates context with given storage state. This option can be used to initialize context with logged-in\ninformation obtained via\n[browserContext.storageState([options])](https://playwright.dev/docs/api/class-browsercontext#browser-context-storage-state)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reflection", + "declaration": { + "id": 10547, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10548, + "name": "cookies", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Cookies to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10549, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10552, + "name": "domain", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required. For the cookie to apply to all subdomains as well, prefix domain with a dot, like\nthis: \".example.com\"" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16960, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10554, + "name": "expires", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Unix time in seconds." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16970, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10555, + "name": "httpOnly", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16972, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10550, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16952, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10553, + "name": "path", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Domain and path are required" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16965, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10557, + "name": "sameSite", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sameSite flag" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16979, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10556, + "name": "secure", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16974, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10551, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16954, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10552, + 10554, + 10555, + 10550, + 10553, + 10557, + 10556, + 10551 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16951, + "character": 21 + } + ] + } + } + } + }, + { + "id": 10558, + "name": "origins", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "localStorage to set for context" + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 6 + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reflection", + "declaration": { + "id": 10559, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10561, + "name": "localStorage", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16988, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + }, + { + "id": 10560, + "name": "origin", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16986, + "character": 8 + } + ], + "type": { + "type": "unknown", + "name": "..." + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10561, + 10560 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16985, + "character": 21 + } + ] + } + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10548, + 10558 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16947, + "character": 26 + } + ] + } + } + ] + } + }, + { + "id": 10562, + "name": "strictSelectors", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to true, enables strict selectors mode for this context. In the strict selectors mode all operations on\nselectors that imply single target DOM element will throw when more than one element matches the selector. This\noption does not affect any Locator APIs (Locators are always strict). Defaults to " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": ". See " + }, + { + "kind": "inline-tag", + "tag": "@link", + "text": "Locator", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Locator" + }, + "tsLinkText": "" + }, + { + "kind": "text", + "text": " to\nlearn more about the strict mode." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17002, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 10563, + "name": "timezoneId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Changes the timezone of the context. See\n[ICU's metaZones.txt](https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt?rcl=faee8bc70570192d82d2978a71e2a615788597d1)\nfor a list of supported timezone IDs. Defaults to the system timezone." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17009, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10564, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Specific user agent to use in this context." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17014, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10565, + "name": "videoSize", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10566, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10568, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame height." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17028, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10567, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Video frame width." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17023, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10568, + 10567 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17019, + "character": 16 + } + ] + } + } + }, + { + "id": 10569, + "name": "videosPath", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "Use " + }, + { + "kind": "code", + "text": "`recordVideo`" + }, + { + "kind": "text", + "text": " instead." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17034, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10570, + "name": "viewport", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Emulates consistent viewport for each page. Defaults to an 1280x720 viewport. Use " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " to disable the consistent\nviewport emulation. Learn more about [viewport emulation](https://playwright.dev/docs/emulation#viewport).\n\n**NOTE** The " + }, + { + "kind": "code", + "text": "`null`" + }, + { + "kind": "text", + "text": " value opts out from the default presets, makes viewport depend on the host window size defined\nby the operating system. It makes the execution of the tests non-deterministic." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reflection", + "declaration": { + "id": 10571, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "children": [ + { + "id": 10573, + "name": "height", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page height in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17052, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10572, + "name": "width", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "page width in pixels." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17047, + "character": 6 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10573, + 10572 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 17043, + "character": 20 + } + ] + } + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10492, + 10493, + 10494, + 10495, + 10496, + 10497, + 10501, + 10502, + 10507, + 10508, + 10513, + 10514, + 10515, + 10516, + 10517, + 10518, + 10519, + 10520, + 10526, + 10533, + 10540, + 10541, + 10545, + 10546, + 10562, + 10563, + 10564, + 10565, + 10569, + 10570 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 16673, + "character": 20 + } + ] + } + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + ], + "name": "BrowserPoolHooks", + "package": "@crawlee/browser-pool" + } + ], + "name": "Partial", + "package": "typescript" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": 7126, + "name": "BrowserCrawlerOptions.browserPoolOptions" + } + }, + { + "id": 10402, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L158" + } + ], + "type": { + "type": "reference", + "target": 7110, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + ], + "name": "BrowserErrorHandler", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": 7123, + "name": "BrowserCrawlerOptions.errorHandler" + } + }, + { + "id": 10598, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7153, + "name": "BrowserCrawlerOptions.experiments" + } + }, + { + "id": 10403, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "code", + "text": "`option.maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 7110, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + ], + "name": "BrowserErrorHandler", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": 7124, + "name": "BrowserCrawlerOptions.failedRequestHandler" + } + }, + { + "id": 10577, + "name": "headless", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to run browser in headless mode. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ".\nCan be also set via " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Configuration" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 254, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L254" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "boolean" + }, + { + "type": "literal", + "value": "new" + }, + { + "type": "literal", + "value": "old" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": 7132, + "name": "BrowserCrawlerOptions.headless" + } + }, + { + "id": 10578, + "name": "ignoreShadowRoots", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore custom elements (and their #shadow-roots) when processing the page content via " + }, + { + "kind": "code", + "text": "`parseWithCheerio`" + }, + { + "kind": "text", + "text": " helper.\nBy default, they are expanded automatically. Use this option to disable this behavior." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 260, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L260" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7133, + "name": "BrowserCrawlerOptions.ignoreShadowRoots" + } + }, + { + "id": 10592, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7147, + "name": "BrowserCrawlerOptions.keepAlive" + } + }, + { + "id": 10397, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The same options as used by " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "launchPlaywright" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L33" + } + ], + "type": { + "type": "reference", + "target": 11110, + "name": "PlaywrightLaunchContext", + "package": "@crawlee/playwright" + }, + "overwrites": { + "type": "reference", + "target": 7120, + "name": "BrowserCrawlerOptions.launchContext" + } + }, + { + "id": 10590, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7145, + "name": "BrowserCrawlerOptions.maxConcurrency" + } + }, + { + "id": 10584, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7139, + "name": "BrowserCrawlerOptions.maxRequestRetries" + } + }, + { + "id": 10587, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7142, + "name": "BrowserCrawlerOptions.maxRequestsPerCrawl" + } + }, + { + "id": 10591, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7146, + "name": "BrowserCrawlerOptions.maxRequestsPerMinute" + } + }, + { + "id": 10586, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7141, + "name": "BrowserCrawlerOptions.maxSessionRotations" + } + }, + { + "id": 10589, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7144, + "name": "BrowserCrawlerOptions.minConcurrency" + } + }, + { + "id": 10575, + "name": "navigationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which page navigation needs to finish, in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 242, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L242" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7130, + "name": "BrowserCrawlerOptions.navigationTimeoutSecs" + } + }, + { + "id": 10576, + "name": "persistCookiesPerSession", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether the cookies should be persisted for sessions.\nThis can only be used when " + }, + { + "kind": "code", + "text": "`useSessionPool`" + }, + { + "kind": "text", + "text": " is set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 248, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L248" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7131, + "name": "BrowserCrawlerOptions.persistCookiesPerSession" + } + }, + { + "id": 10401, + "name": "postNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated after the navigation. Good for checking if the navigation was successful.\nThe function accepts " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " as the only parameter.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npostNavigationHooks: [\n async (crawlingContext) => {\n const { page } = crawlingContext;\n if (hasCaptcha(page)) {\n await solveCaptcha (page);\n }\n },\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L124" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 10382, + "name": "PlaywrightHook", + "package": "@crawlee/playwright" + } + }, + "overwrites": { + "type": "reference", + "target": 7129, + "name": "BrowserCrawlerOptions.postNavigationHooks" + } + }, + { + "id": 10400, + "name": "preNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated before the navigation. Good for setting additional cookies\nor browser properties before navigation. The function accepts two parameters, " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`gotoOptions`" + }, + { + "kind": "text", + "text": ",\nwhich are passed to the " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": " function the crawler calls to navigate.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n async (crawlingContext, gotoOptions) => {\n const { page } = crawlingContext;\n await page.evaluate((attr) => { window.foo = attr; }, 'bar');\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nModyfing " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " is supported only in Playwright incognito.\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PrePageCreateHook" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 107, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L107" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 10382, + "name": "PlaywrightHook", + "package": "@crawlee/playwright" + } + }, + "overwrites": { + "type": "reference", + "target": 7128, + "name": "BrowserCrawlerOptions.preNavigationHooks" + } + }, + { + "id": 10574, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set, the crawler will be configured for all connections to use\nthe Proxy URLs provided and rotated according to the configuration." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 195, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L195" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7127, + "name": "BrowserCrawlerOptions.proxyConfiguration" + } + }, + { + "id": 10398, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Function that is called to process each request.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawlingContext" + }, + { + "kind": "text", + "text": " as an argument, where:\n- " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " is an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object with details about the URL to open, HTTP method etc.\n- " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": " is an instance of the " + }, + { + "kind": "code", + "text": "`Playwright`" + }, + { + "kind": "text", + "text": "\n[" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page)\n- " + }, + { + "kind": "code", + "text": "`browserController`" + }, + { + "kind": "text", + "text": " is an instance of the\n[" + }, + { + "kind": "code", + "text": "`BrowserController`" + }, + { + "kind": "text", + "text": "](https://github.com/apify/browser-pool#browsercontroller),\n- " + }, + { + "kind": "code", + "text": "`response`" + }, + { + "kind": "text", + "text": " is an instance of the " + }, + { + "kind": "code", + "text": "`Playwright`" + }, + { + "kind": "text", + "text": "\n[" + }, + { + "kind": "code", + "text": "`Response`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-response),\nwhich is the main resource response as returned by " + }, + { + "kind": "code", + "text": "`page.goto(request.url)`" + }, + { + "kind": "text", + "text": ".\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to " + }, + { + "kind": "code", + "text": "`option.maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\nIf all the retries fail, the crawler calls the function\nprovided to the " + }, + { + "kind": "code", + "text": "`failedRequestHandler`" + }, + { + "kind": "text", + "text": " parameter.\nTo make this work, you should **always**\nlet your function throw exceptions rather than catch them.\nThe exceptions are logged to the request using the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.pushErrorMessage" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 59, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L59" + } + ], + "type": { + "type": "reference", + "target": 10390, + "name": "PlaywrightRequestHandler", + "package": "@crawlee/playwright" + }, + "overwrites": { + "type": "reference", + "target": 7121, + "name": "BrowserCrawlerOptions.requestHandler" + } + }, + { + "id": 10582, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7137, + "name": "BrowserCrawlerOptions.requestHandlerTimeoutSecs" + } + }, + { + "id": 10581, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7136, + "name": "BrowserCrawlerOptions.requestList" + } + }, + { + "id": 10579, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7134, + "name": "BrowserCrawlerOptions.requestQueue" + } + }, + { + "id": 10597, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7152, + "name": "BrowserCrawlerOptions.retryOnBlocked" + } + }, + { + "id": 10585, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7140, + "name": "BrowserCrawlerOptions.sameDomainDelaySecs" + } + }, + { + "id": 10594, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7149, + "name": "BrowserCrawlerOptions.sessionPoolOptions" + } + }, + { + "id": 10599, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7154, + "name": "BrowserCrawlerOptions.statisticsOptions" + } + }, + { + "id": 10596, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7151, + "name": "BrowserCrawlerOptions.statusMessageCallback" + } + }, + { + "id": 10595, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7150, + "name": "BrowserCrawlerOptions.statusMessageLoggingInterval" + } + }, + { + "id": 10593, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7148, + "name": "BrowserCrawlerOptions.useSessionPool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10588, + 10405, + 10402, + 10598, + 10403, + 10577, + 10578, + 10592, + 10397, + 10590, + 10584, + 10587, + 10591, + 10586, + 10589, + 10575, + 10576, + 10401, + 10400, + 10574, + 10398, + 10582, + 10581, + 10579, + 10597, + 10585, + 10594, + 10599, + 10596, + 10595, + 10593 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 26, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L26" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7119, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + }, + { + "type": "reflection", + "declaration": { + "id": 10395, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10396, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 28, + "character": 6, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L28" + } + ], + "type": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 5595, + "name": "PlaywrightPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10396 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 28, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L28" + } + ] + } + } + ], + "name": "BrowserCrawlerOptions", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 10317, + "name": "PlaywrightCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 10341, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10342, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 10343, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 10344, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 10345, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10347, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 10346, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10347, + 10346 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 10348, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7089, + "name": "BrowserCrawlingContext.addRequests" + } + }, + { + "id": 10318, + "name": "browserController", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L54" + } + ], + "type": { + "type": "reference", + "target": 3466, + "name": "PlaywrightController", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 7066, + "name": "BrowserCrawlingContext.browserController" + } + }, + { + "id": 10324, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 10600, + "name": "PlaywrightCrawler", + "package": "@crawlee/playwright" + }, + "inheritedFrom": { + "type": "reference", + "target": 7072, + "name": "BrowserCrawlingContext.crawler" + } + }, + { + "id": 10328, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10329, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 10330, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 10331, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7076, + "name": "BrowserCrawlingContext.getKeyValueStore" + } + }, + { + "id": 10321, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7069, + "name": "BrowserCrawlingContext.id" + } + }, + { + "id": 10354, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": 7102, + "name": "BrowserCrawlingContext.log" + } + }, + { + "id": 10319, + "name": "page", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 55, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L55" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7067, + "name": "BrowserCrawlingContext.page" + } + }, + { + "id": 10323, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7071, + "name": "BrowserCrawlingContext.proxyInfo" + } + }, + { + "id": 10336, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 10381, + "name": "UserData", + "package": "@crawlee/playwright", + "qualifiedName": "PlaywrightCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7084, + "name": "BrowserCrawlingContext.request" + } + }, + { + "id": 10320, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L56" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Response" + }, + "name": "Response", + "package": "playwright-core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7068, + "name": "BrowserCrawlingContext.response" + } + }, + { + "id": 10322, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7070, + "name": "BrowserCrawlingContext.session" + } + }, + { + "id": 10349, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 10350, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 10351, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 10352, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 10353, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7097, + "name": "BrowserCrawlingContext.useState" + } + }, + { + "id": 10361, + "name": "blockRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 655, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L655" + } + ], + "signatures": [ + { + "id": 10362, + "name": "blockRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Forces the Playwright browser tab to block loading URLs that match a provided pattern.\nThis is useful to speed up crawling of websites, since it reduces the amount\nof data that needs to be downloaded from the web, but it may break some websites\nor unexpectedly prevent loading of resources.\n\nBy default, the function will block all URLs including the following patterns:\n\n" + }, + { + "kind": "code", + "text": "```json\n[\".css\", \".jpg\", \".jpeg\", \".png\", \".svg\", \".gif\", \".woff\", \".pdf\", \".zip\"]\n```" + }, + { + "kind": "text", + "text": "\n\nIf you want to extend this list further, use the " + }, + { + "kind": "code", + "text": "`extraUrlPatterns`" + }, + { + "kind": "text", + "text": " option,\nwhich will keep blocking the default patterns, as well as add your custom ones.\nIf you would like to block only specific patterns, use the " + }, + { + "kind": "code", + "text": "`urlPatterns`" + }, + { + "kind": "text", + "text": " option,\nwhich will override the defaults and block only URLs with your custom patterns.\n\nThis function does not use Playwright's request interception and therefore does not interfere\nwith browser cache. It's also faster than blocking requests using interception,\nbecause the blocking happens directly in the browser without the round-trip to Node.js,\nbut it does not provide the extra benefits of request interception.\n\nThe function will never block main document loads and their respective redirects.\n\n**Example usage**\n" + }, + { + "kind": "code", + "text": "```javascript\npreNavigationHooks: [\n async ({ blockRequests }) => {\n // Block all requests to URLs that include `adsbygoogle.js` and also all defaults.\n await blockRequests({\n extraUrlPatterns: ['adsbygoogle.js'],\n });\n },\n],\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 655, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L655" + } + ], + "parameters": [ + { + "id": 10363, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9961, + "name": "BlockRequestsOptions", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.blockRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.blockRequests" + } + }, + { + "id": 10379, + "name": "closeCookieModals", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L756" + } + ], + "signatures": [ + { + "id": 10380, + "name": "closeCookieModals", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Tries to close cookie consent modals on the page. Based on the I Don't Care About Cookies browser extension." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 756, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L756" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.closeCookieModals" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.closeCookieModals" + } + }, + { + "id": 10375, + "name": "compileScript", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 751, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L751" + } + ], + "signatures": [ + { + "id": 10376, + "name": "compileScript", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Compiles a Playwright script into an async function that may be executed at any time\nby providing it with the following object:\n" + }, + { + "kind": "code", + "text": "```\n{\n page: Page,\n request: Request,\n}\n```" + }, + { + "kind": "text", + "text": "\nWhere " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": " is a Playwright [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page)\nand " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " is a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": ".\n\nThe function is compiled by using the " + }, + { + "kind": "code", + "text": "`scriptString`" + }, + { + "kind": "text", + "text": " parameter as the function's body,\nso any limitations to function bodies apply. Return value of the compiled function\nis the return value of the function body = the " + }, + { + "kind": "code", + "text": "`scriptString`" + }, + { + "kind": "text", + "text": " parameter.\n\nAs a security measure, no globals such as " + }, + { + "kind": "code", + "text": "`process`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`require`" + }, + { + "kind": "text", + "text": " are accessible\nfrom within the function body. Note that the function does not provide a safe\nsandbox and even though globals are not easily accessible, malicious code may\nstill execute in the main process via prototype manipulation. Therefore you\nshould only use this function to execute sanitized or safe code.\n\nCustom context may also be provided using the " + }, + { + "kind": "code", + "text": "`context`" + }, + { + "kind": "text", + "text": " parameter. To improve security,\nmake sure to only pass the really necessary objects to the context. Preferably making\nsecured copies beforehand." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 751, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L751" + } + ], + "parameters": [ + { + "id": 10377, + "name": "scriptString", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10378, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": 9971, + "name": "CompiledScriptFunction", + "package": "@crawlee/playwright" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.compileScript" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.compileScript" + } + }, + { + "id": 10325, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 10326, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 10327, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7074, + "name": "BrowserCrawlingContext.enqueueLinks" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7073, + "name": "BrowserCrawlingContext.enqueueLinks" + } + }, + { + "id": 10372, + "name": "enqueueLinksByClickingElements", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 723, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L723" + } + ], + "signatures": [ + { + "id": 10373, + "name": "enqueueLinksByClickingElements", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function finds elements matching a specific CSS selector in a Playwright page,\nclicks all those elements using a mouse move and a left mouse button click and intercepts\nall the navigation requests that are subsequently produced by the page. The intercepted\nrequests, including their methods, headers and payloads are then enqueued to a provided\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ". This is useful to crawl JavaScript heavy pages where links are not available\nin " + }, + { + "kind": "code", + "text": "`href`" + }, + { + "kind": "text", + "text": " elements, but rather navigations are triggered in click handlers.\nIf you're looking to find URLs in " + }, + { + "kind": "code", + "text": "`href`" + }, + { + "kind": "text", + "text": " attributes of the page, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": ".\n\nOptionally, the function allows you to filter the target links' URLs using an array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " objects\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\n**IMPORTANT**: To be able to do this, this function uses various mutations on the page,\nsuch as changing the Z-index of elements being clicked and their visibility. Therefore,\nit is recommended to only use this function as the last operation in the page.\n\n**USING HEADFUL BROWSER**: When using a headful browser, this function will only be able to click elements\nin the focused tab, effectively limiting concurrency to 1. In headless mode, full concurrency can be achieved.\n\n**PERFORMANCE**: Clicking elements with a mouse and intercepting requests is not a low level operation\nthat takes nanoseconds. It's not very CPU intensive, but it takes time. We strongly recommend limiting\nthe scope of the clicking as much as possible by using a specific selector that targets only the elements\nthat you assume or know will produce a navigation. You can certainly click everything by using\nthe " + }, + { + "kind": "code", + "text": "`*`" + }, + { + "kind": "text", + "text": " selector, but be prepared to wait minutes to get results on a large and complex page.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ enqueueLinksByClickingElements }) {\n await enqueueLinksByClickingElements({\n selector: 'a.product-detail',\n globs: [\n 'https://www.example.com/handbags/**'\n 'https://www.example.com/purses/**'\n ],\n });\n});\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 723, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L723" + } + ], + "parameters": [ + { + "id": 10374, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 10100, + "name": "EnqueueLinksByClickingElementsOptions", + "package": "@crawlee/playwright" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "requestQueue" + }, + { + "type": "literal", + "value": "page" + } + ] + } + ], + "name": "Omit", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.enqueueLinksByClickingElements" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.enqueueLinksByClickingElements" + } + }, + { + "id": 10366, + "name": "infiniteScroll", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 674, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L674" + } + ], + "signatures": [ + { + "id": 10367, + "name": "infiniteScroll", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Scrolls to the bottom of a page, or until it times out.\nLoads dynamic content when it hits the bottom of a page, and then continues scrolling." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 674, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L674" + } + ], + "parameters": [ + { + "id": 10368, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9975, + "name": "InfiniteScrollOptions", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.infiniteScroll" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.infiniteScroll" + } + }, + { + "id": 10355, + "name": "injectFile", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 590, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L590" + } + ], + "signatures": [ + { + "id": 10356, + "name": "injectFile", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Injects a JavaScript file into current " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": ".\nUnlike Playwright's " + }, + { + "kind": "code", + "text": "`addScriptTag`" + }, + { + "kind": "text", + "text": " function, this function works on pages\nwith arbitrary Cross-Origin Resource Sharing (CORS) policies.\n\nFile contents are cached for up to 10 files to limit file system access." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 590, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L590" + } + ], + "parameters": [ + { + "id": 10357, + "name": "filePath", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10358, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9959, + "name": "InjectFileOptions", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.injectFile" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.injectFile" + } + }, + { + "id": 10359, + "name": "injectJQuery", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 617, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L617" + } + ], + "signatures": [ + { + "id": 10360, + "name": "injectJQuery", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Injects the [jQuery](https://jquery.com/) library into current " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": ".\njQuery is often useful for various web scraping and crawling tasks.\nFor example, it can help extract text from HTML elements using CSS selectors.\n\nBeware that the injected jQuery object will be set to the " + }, + { + "kind": "code", + "text": "`window.$`" + }, + { + "kind": "text", + "text": " variable and thus it might cause conflicts with\nother libraries included by the page that use the same variable name (e.g. another version of jQuery).\nThis can affect functionality of page's scripts.\n\nThe injected jQuery will survive page navigations and reloads.\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ page, injectJQuery }) {\n await injectJQuery();\n const title = await page.evaluate(() => {\n return $('head title').text();\n });\n});\n```" + }, + { + "kind": "text", + "text": "\n\nNote that " + }, + { + "kind": "code", + "text": "`injectJQuery()`" + }, + { + "kind": "text", + "text": " does not affect the Playwright\n[" + }, + { + "kind": "code", + "text": "`page.$()`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-page#page-query-selector)\nfunction in any way." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 617, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L617" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.injectJQuery" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.injectJQuery" + } + }, + { + "id": 10364, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 668, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L668" + } + ], + "signatures": [ + { + "id": 10365, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns Cheerio handle for " + }, + { + "kind": "code", + "text": "`page.content()`" + }, + { + "kind": "text", + "text": ", allowing to work with the data same way as with " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ".\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ parseWithCheerio }) {\n const $ = await parseWithCheerio();\n const title = $('title').text();\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 668, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L668" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.parseWithCheerio" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.parseWithCheerio" + } + }, + { + "id": 10337, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 10338, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 10339, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 10340, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7086, + "name": "BrowserCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7085, + "name": "BrowserCrawlingContext.pushData" + } + }, + { + "id": 10369, + "name": "saveSnapshot", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 680, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L680" + } + ], + "signatures": [ + { + "id": 10370, + "name": "saveSnapshot", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Saves a full screenshot and HTML of the current page into a Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "line": 680, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/playwright-utils.ts#L680" + } + ], + "parameters": [ + { + "id": 10371, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9984, + "name": "SaveSnapshotOptions", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.saveSnapshot" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PlaywrightContextUtils.saveSnapshot" + } + }, + { + "id": 10332, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 10333, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 10334, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 10335, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7081, + "name": "BrowserCrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7080, + "name": "BrowserCrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10341, + 10318, + 10324, + 10328, + 10321, + 10354, + 10319, + 10323, + 10336, + 10320, + 10322, + 10349 + ] + }, + { + "title": "Methods", + "children": [ + 10361, + 10379, + 10375, + 10325, + 10372, + 10366, + 10355, + 10359, + 10364, + 10337, + 10369, + 10332 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 20, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L20" + } + ], + "typeParameters": [ + { + "id": 10381, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7065, + "typeArguments": [ + { + "type": "reference", + "target": 10600, + "name": "PlaywrightCrawler", + "package": "@crawlee/playwright" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Response" + }, + "name": "Response", + "package": "playwright-core" + }, + { + "type": "reference", + "target": 3466, + "name": "PlaywrightController", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 10381, + "name": "UserData", + "package": "@crawlee/playwright", + "qualifiedName": "PlaywrightCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils" + }, + "name": "PlaywrightContextUtils", + "package": "@crawlee/playwright" + } + ] + }, + { + "id": 10382, + "name": "PlaywrightHook", + "variant": "declaration", + "kind": 256, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 22, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L22" + } + ], + "signatures": [ + { + "id": 10383, + "name": "PlaywrightHook", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 22, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L22" + } + ], + "parameters": [ + { + "id": 10384, + "name": "crawlingContext", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + }, + { + "id": 10385, + "name": "gotoOptions", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reflection", + "declaration": { + "id": 10386, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 10387, + "name": "referer", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Referer header value. If provided it will take preference over the referer header value set by\n[page.setExtraHTTPHeaders(headers)](https://playwright.dev/docs/api/class-page#page-set-extra-http-headers)." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 3023, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 10388, + "name": "timeout", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum operation time in milliseconds. Defaults to " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": " - no timeout. The default value can be changed via\n" + }, + { + "kind": "code", + "text": "`navigationTimeout`" + }, + { + "kind": "text", + "text": " option in the config, or by using the\n[browserContext.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-navigation-timeout),\n[browserContext.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-browsercontext#browser-context-set-default-timeout),\n[page.setDefaultNavigationTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-navigation-timeout)\nor [page.setDefaultTimeout(timeout)](https://playwright.dev/docs/api/class-page#page-set-default-timeout) methods." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 3033, + "character": 4 + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 10389, + "name": "waitUntil", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true, + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When to consider operation succeeded, defaults to " + }, + { + "kind": "code", + "text": "`load`" + }, + { + "kind": "text", + "text": ". Events can be either:\n- " + }, + { + "kind": "code", + "text": "`'domcontentloaded'`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when the " + }, + { + "kind": "code", + "text": "`DOMContentLoaded`" + }, + { + "kind": "text", + "text": " event is fired.\n- " + }, + { + "kind": "code", + "text": "`'load'`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when the " + }, + { + "kind": "code", + "text": "`load`" + }, + { + "kind": "text", + "text": " event is fired.\n- " + }, + { + "kind": "code", + "text": "`'networkidle'`" + }, + { + "kind": "text", + "text": " - **DISCOURAGED** consider operation to be finished when there are no network connections for\n at least " + }, + { + "kind": "code", + "text": "`500`" + }, + { + "kind": "text", + "text": " ms. Don't use this method for testing, rely on web assertions to assess readiness instead.\n- " + }, + { + "kind": "code", + "text": "`'commit'`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when network response is received and the document started\n loading." + } + ] + }, + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 3044, + "character": 4 + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "domcontentloaded" + }, + { + "type": "literal", + "value": "load" + }, + { + "type": "literal", + "value": "networkidle" + }, + { + "type": "literal", + "value": "commit" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 10387, + 10388, + 10389 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/playwright-core/types/types.d.ts", + "line": 3018, + "character": 30 + } + ] + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7112, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + }, + { + "type": "reference", + "target": 10393, + "name": "PlaywrightGotoOptions", + "package": "@crawlee/playwright" + } + ], + "name": "BrowserHook", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 11110, + "name": "PlaywrightLaunchContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Apify extends the launch options of Playwright.\nYou can use any of the Playwright compatible\n[" + }, + { + "kind": "code", + "text": "`LaunchOptions`" + }, + { + "kind": "text", + "text": "](https://playwright.dev/docs/api/class-browsertype#browsertypelaunchoptions)\noptions by providing the " + }, + { + "kind": "code", + "text": "`launchOptions`" + }, + { + "kind": "text", + "text": " property.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```js\n// launch a headless Chrome (not Chromium)\nconst launchContext = {\n // Apify helpers\n useChrome: true,\n proxyUrl: 'http://user:password@some.proxy.com'\n // Native Playwright options\n launchOptions: {\n headless: true,\n args: ['--some-flag'],\n }\n}\n```" + } + ] + }, + "children": [ + { + "id": 11119, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler respects the proxy url generated for the given request.\nThis aligns the browser-based crawlers with the " + }, + { + "kind": "code", + "text": "`HttpCrawler`" + }, + { + "kind": "text", + "text": ".\n\nMight cause performance issues, as Crawlee might launch too many browser instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7415, + "name": "BrowserLaunchContext.browserPerProxy" + } + }, + { + "id": 11115, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Like " + }, + { + "kind": "code", + "text": "`useIncognitoPages`" + }, + { + "kind": "text", + "text": ", but for persistent contexts, so cache is used for faster loading.\nWorks best with Firefox. Unstable on Chromium." + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L63" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "overwrites": { + "type": "reference", + "target": 7417, + "name": "BrowserLaunchContext.experimentalContainers" + } + }, + { + "id": 11111, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`browserType.launch`" + }, + { + "kind": "text", + "text": " [options](https://playwright.dev/docs/api/class-browsertype#browser-type-launch)" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L30" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + }, + "overwrites": { + "type": "reference", + "target": 7421, + "name": "BrowserLaunchContext.launchOptions" + } + }, + { + "id": 11117, + "name": "launcher", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "By default this function uses " + }, + { + "kind": "code", + "text": "`require(\"playwright\").chromium`" + }, + { + "kind": "text", + "text": ".\nIf you want to use a different browser you can pass it by this property as e.g. " + }, + { + "kind": "code", + "text": "`require(\"playwright\").firefox`" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L76" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 11118, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {} + } + } + ], + "name": "BrowserType", + "package": "playwright-core" + }, + "overwrites": { + "type": "reference", + "target": 7420, + "name": "BrowserLaunchContext.launcher" + } + }, + { + "id": 11112, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URL to a HTTP proxy server. It must define the port number,\nand it may also contain proxy username and password.\n\nExample: " + }, + { + "kind": "code", + "text": "`http://bob:pass123@proxy.example.com:1234`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 38, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L38" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "target": 7413, + "name": "BrowserLaunchContext.proxyUrl" + } + }, + { + "id": 11113, + "name": "useChrome", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`executablePath`" + }, + { + "kind": "text", + "text": " is not set,\nPlaywright will launch full Google Chrome browser available on the machine\nrather than the bundled Chromium. The path to Chrome executable\nis taken from the " + }, + { + "kind": "code", + "text": "`CRAWLEE_CHROME_EXECUTABLE_PATH`" + }, + { + "kind": "text", + "text": " environment variable if provided,\nor defaults to the typical Google Chrome executable location specific for the operating system.\nBy default, this option is " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 49, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L49" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "overwrites": { + "type": "reference", + "target": 7414, + "name": "BrowserLaunchContext.useChrome" + } + }, + { + "id": 11114, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "With this option selected, all pages will be opened in a new incognito browser context.\nThis means they will not share cookies nor cache and their resources will not be throttled by one another." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L56" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "overwrites": { + "type": "reference", + "target": 7416, + "name": "BrowserLaunchContext.useIncognitoPages" + } + }, + { + "id": 11120, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`User-Agent`" + }, + { + "kind": "text", + "text": " HTTP header used by the browser.\nIf not provided, the function sets " + }, + { + "kind": "code", + "text": "`User-Agent`" + }, + { + "kind": "text", + "text": " to a reasonable default\nto reduce the chance of detection of the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L68" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7419, + "name": "BrowserLaunchContext.userAgent" + } + }, + { + "id": 11116, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the [User Data Directory](https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md) path.\nThe user data directory contains profile data such as history, bookmarks, and cookies, as well as other per-installation local state.\nIf not specified, a temporary directory is used instead." + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 70, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L70" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "target": 7418, + "name": "BrowserLaunchContext.userDataDir" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 11119, + 11115, + 11111, + 11117, + 11112, + 11113, + 11114, + 11120, + 11116 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 28, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L28" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7412, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "playwright-core" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "BrowserType" + }, + "name": "BrowserType", + "package": "playwright-core" + } + ], + "name": "BrowserLaunchContext", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 10390, + "name": "PlaywrightRequestHandler", + "variant": "declaration", + "kind": 256, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L23" + } + ], + "signatures": [ + { + "id": 10391, + "name": "PlaywrightRequestHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L23" + } + ], + "parameters": [ + { + "id": 10392, + "name": "inputs", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7108, + "typeArguments": [ + { + "type": "reference", + "target": 10317, + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + ], + "name": "BrowserRequestHandler", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 10393, + "name": "PlaywrightGotoOptions", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 24, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L24" + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 1 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "goto" + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "playwright-core" + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 10130, + "name": "RenderingType", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/utils/rendering-type-prediction.ts", + "line": 5, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/utils/rendering-type-prediction.ts#L5" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "clientOnly" + }, + { + "type": "literal", + "value": "static" + } + ] + } + }, + { + "id": 11166, + "name": "createAdaptivePlaywrightRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 372, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L372" + } + ], + "signatures": [ + { + "id": 11167, + "name": "createAdaptivePlaywrightRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "line": 372, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts#L372" + } + ], + "typeParameter": [ + { + "id": 11168, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 11171, + "name": "AdaptivePlaywrightCrawlerContext", + "package": "@crawlee/playwright" + }, + "default": { + "type": "reference", + "target": 11171, + "name": "AdaptivePlaywrightCrawlerContext", + "package": "@crawlee/playwright" + } + }, + { + "id": 11169, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 11168, + "name": "Context", + "package": "@crawlee/playwright", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 11170, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 11168, + "name": "Context", + "package": "@crawlee/playwright", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 11169, + "name": "UserData", + "package": "@crawlee/playwright", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 11168, + "name": "Context", + "package": "@crawlee/playwright", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 10312, + "name": "createPlaywrightRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 272, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L272" + } + ], + "signatures": [ + { + "id": 10313, + "name": "createPlaywrightRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that works based on request labels.\nThis instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawler" + }, + { + "kind": "text", + "text": ".\nDefaults to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightCrawlingContext" + }, + { + "kind": "text", + "text": ".\n\n> Serves as a shortcut for using " + }, + { + "kind": "code", + "text": "`Router.create()`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { PlaywrightCrawler, createPlaywrightRouter } from 'crawlee';\n\nconst router = createPlaywrightRouter();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new PlaywrightCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-crawler.ts", + "line": 272, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-crawler.ts#L272" + } + ], + "typeParameter": [ + { + "id": 10314, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + }, + "default": { + "type": "reference", + "target": 10317, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PlaywrightCrawlingContext", + "package": "@crawlee/playwright" + } + }, + { + "id": 10315, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 10314, + "name": "Context", + "package": "@crawlee/playwright", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 10316, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 10314, + "name": "Context", + "package": "@crawlee/playwright", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 10315, + "name": "UserData", + "package": "@crawlee/playwright", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 10314, + "name": "Context", + "package": "@crawlee/playwright", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 11106, + "name": "launchPlaywright", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 174, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L174" + } + ], + "signatures": [ + { + "id": 11107, + "name": "launchPlaywright", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Launches headless browsers using Playwright pre-configured to work within the Apify platform.\nThe function has the same return value as " + }, + { + "kind": "code", + "text": "`browserType.launch()`" + }, + { + "kind": "text", + "text": ".\nSee [Playwright documentation](https://playwright.dev/docs/api/class-browsertype) for more details.\n\nThe " + }, + { + "kind": "code", + "text": "`launchPlaywright()`" + }, + { + "kind": "text", + "text": " function alters the following Playwright options:\n\n- Passes the setting from the " + }, + { + "kind": "code", + "text": "`CRAWLEE_HEADLESS`" + }, + { + "kind": "text", + "text": " environment variable to the " + }, + { + "kind": "code", + "text": "`headless`" + }, + { + "kind": "text", + "text": " option,\n unless it was already defined by the caller or " + }, + { + "kind": "code", + "text": "`CRAWLEE_XVFB`" + }, + { + "kind": "text", + "text": " environment variable is set to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ".\n Note that Apify Actor cloud platform automatically sets " + }, + { + "kind": "code", + "text": "`CRAWLEE_HEADLESS=1`" + }, + { + "kind": "text", + "text": " to all running actors.\n- Takes the " + }, + { + "kind": "code", + "text": "`proxyUrl`" + }, + { + "kind": "text", + "text": " option, validates it and adds it to " + }, + { + "kind": "code", + "text": "`launchOptions`" + }, + { + "kind": "text", + "text": " in a proper format.\n The proxy URL must define a port number and have one of the following schemes: " + }, + { + "kind": "code", + "text": "`http://`" + }, + { + "kind": "text", + "text": ",\n " + }, + { + "kind": "code", + "text": "`https://`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`socks4://`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`socks5://`" + }, + { + "kind": "text", + "text": ".\n If the proxy is HTTP (i.e. has the " + }, + { + "kind": "code", + "text": "`http://`" + }, + { + "kind": "text", + "text": " scheme) and contains username or password,\n the " + }, + { + "kind": "code", + "text": "`launchPlaywright`" + }, + { + "kind": "text", + "text": " functions sets up an anonymous proxy HTTP\n to make the proxy work with headless Chrome. For more information, read the\n [blog post about proxy-chain library](https://blog.apify.com/how-to-make-headless-chrome-and-puppeteer-use-a-proxy-server-with-authentication-249a21a79212).\n\nTo use this function, you need to have the [Playwright](https://www.npmjs.com/package/playwright)\nNPM package installed in your project.\nWhen running on the Apify Platform, you can achieve that simply\nby using the " + }, + { + "kind": "code", + "text": "`apify/actor-node-playwright-*`" + }, + { + "kind": "text", + "text": " base Docker image for your actor - see\n[Apify Actor documentation](https://docs.apify.com/actor/build#base-images)\nfor details." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to Playwright's " + }, + { + "kind": "code", + "text": "`Browser`" + }, + { + "kind": "text", + "text": " instance." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/playwright-crawler/src/internals/playwright-launcher.ts", + "line": 174, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/internals/playwright-launcher.ts#L174" + } + ], + "parameters": [ + { + "id": 11108, + "name": "launchContext", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional settings passed to " + }, + { + "kind": "code", + "text": "`browserType.launch()`" + }, + { + "kind": "text", + "text": ". In addition to\n [Playwright's options](https://playwright.dev/docs/api/class-browsertype?_highlight=launch#browsertypelaunchoptions)\n the object may contain our own " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PlaywrightLaunchContext" + }, + { + "kind": "text", + "text": " that enable additional features." + } + ] + }, + "type": { + "type": "reference", + "target": 11110, + "name": "PlaywrightLaunchContext", + "package": "@crawlee/playwright" + } + }, + { + "id": 11109, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "playwright-core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 10265, + 10266, + 10144, + 10143, + 10301, + 10228, + 10296, + 10294, + 10289, + 10309, + 10308, + 10304, + 10306, + 10307, + 10310, + 10305, + 10149, + 10153, + 10152, + 10136, + 10298, + 10299, + 10295, + 10300, + 10155, + 10297, + 10225, + 10139, + 10241, + 10242, + 10246, + 10237, + 10238, + 10240, + 10239, + 10243, + 10245, + 10244, + 10171, + 10172, + 10164, + 10291, + 10168, + 10166, + 10165, + 10193, + 10191, + 10192, + 10150, + 10214, + 10187, + 10186, + 10267, + 10249, + 10248, + 10252, + 10250, + 10194, + 10196, + 10198, + 10199, + 10200, + 10197, + 10201, + 10230, + 10138, + 10229, + 10159, + 10129, + 10206, + 10202, + 10203, + 10205, + 10131, + 10185, + 10184, + 10210, + 10137, + 10251, + 10189, + 10188, + 10208, + 10290, + 10156, + 10256, + 10255, + 10258, + 10257, + 10209, + 10259, + 10260, + 10232, + 10263, + 10261, + 10231, + 10233, + 10207, + 10190, + 10154, + 10141, + 10216, + 10213, + 10215, + 10224, + 10142, + 10223, + 10227, + 10226, + 10222, + 10167, + 10146, + 10145, + 10211, + 10162, + 10163, + 10160, + 10161, + 10293, + 10292, + 10135, + 10269, + 10147, + 10151, + 10148, + 10204, + 10183, + 10273, + 10279, + 10288, + 10169, + 10180, + 10195, + 10270, + 10182, + 10271, + 10280 + ] + }, + { + "title": "Namespaces", + "children": [ + 10076, + 9915 + ] + }, + { + "title": "Classes", + "children": [ + 11421, + 10600 + ] + }, + { + "title": "Interfaces", + "children": [ + 11171, + 11204, + 10394, + 10317, + 10382, + 11110, + 10390 + ] + }, + { + "title": "Type Aliases", + "children": [ + 10393, + 10130 + ] + }, + { + "title": "Functions", + "children": [ + 11166, + 10312, + 11106 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 10600 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 10265, + 10266, + 10144, + 10143, + 10301, + 10228, + 10296, + 10294, + 10289, + 10309, + 10308, + 10304, + 10306, + 10307, + 10310, + 10305, + 10149, + 10153, + 10152, + 10136, + 10298, + 10299, + 10295, + 10300, + 10155, + 10297, + 10225, + 10139, + 10241, + 10242, + 10246, + 10237, + 10238, + 10240, + 10239, + 10243, + 10245, + 10244, + 10171, + 10172, + 10164, + 10291, + 10168, + 10166, + 10165, + 10193, + 10191, + 10192, + 10150, + 10214, + 10187, + 10186, + 10267, + 10249, + 10248, + 10252, + 10250, + 10194, + 10196, + 10198, + 10199, + 10200, + 10197, + 10201, + 10230, + 10138, + 10229, + 10159, + 10129, + 10206, + 10202, + 10203, + 10205, + 10131, + 10185, + 10184, + 10210, + 10137, + 10251, + 10189, + 10188, + 10208, + 10290, + 10156, + 10256, + 10255, + 10258, + 10257, + 10209, + 10259, + 10260, + 10232, + 10263, + 10261, + 10231, + 10233, + 10207, + 10190, + 10154, + 10141, + 10216, + 10213, + 10215, + 10224, + 10142, + 10223, + 10227, + 10226, + 10222, + 10167, + 10146, + 10145, + 10211, + 10162, + 10163, + 10160, + 10161, + 10293, + 10292, + 10135, + 10269, + 10147, + 10151, + 10148, + 10204, + 10183, + 10273, + 10279, + 10288, + 10169, + 10180, + 10195, + 10270, + 10182, + 10271, + 10280, + 10076, + 9915, + 11421, + 11171, + 11204, + 10394, + 10317, + 10382, + 11110, + 10390, + 10393, + 10130, + 11166, + 10312, + 11106 + ] + } + ], + "sources": [ + { + "fileName": "packages/playwright-crawler/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/playwright-crawler/src/index.ts#L1" + } + ] + }, + { + "id": 7, + "name": "puppeteer-crawler/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 9436, + "name": "AddRequestsBatchedOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 772, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L772" + } + ], + "target": 3010 + }, + { + "id": 9437, + "name": "AddRequestsBatchedResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 790, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L790" + } + ], + "target": 3016 + }, + { + "id": 9315, + "name": "AutoscaledPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 179, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L179" + } + ], + "target": 200 + }, + { + "id": 9314, + "name": "AutoscaledPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/autoscaled_pool.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/autoscaled_pool.ts#L15" + } + ], + "target": 176 + }, + { + "id": 9472, + "name": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/constants.ts", + "line": 6, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/constants.ts#L6" + } + ], + "target": 6883 + }, + { + "id": 9399, + "name": "BLOCKED_STATUS_CODES", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L1" + } + ], + "target": 2334 + }, + { + "id": 9467, + "name": "BasicCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 431, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L431" + } + ], + "target": 6657 + }, + { + "id": 9465, + "name": "BasicCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 121, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L121" + } + ], + "target": 6627 + }, + { + "id": 9460, + "name": "BasicCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 62, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L62" + } + ], + "target": 6550 + }, + { + "id": 9265, + "name": "BlockRequestsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L10" + } + ], + "target": 9115 + }, + { + "id": 9480, + "name": "BrowserCrawler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 302, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L302" + } + ], + "target": 7160 + }, + { + "id": 9479, + "name": "BrowserCrawlerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 68, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L68" + } + ], + "target": 7119 + }, + { + "id": 9475, + "name": "BrowserCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 47, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L47" + } + ], + "target": 7065 + }, + { + "id": 9477, + "name": "BrowserErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 61, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L61" + } + ], + "target": 7110 + }, + { + "id": 9478, + "name": "BrowserHook", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 63, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L63" + } + ], + "target": 7112 + }, + { + "id": 9481, + "name": "BrowserLaunchContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L14" + } + ], + "target": 7412 + }, + { + "id": 9476, + "name": "BrowserRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 59, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L59" + } + ], + "target": 7108 + }, + { + "id": 9320, + "name": "ClientInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L79" + } + ], + "target": 396 + }, + { + "id": 9266, + "name": "CompiledScriptFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 11, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L11" + } + ], + "target": 9121 + }, + { + "id": 9267, + "name": "CompiledScriptParams", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 12, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L12" + } + ], + "target": 9118 + }, + { + "id": 9324, + "name": "Configuration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 230, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L230" + } + ], + "target": 490 + }, + { + "id": 9323, + "name": "ConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/configuration.ts", + "line": 15, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/configuration.ts#L15" + } + ], + "target": 448 + }, + { + "id": 9307, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 60, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 59 + }, + { + "id": 9469, + "name": "CrawlerAddRequestsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1643, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1643" + } + ], + "target": 6867 + }, + { + "id": 9470, + "name": "CrawlerAddRequestsResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1645, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1645" + } + ], + "target": 6873 + }, + { + "id": 9466, + "name": "CrawlerExperiments", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 357, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L357" + } + ], + "target": 6655 + }, + { + "id": 9471, + "name": "CrawlerRunOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1647, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1647" + } + ], + "target": 6876 + }, + { + "id": 9326, + "name": "CrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L85" + } + ], + "target": 620 + }, + { + "id": 9468, + "name": "CreateContextOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1637, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1637" + } + ], + "target": 6863 + }, + { + "id": 9396, + "name": "CreateSession", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 21, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L21" + } + ], + "target": 2112 + }, + { + "id": 9310, + "name": "CriticalError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L10" + } + ], + "target": 98 + }, + { + "id": 9412, + "name": "Dataset", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 224, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L224" + } + ], + "target": 2572 + }, + { + "id": 9413, + "name": "DatasetConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 621, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L621" + } + ], + "target": 2647 + }, + { + "id": 9417, + "name": "DatasetContent", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 665, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L665" + } + ], + "target": 2669 + }, + { + "id": 9408, + "name": "DatasetDataOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 91, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L91" + } + ], + "target": 2537 + }, + { + "id": 9409, + "name": "DatasetExportOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L143" + } + ], + "target": 2546 + }, + { + "id": 9411, + "name": "DatasetExportToOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 168, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L168" + } + ], + "target": 2563 + }, + { + "id": 9410, + "name": "DatasetIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 145, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L145" + } + ], + "target": 2553 + }, + { + "id": 9414, + "name": "DatasetMapper", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 634, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L634" + } + ], + "target": 2652 + }, + { + "id": 9416, + "name": "DatasetOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 659, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L659" + } + ], + "target": 2665 + }, + { + "id": 9415, + "name": "DatasetReducer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/dataset.ts", + "line": 648, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/dataset.ts#L648" + } + ], + "target": 2658 + }, + { + "id": 9301, + "name": "EnqueueLinksByClickingElementsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 20, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L20" + } + ], + "target": 9286 + }, + { + "id": 9342, + "name": "EnqueueLinksOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 19, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L19" + } + ], + "target": 973 + }, + { + "id": 9343, + "name": "EnqueueStrategy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 177, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L177" + } + ], + "target": 990 + }, + { + "id": 9335, + "name": "ErrnoException", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 9, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L9" + } + ], + "target": 873 + }, + { + "id": 9462, + "name": "ErrorHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 104, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L104" + } + ], + "target": 6608 + }, + { + "id": 9339, + "name": "ErrorSnapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 35, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L35" + } + ], + "target": 923 + }, + { + "id": 9337, + "name": "ErrorTracker", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 283, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L283" + } + ], + "target": 890 + }, + { + "id": 9336, + "name": "ErrorTrackerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_tracker.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_tracker.ts#L17" + } + ], + "target": 882 + }, + { + "id": 9364, + "name": "EventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 23, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L23" + } + ], + "target": 1060 + }, + { + "id": 9362, + "name": "EventType", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 8, + "character": 18, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L8" + } + ], + "target": 1053 + }, + { + "id": 9363, + "name": "EventTypeName", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/event_manager.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/event_manager.ts#L16" + } + ], + "target": 1059 + }, + { + "id": 9321, + "name": "FinalStatistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 85, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L85" + } + ], + "target": 400 + }, + { + "id": 9385, + "name": "GetUserDataFromRequest", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 14, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L14" + } + ], + "target": 1929 + }, + { + "id": 9358, + "name": "GlobInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 33, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L33" + } + ], + "target": 1045 + }, + { + "id": 9357, + "name": "GlobObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 31, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L31" + } + ], + "target": 1042 + }, + { + "id": 9438, + "name": "IStorage", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 14, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L14" + } + ], + "target": 3019 + }, + { + "id": 9269, + "name": "InfiniteScrollOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 14, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L14" + } + ], + "target": 9129 + }, + { + "id": 9270, + "name": "InjectFileOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 15, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L15" + } + ], + "target": 9113 + }, + { + "id": 9053, + "name": "InterceptHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 6, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L6" + } + ], + "target": 9049 + }, + { + "id": 9420, + "name": "KeyConsumer", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 660, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L660" + } + ], + "target": 2761 + }, + { + "id": 9419, + "name": "KeyValueStore", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 104, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L104" + } + ], + "target": 2684 + }, + { + "id": 9423, + "name": "KeyValueStoreIteratorOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 683, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L683" + } + ], + "target": 2774 + }, + { + "id": 9421, + "name": "KeyValueStoreOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 670, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L670" + } + ], + "target": 2768 + }, + { + "id": 9365, + "name": "LocalEventManager", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/events/local_event_manager.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/events/local_event_manager.ts#L10" + } + ], + "target": 1103 + }, + { + "id": 9367, + "name": "Log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L5" + } + ], + "target": 1182 + }, + { + "id": 9369, + "name": "LogLevel", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L7" + } + ], + "target": 1252 + }, + { + "id": 9370, + "name": "Logger", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L8" + } + ], + "target": 1260 + }, + { + "id": 9371, + "name": "LoggerJson", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 9, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L9" + } + ], + "target": 1416 + }, + { + "id": 9368, + "name": "LoggerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L6" + } + ], + "target": 1244 + }, + { + "id": 9372, + "name": "LoggerText", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L10" + } + ], + "target": 1573 + }, + { + "id": 9401, + "name": "MAX_POOL_SIZE", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 3, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L3" + } + ], + "target": 2336 + }, + { + "id": 9309, + "name": "NonRetryableError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 4, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L4" + } + ], + "target": 77 + }, + { + "id": 9400, + "name": "PERSIST_STATE_KEY", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/consts.ts", + "line": 2, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/consts.ts#L2" + } + ], + "target": 2335 + }, + { + "id": 9330, + "name": "PersistenceOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 45, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L45" + } + ], + "target": 756 + }, + { + "id": 9377, + "name": "ProxyConfiguration", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 198, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L198" + } + ], + "target": 1756 + }, + { + "id": 9373, + "name": "ProxyConfigurationFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 8, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L8" + } + ], + "target": 1735 + }, + { + "id": 9374, + "name": "ProxyConfigurationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 12, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L12" + } + ], + "target": 1741 + }, + { + "id": 9376, + "name": "ProxyInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 75, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L75" + } + ], + "target": 1748 + }, + { + "id": 9302, + "name": "PseudoUrl", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 16, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L16" + } + ], + "target": 14 + }, + { + "id": 9356, + "name": "PseudoUrlInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 29, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L29" + } + ], + "target": 1041 + }, + { + "id": 9355, + "name": "PseudoUrlObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 27, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L27" + } + ], + "target": 1038 + }, + { + "id": 9268, + "name": "PuppeteerDirectNavigationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 13, + "character": 31, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L13" + } + ], + "target": 9109 + }, + { + "id": 9381, + "name": "PushErrorMessageOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 522, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L522" + } + ], + "target": 1885 + }, + { + "id": 9308, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 68, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 73 + }, + { + "id": 9422, + "name": "RecordOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/key_value_store.ts", + "line": 676, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/key_value_store.ts#L676" + } + ], + "target": 2772 + }, + { + "id": 9360, + "name": "RegExpInput", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L37" + } + ], + "target": 1049 + }, + { + "id": 9359, + "name": "RegExpObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 35, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L35" + } + ], + "target": 1046 + }, + { + "id": 9379, + "name": "Request", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 81, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L81" + } + ], + "target": 1808 + }, + { + "id": 9461, + "name": "RequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 102, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L102" + } + ], + "target": 6603 + }, + { + "id": 9327, + "name": "RequestHandlerResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 156, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L156" + } + ], + "target": 657 + }, + { + "id": 9427, + "name": "RequestList", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 232, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L232" + } + ], + "target": 2787 + }, + { + "id": 9426, + "name": "RequestListOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L23" + } + ], + "target": 2778 + }, + { + "id": 9429, + "name": "RequestListSourcesFunction", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 909, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L909" + } + ], + "target": 2886 + }, + { + "id": 9428, + "name": "RequestListState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_list.ts", + "line": 895, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_list.ts#L895" + } + ], + "target": 2882 + }, + { + "id": 9380, + "name": "RequestOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L422" + } + ], + "target": 1867 + }, + { + "id": 9430, + "name": "RequestProvider", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 30, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L30" + } + ], + "target": 2889 + }, + { + "id": 9431, + "name": "RequestProviderOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 720, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L720" + } + ], + "target": 2984 + }, + { + "id": 9403, + "name": "RequestQueue", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 6, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L6" + } + ], + "target": 2431 + }, + { + "id": 9434, + "name": "RequestQueueOperationOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 747, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L747" + } + ], + "target": 3002 + }, + { + "id": 9432, + "name": "RequestQueueOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/request_provider.ts", + "line": 736, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/request_provider.ts#L736" + } + ], + "target": 2989 + }, + { + "id": 9402, + "name": "RequestQueueV1", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 5, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L5" + } + ], + "target": 2337 + }, + { + "id": 9404, + "name": "RequestQueueV2", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/index.ts", + "line": 7, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/index.ts#L7" + } + ], + "target": 2525 + }, + { + "id": 9378, + "name": "RequestState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 39, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L39" + } + ], + "target": 1799 + }, + { + "id": 9361, + "name": "RequestTransform", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 260, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L260" + } + ], + "target": 1050 + }, + { + "id": 9325, + "name": "RestrictedCrawlingContext", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 17, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L17" + } + ], + "target": 590 + }, + { + "id": 9312, + "name": "RetryRequestError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 22, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L22" + } + ], + "target": 140 + }, + { + "id": 9387, + "name": "Router", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 85, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L85" + } + ], + "target": 1939 + }, + { + "id": 9384, + "name": "RouterHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L10" + } + ], + "target": 1894 + }, + { + "id": 9386, + "name": "RouterRoutes", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/router.ts", + "line": 16, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/router.ts#L16" + } + ], + "target": 1931 + }, + { + "id": 9271, + "name": "SaveSnapshotOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 16, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L16" + } + ], + "target": 9138 + }, + { + "id": 9395, + "name": "Session", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 96, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L96" + } + ], + "target": 2047 + }, + { + "id": 9313, + "name": "SessionError", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/errors.ts", + "line": 33, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/errors.ts#L33" + } + ], + "target": 158 + }, + { + "id": 9394, + "name": "SessionOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 31, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L31" + } + ], + "target": 2033 + }, + { + "id": 9398, + "name": "SessionPool", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 136, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L136" + } + ], + "target": 2127 + }, + { + "id": 9397, + "name": "SessionPoolOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session_pool.ts", + "line": 29, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session_pool.ts#L29" + } + ], + "target": 2118 + }, + { + "id": 9393, + "name": "SessionState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/session_pool/session.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/session_pool/session.ts#L18" + } + ], + "target": 2022 + }, + { + "id": 9338, + "name": "SnapshotResult", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/error_snapshotter.ts", + "line": 16, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/error_snapshotter.ts#L16" + } + ], + "target": 920 + }, + { + "id": 9317, + "name": "Snapshotter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 100, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L100" + } + ], + "target": 308 + }, + { + "id": 9316, + "name": "SnapshotterOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/snapshotter.ts", + "line": 18, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/snapshotter.ts#L18" + } + ], + "target": 298 + }, + { + "id": 9382, + "name": "Source", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "target": 1887 + }, + { + "id": 9333, + "name": "StatisticPersistedState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 462, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L462" + } + ], + "target": 832 + }, + { + "id": 9334, + "name": "StatisticState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 479, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L479" + } + ], + "target": 856 + }, + { + "id": 9331, + "name": "Statistics", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 63, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L63" + } + ], + "target": 758 + }, + { + "id": 9332, + "name": "StatisticsOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/statistics.ts", + "line": 422, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/statistics.ts#L422" + } + ], + "target": 825 + }, + { + "id": 9464, + "name": "StatusMessageCallback", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 116, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L116" + } + ], + "target": 6621 + }, + { + "id": 9463, + "name": "StatusMessageCallbackParams", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 106, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L106" + } + ], + "target": 6614 + }, + { + "id": 9306, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/index.ts", + "line": 17, + "character": 45, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/index.ts#L17" + } + ], + "target": 31 + }, + { + "id": 9440, + "name": "StorageManagerOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/storage_manager.ts", + "line": 151, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/storage_manager.ts#L151" + } + ], + "target": 3092 + }, + { + "id": 9318, + "name": "SystemInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 10, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L10" + } + ], + "target": 378 + }, + { + "id": 9322, + "name": "SystemStatus", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 120, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L120" + } + ], + "target": 411 + }, + { + "id": 9319, + "name": "SystemStatusOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/autoscaling/system_status.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/autoscaling/system_status.ts#L35" + } + ], + "target": 388 + }, + { + "id": 9375, + "name": "TieredProxy", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/proxy_configuration.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/proxy_configuration.ts#L40" + } + ], + "target": 1745 + }, + { + "id": 9354, + "name": "UrlPatternObject", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 22, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L22" + } + ], + "target": 1034 + }, + { + "id": 9444, + "name": "UseStateOptions", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L69" + } + ], + "target": 3111 + }, + { + "id": 9450, + "name": "checkStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 10, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L10" + } + ], + "target": 3119 + }, + { + "id": 9459, + "name": "createBasicRouter", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 1689, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L1689" + } + ], + "target": 6545 + }, + { + "id": 9340, + "name": "enqueueLinks", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/enqueue_links.ts", + "line": 235, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/enqueue_links.ts#L235" + } + ], + "target": 950 + }, + { + "id": 9351, + "name": "filterRequestsByPatterns", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 192, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L192" + } + ], + "target": 1022 + }, + { + "id": 9366, + "name": "log", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/log.ts", + "line": 4, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/log.ts#L4" + } + ], + "target": 1181 + }, + { + "id": 9441, + "name": "purgeDefaultStorages", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L33" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 45, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L45" + }, + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 46, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L46" + } + ], + "target": 3096 + }, + { + "id": 9353, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/enqueue_links/shared.ts", + "line": 10, + "character": 9, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/enqueue_links/shared.ts#L10" + } + ], + "target": 1030 + }, + { + "id": 9442, + "name": "useState", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/utils.ts", + "line": 87, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/utils.ts#L87" + } + ], + "target": 3102 + }, + { + "id": 9451, + "name": "withCheckedStorageAccess", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/storages/access_checking.ts", + "line": 18, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/storages/access_checking.ts#L18" + } + ], + "target": 3121 + }, + { + "id": 9272, + "name": "puppeteerClickElements", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 9273, + "name": "enqueueLinksByClickingElements", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 219, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L219" + } + ], + "target": 9185 + }, + { + "id": 9286, + "name": "EnqueueLinksByClickingElementsOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9292, + "name": "clickOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Click options for use in Puppeteer's click handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 61, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L61" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "ClickOptions" + }, + "name": "ClickOptions", + "package": "puppeteer" + } + }, + { + "id": 9299, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ":\n - while adding the request to the queue: the request will be added to the foremost position in the queue.\n - while reclaiming the request: the request will be placed to the beginning of the queue, so that it's returned\n in the next call to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue.fetchNextRequest" + }, + { + "kind": "text", + "text": ".\nBy default, it's put to the end of the queue." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L169" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 9293, + "name": "globs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of glob pattern strings or plain objects\ncontaining glob pattern strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`glob`" + }, + { + "kind": "text", + "text": " property, which holds the glob pattern string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nThe matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues all the intercepted navigation requests produced by the page\nafter clicking on elements matching the provided CSS selector." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 77, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L77" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1045, + "name": "GlobInput", + "package": "@crawlee/core" + } + } + }, + { + "id": 9291, + "name": "label", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.label" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L56" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9298, + "name": "maxWaitForPageIdleSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This is the maximum period for which the function will keep tracking events, even if more events keep coming.\nIts purpose is to prevent a deadlock in the page by periodic events, often unrelated to the clicking itself.\nSee " + }, + { + "kind": "code", + "text": "`waitForPageIdleSecs`" + }, + { + "kind": "text", + "text": " above for an explanation." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n5\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 159, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L159" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 9287, + "name": "page", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/#?product=Puppeteer&show=api-class-page) object." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 39, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L39" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9295, + "name": "pseudoUrls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "*NOTE:* In future versions of SDK the options will be removed.\nPlease use " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead.\n\nAn array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings or plain objects\ncontaining " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " strings matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`purl`" + }, + { + "kind": "text", + "text": " property, which holds the pseudo-URL pattern string.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nWith a pseudo-URL string, the matching is always case-insensitive.\nIf you need case-sensitive matching, use " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " property directly.\n\nIf " + }, + { + "kind": "code", + "text": "`pseudoUrls`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues all the intercepted navigation requests produced by the page\nafter clicking on elements matching the provided CSS selector." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [ + { + "kind": "text", + "text": "prefer using " + }, + { + "kind": "code", + "text": "`globs`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " instead" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 111, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L111" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1041, + "name": "PseudoUrlInput", + "package": "@crawlee/core" + } + } + }, + { + "id": 9294, + "name": "regexps", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An array of regular expressions or plain objects\ncontaining regular expressions matching the URLs to be enqueued.\n\nThe plain objects must include at least the " + }, + { + "kind": "code", + "text": "`regexp`" + }, + { + "kind": "text", + "text": " property, which holds the regular expression.\nAll remaining keys will be used as request options for the corresponding enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nIf " + }, + { + "kind": "code", + "text": "`regexps`" + }, + { + "kind": "text", + "text": " is an empty array or " + }, + { + "kind": "code", + "text": "`undefined`" + }, + { + "kind": "text", + "text": ", then the function\nenqueues all the intercepted navigation requests produced by the page\nafter clicking on elements matching the provided CSS selector." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L90" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 1049, + "name": "RegExpInput", + "package": "@crawlee/core" + } + } + }, + { + "id": 9288, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A request queue to which the URLs will be enqueued." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 44, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L44" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + }, + { + "id": 9289, + "name": "selector", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A CSS selector matching elements to be clicked on. Unlike in " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": ", there is no default\nvalue. This is to prevent suboptimal use of this function by using it too broadly." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 50, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L50" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9300, + "name": "skipNavigation", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", tells the crawler to skip navigation and process the request directly." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 175, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L175" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 9296, + "name": "transformRequestFunction", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Just before a new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " is constructed and enqueued to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ", this function can be used\nto remove it or modify its contents such as " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`payload`" + }, + { + "kind": "text", + "text": " or, most importantly " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": ". This is useful\nwhen you need to enqueue multiple " + }, + { + "kind": "code", + "text": "`Requests`" + }, + { + "kind": "text", + "text": " to the queue that share the same URL, but differ in methods or payloads,\nor to dynamically update or create " + }, + { + "kind": "code", + "text": "`userData`" + }, + { + "kind": "text", + "text": ".\n\nFor example: by adding " + }, + { + "kind": "code", + "text": "`useExtendedUniqueKey: true`" + }, + { + "kind": "text", + "text": " to the " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " object, " + }, + { + "kind": "code", + "text": "`uniqueKey`" + }, + { + "kind": "text", + "text": " will be computed from\na combination of " + }, + { + "kind": "code", + "text": "`url`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`method`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`payload`" + }, + { + "kind": "text", + "text": " which enables crawling of websites that navigate using form submits\n(POST requests).\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```javascript\n{\n transformRequestFunction: (request) => {\n request.userData.foo = 'bar';\n request.useExtendedUniqueKey = true;\n return request;\n }\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 134, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L134" + } + ], + "type": { + "type": "reference", + "target": 1050, + "name": "RequestTransform", + "package": "@crawlee/core" + } + }, + { + "id": 9290, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.userData" + }, + { + "kind": "text", + "text": " for newly enqueued requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 53, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L53" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 9297, + "name": "waitForPageIdleSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Clicking in the page triggers various asynchronous operations that lead to new URLs being shown\nby the browser. It could be a simple JavaScript redirect or opening of a new tab in the browser.\nThese events often happen only some time after the actual click. Requests typically take milliseconds\nwhile new tabs open in hundreds of milliseconds.\n\nTo be able to capture all those events, the " + }, + { + "kind": "code", + "text": "`enqueueLinksByClickingElements()`" + }, + { + "kind": "text", + "text": " function repeatedly waits\nfor the " + }, + { + "kind": "code", + "text": "`waitForPageIdleSecs`" + }, + { + "kind": "text", + "text": ". By repeatedly we mean that whenever a relevant event is triggered, the timer\nis restarted. As long as new events keep coming, the function will not return, unless\nthe below " + }, + { + "kind": "code", + "text": "`maxWaitForPageIdleSecs`" + }, + { + "kind": "text", + "text": " timeout is reached.\n\nYou may want to reduce this for example when you're sure that your clicks do not open new tabs,\nor increase when you're not getting all the expected URLs." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n1\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 151, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L151" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9292, + 9299, + 9293, + 9291, + 9298, + 9287, + 9295, + 9294, + 9288, + 9289, + 9300, + 9296, + 9290, + 9297 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L35" + } + ] + }, + { + "id": 9277, + "name": "isTargetRelevant", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 401, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L401" + } + ], + "signatures": [ + { + "id": 9278, + "name": "isTargetRelevant", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "We're only interested in pages created by the page we're currently clicking in.\nThere will generally be a lot of other targets being created in the browser." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 401, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L401" + } + ], + "parameters": [ + { + "id": 9279, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9280, + "name": "target", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Target" + }, + "name": "Target", + "package": "puppeteer" + } + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 9273 + ] + }, + { + "title": "Interfaces", + "children": [ + 9286 + ] + }, + { + "title": "Functions", + "children": [ + 9277 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L1" + } + ] + }, + { + "id": 9040, + "name": "puppeteerRequestInterception", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 9049, + "name": "InterceptHandler", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "line": 37, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts#L37" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9050, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "line": 37, + "character": 31, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts#L37" + } + ], + "signatures": [ + { + "id": 9051, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 9052, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "HTTPRequest" + }, + "name": "PuppeteerRequest", + "package": "puppeteer", + "qualifiedName": "HTTPRequest" + } + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ] + } + } + }, + { + "id": 9041, + "name": "addInterceptRequestHandler", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "line": 158, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts#L158" + } + ], + "signatures": [ + { + "id": 9042, + "name": "addInterceptRequestHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds request interception handler in similar to " + }, + { + "kind": "code", + "text": "`page.on('request', handler);`" + }, + { + "kind": "text", + "text": " but in addition to that\nsupports multiple parallel handlers.\n\nAll the handlers are executed sequentially in the order as they were added.\nEach of the handlers must call one of " + }, + { + "kind": "code", + "text": "`request.continue()`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`request.abort()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`request.respond()`" + }, + { + "kind": "text", + "text": ".\nIn addition to that any of the handlers may modify the request object (method, postData, headers)\nby passing its overrides to " + }, + { + "kind": "code", + "text": "`request.continue()`" + }, + { + "kind": "text", + "text": ".\nIf multiple handlers modify same property then the last one wins. Headers are merged separately so you can\noverride only a value of specific header.\n\nIf one the handlers calls " + }, + { + "kind": "code", + "text": "`request.abort()`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`request.respond()`" + }, + { + "kind": "text", + "text": " then request is not propagated further\nto any of the remaining handlers.\n\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\n// Replace images with placeholder.\nawait addInterceptRequestHandler(page, (request) => {\n if (request.resourceType() === 'image') {\n return request.respond({\n statusCode: 200,\n contentType: 'image/jpeg',\n body: placeholderImageBuffer,\n });\n }\n return request.continue();\n});\n\n// Abort all the scripts.\nawait addInterceptRequestHandler(page, (request) => {\n if (request.resourceType() === 'script') return request.abort();\n return request.continue();\n});\n\n// Change requests to post.\nawait addInterceptRequestHandler(page, (request) => {\n return request.continue({\n method: 'POST',\n });\n});\n\nawait page.goto('http://example.com');\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "line": 158, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts#L158" + } + ], + "parameters": [ + { + "id": 9043, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/#?product=Puppeteer&show=api-class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9044, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request interception handler." + } + ] + }, + "type": { + "type": "reference", + "target": 9049, + "name": "InterceptHandler", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9045, + "name": "removeInterceptRequestHandler", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "line": 201, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts#L201" + } + ], + "signatures": [ + { + "id": 9046, + "name": "removeInterceptRequestHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes request interception handler for given page." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "line": 201, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts#L201" + } + ], + "parameters": [ + { + "id": 9047, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/#?product=Puppeteer&show=api-class-page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9048, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request interception handler." + } + ] + }, + "type": { + "type": "reference", + "target": 9049, + "name": "InterceptHandler", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Type Aliases", + "children": [ + 9049 + ] + }, + { + "title": "Functions", + "children": [ + 9041, + 9045 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts#L1" + } + ] + }, + { + "id": 9054, + "name": "puppeteerUtils", + "variant": "declaration", + "kind": 4, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A namespace that contains various utilities for\n[Puppeteer](https://github.com/puppeteer/puppeteer) - the headless Chrome Node API.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nimport { launchPuppeteer, utils } from 'crawlee';\n\n// Open https://www.example.com in Puppeteer\nconst browser = await launchPuppeteer();\nconst page = await browser.newPage();\nawait page.goto('https://www.example.com');\n\n// Inject jQuery into a page\nawait utils.puppeteer.injectJQuery(page);\n```" + } + ] + }, + "children": [ + { + "id": 9188, + "name": "addInterceptRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 992, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L992" + } + ], + "target": 9041 + }, + { + "id": 9189, + "name": "removeInterceptRequestHandler", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 993, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L993" + } + ], + "target": 9045 + }, + { + "id": 9115, + "name": "BlockRequestsOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9117, + "name": "extraUrlPatterns", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If you just want to append to the default blocked patterns, use this property." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L95" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 9116, + "name": "urlPatterns", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The patterns of URLs to block from being loaded by the browser.\nOnly " + }, + { + "kind": "code", + "text": "`*`" + }, + { + "kind": "text", + "text": " can be used as a wildcard. It is also automatically added to the beginning\nand end of the pattern. This limitation is enforced by the DevTools protocol.\n" + }, + { + "kind": "code", + "text": "`.png`" + }, + { + "kind": "text", + "text": " is the same as " + }, + { + "kind": "code", + "text": "`*.png*`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L90" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9117, + 9116 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 83, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L83" + } + ] + }, + { + "id": 9118, + "name": "CompiledScriptParams", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9119, + "name": "page", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 99, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L99" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9120, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 100, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L100" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9119, + 9120 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 98, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L98" + } + ] + }, + { + "id": 9109, + "name": "DirectNavigationOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9112, + "name": "referer", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Referer header value. If provided it will take preference over the referer header value set by page.setExtraHTTPHeaders(headers)." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 71, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L71" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9110, + "name": "timeout", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum operation time in milliseconds, defaults to 30 seconds, pass " + }, + { + "kind": "code", + "text": "`0`" + }, + { + "kind": "text", + "text": " to disable timeout. The\ndefault value can be changed by using the browserContext.setDefaultNavigationTimeout(timeout),\nbrowserContext.setDefaultTimeout(timeout), page.setDefaultNavigationTimeout(timeout) or\npage.setDefaultTimeout(timeout) methods." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L56" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 9111, + "name": "waitUntil", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "When to consider operation succeeded, defaults to " + }, + { + "kind": "code", + "text": "`load`" + }, + { + "kind": "text", + "text": ". Events can be either:\n- " + }, + { + "kind": "code", + "text": "`domcontentloaded`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when the " + }, + { + "kind": "code", + "text": "`DOMContentLoaded`" + }, + { + "kind": "text", + "text": " event is fired.\n- " + }, + { + "kind": "code", + "text": "`load`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when the " + }, + { + "kind": "code", + "text": "`load`" + }, + { + "kind": "text", + "text": " event is fired.\n- " + }, + { + "kind": "code", + "text": "`networkidle0`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when there are no network connections for at least " + }, + { + "kind": "code", + "text": "`500`" + }, + { + "kind": "text", + "text": " ms.\n- " + }, + { + "kind": "code", + "text": "`networkidle2`" + }, + { + "kind": "text", + "text": " - consider operation to be finished when there are no more than 2 network connections for at least " + }, + { + "kind": "code", + "text": "`500`" + }, + { + "kind": "text", + "text": " ms.\n- " + }, + { + "kind": "code", + "text": "`networkidle`" + }, + { + "kind": "text", + "text": " - alias for " + }, + { + "kind": "code", + "text": "`networkidle0`" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 66, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L66" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "domcontentloaded" + }, + { + "type": "literal", + "value": "load" + }, + { + "type": "literal", + "value": "networkidle" + }, + { + "type": "literal", + "value": "networkidle0" + }, + { + "type": "literal", + "value": "networkidle2" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9112, + 9110, + 9111 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 49, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L49" + } + ] + }, + { + "id": 9129, + "name": "InfiniteScrollOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9134, + "name": "buttonSelector", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optionally checks and clicks a button if it appears while scrolling. This is required on some websites for the scroll to work." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 489, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L489" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9131, + "name": "maxScrollHeight", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "How many pixels to scroll down. If 0, will scroll until bottom of page." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 472, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L472" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 9133, + "name": "scrollDownAndUp", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If true, it will scroll up a bit after each scroll down. This is required on some websites for the scroll to work." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 484, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L484" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 9135, + "name": "stopScrollCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function is called after every scroll and stops the scrolling process if it returns " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". The function can be " + }, + { + "kind": "code", + "text": "`async`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 494, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L494" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9136, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 494, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L494" + } + ], + "signatures": [ + { + "id": 9137, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 494, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L494" + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + ] + } + } + }, + { + "id": 9130, + "name": "timeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "How many seconds to scroll for. If 0, will scroll until bottom of page." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 466, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L466" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 9132, + "name": "waitForSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "How many seconds to wait for no new content to load before exit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n4\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 478, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L478" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9134, + 9131, + 9133, + 9135, + 9130, + 9132 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 461, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L461" + } + ] + }, + { + "id": 9113, + "name": "InjectFileOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9114, + "name": "surviveNavigations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables the injected script to survive page navigations and reloads without need to be re-injected manually.\nThis does not mean, however, that internal state will be preserved. Just that it will be automatically\nre-injected on each navigation before any other scripts get the chance to execute." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 80, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L80" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9114 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 74, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L74" + } + ] + }, + { + "id": 9138, + "name": "SaveSnapshotOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9144, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Configuration of the crawler that will be used to save the snapshot." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nConfiguration.getGlobalConfig()\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 650, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L650" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + } + }, + { + "id": 9139, + "name": "key", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Key under which the screenshot and HTML will be saved. " + }, + { + "kind": "code", + "text": "`.jpg`" + }, + { + "kind": "text", + "text": " will be appended for screenshot and " + }, + { + "kind": "code", + "text": "`.html`" + }, + { + "kind": "text", + "text": " for HTML." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'SNAPSHOT'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 620, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L620" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9143, + "name": "keyValueStoreName", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Name or id of the Key-Value store where snapshot is saved. By default it is saved to default Key-Value store." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nnull\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 644, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L644" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "intrinsic", + "name": "string" + } + ] + } + }, + { + "id": 9142, + "name": "saveHtml", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If true, it will save a full HTML of the current page as a record with " + }, + { + "kind": "code", + "text": "`key`" + }, + { + "kind": "text", + "text": " appended by " + }, + { + "kind": "code", + "text": "`.html`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 638, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L638" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 9141, + "name": "saveScreenshot", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If true, it will save a full screenshot of the current page as a record with " + }, + { + "kind": "code", + "text": "`key`" + }, + { + "kind": "text", + "text": " appended by " + }, + { + "kind": "code", + "text": "`.jpg`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\ntrue\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 632, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L632" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 9140, + "name": "screenshotQuality", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The quality of the image, between 0-100. Higher quality images have bigger size and require more storage." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n50\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 626, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L626" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9144, + 9139, + 9143, + 9142, + 9141, + 9140 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 615, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L615" + } + ] + }, + { + "id": 9121, + "name": "CompiledScriptFunction", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 103, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L103" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9122, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 103, + "character": 37, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L103" + } + ], + "signatures": [ + { + "id": 9123, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "parameters": [ + { + "id": 9124, + "name": "params", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 9118, + "name": "CompiledScriptParams", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + } + }, + { + "id": 9070, + "name": "blockRequests", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 237, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L237" + } + ], + "signatures": [ + { + "id": 9071, + "name": "blockRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Forces the Puppeteer browser tab to block loading URLs that match a provided pattern.\nThis is useful to speed up crawling of websites, since it reduces the amount\nof data that needs to be downloaded from the web, but it may break some websites\nor unexpectedly prevent loading of resources.\n\nBy default, the function will block all URLs including the following patterns:\n\n" + }, + { + "kind": "code", + "text": "```json\n[\".css\", \".jpg\", \".jpeg\", \".png\", \".svg\", \".gif\", \".woff\", \".pdf\", \".zip\"]\n```" + }, + { + "kind": "text", + "text": "\n\nIf you want to extend this list further, use the " + }, + { + "kind": "code", + "text": "`extraUrlPatterns`" + }, + { + "kind": "text", + "text": " option,\nwhich will keep blocking the default patterns, as well as add your custom ones.\nIf you would like to block only specific patterns, use the " + }, + { + "kind": "code", + "text": "`urlPatterns`" + }, + { + "kind": "text", + "text": " option,\nwhich will override the defaults and block only URLs with your custom patterns.\n\nThis function does not use Puppeteer's request interception and therefore does not interfere\nwith browser cache. It's also faster than blocking requests using interception,\nbecause the blocking happens directly in the browser without the round-trip to Node.js,\nbut it does not provide the extra benefits of request interception.\n\nThe function will never block main document loads and their respective redirects.\n\n**Example usage**\n" + }, + { + "kind": "code", + "text": "```javascript\nimport { launchPuppeteer, utils } from 'crawlee';\n\nconst browser = await launchPuppeteer();\nconst page = await browser.newPage();\n\n// Block all requests to URLs that include `adsbygoogle.js` and also all defaults.\nawait utils.puppeteer.blockRequests(page, {\n extraUrlPatterns: ['adsbygoogle.js'],\n});\n\nawait page.goto('https://cnn.com');\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 237, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L237" + } + ], + "parameters": [ + { + "id": 9072, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9073, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9115, + "name": "BlockRequestsOptions", + "package": "@crawlee/puppeteer" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9125, + "name": "blockResources", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 288, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L288" + } + ], + "signatures": [ + { + "id": 9126, + "name": "blockResources", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`blockResources()`" + }, + { + "kind": "text", + "text": " has a high impact on performance in recent versions of Puppeteer.\nUntil this resolves, please use " + }, + { + "kind": "code", + "text": "`utils.puppeteer.blockRequests()`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 288, + "character": 30, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L288" + } + ], + "parameters": [ + { + "id": 9127, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9128, + "name": "resourceTypes", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9080, + "name": "cacheResponses", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 314, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L314" + } + ], + "signatures": [ + { + "id": 9081, + "name": "cacheResponses", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "*NOTE:* In recent versions of Puppeteer using this function entirely disables browser cache which resolves in sub-optimal\nperformance. Until this resolves, we suggest just relying on the in-browser cache unless absolutely necessary.\n\nEnables caching of intercepted responses into a provided object. Automatically enables request interception in Puppeteer.\n*IMPORTANT*: Caching responses stores them to memory, so too loose rules could cause memory leaks for longer running crawlers.\n This issue should be resolved or atleast mitigated in future iterations of this feature." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 314, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L314" + } + ], + "parameters": [ + { + "id": 9082, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9083, + "name": "cache", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Object in which responses are stored" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "ResponseForRequest" + }, + "name": "ResponseForRequest", + "package": "puppeteer" + } + ], + "name": "Partial", + "package": "typescript" + } + ], + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 9084, + "name": "responseUrlRules", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "List of rules that are used to check if the response should be cached.\n String rules are compared as page.url().includes(rule) while RegExp rules are evaluated as rule.test(page.url())." + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9102, + "name": "closeCookieModals", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 697, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L697" + } + ], + "signatures": [ + { + "id": 9103, + "name": "closeCookieModals", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 697, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L697" + } + ], + "parameters": [ + { + "id": 9104, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9085, + "name": "compileScript", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 386, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L386" + } + ], + "signatures": [ + { + "id": 9086, + "name": "compileScript", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Compiles a Puppeteer script into an async function that may be executed at any time\nby providing it with the following object:\n" + }, + { + "kind": "code", + "text": "```\n{\n page: Page,\n request: Request,\n}\n```" + }, + { + "kind": "text", + "text": "\nWhere " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": " is a Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page)\nand " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " is a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": ".\n\nThe function is compiled by using the " + }, + { + "kind": "code", + "text": "`scriptString`" + }, + { + "kind": "text", + "text": " parameter as the function's body,\nso any limitations to function bodies apply. Return value of the compiled function\nis the return value of the function body = the " + }, + { + "kind": "code", + "text": "`scriptString`" + }, + { + "kind": "text", + "text": " parameter.\n\nAs a security measure, no globals such as " + }, + { + "kind": "code", + "text": "`process`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`require`" + }, + { + "kind": "text", + "text": " are accessible\nfrom within the function body. Note that the function does not provide a safe\nsandbox and even though globals are not easily accessible, malicious code may\nstill execute in the main process via prototype manipulation. Therefore you\nshould only use this function to execute sanitized or safe code.\n\nCustom context may also be provided using the " + }, + { + "kind": "code", + "text": "`context`" + }, + { + "kind": "text", + "text": " parameter. To improve security,\nmake sure to only pass the really necessary objects to the context. Preferably making\nsecured copies beforehand." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 386, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L386" + } + ], + "parameters": [ + { + "id": 9087, + "name": "scriptString", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9088, + "name": "context", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 9121, + "name": "CompiledScriptFunction", + "package": "@crawlee/puppeteer" + } + } + ] + }, + { + "id": 9185, + "name": "enqueueLinksByClickingElements", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 219, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L219" + } + ], + "signatures": [ + { + "id": 9186, + "name": "enqueueLinksByClickingElements", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function finds elements matching a specific CSS selector in a Puppeteer page,\nclicks all those elements using a mouse move and a left mouse button click and intercepts\nall the navigation requests that are subsequently produced by the page. The intercepted\nrequests, including their methods, headers and payloads are then enqueued to a provided\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ". This is useful to crawl JavaScript heavy pages where links are not available\nin " + }, + { + "kind": "code", + "text": "`href`" + }, + { + "kind": "text", + "text": " elements, but rather navigations are triggered in click handlers.\nIf you're looking to find URLs in " + }, + { + "kind": "code", + "text": "`href`" + }, + { + "kind": "text", + "text": " attributes of the page, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": ".\n\nOptionally, the function allows you to filter the target links' URLs using an array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " objects\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\n**IMPORTANT**: To be able to do this, this function uses various mutations on the page,\nsuch as changing the Z-index of elements being clicked and their visibility. Therefore,\nit is recommended to only use this function as the last operation in the page.\n\n**USING HEADFUL BROWSER**: When using a headful browser, this function will only be able to click elements\nin the focused tab, effectively limiting concurrency to 1. In headless mode, full concurrency can be achieved.\n\n**PERFORMANCE**: Clicking elements with a mouse and intercepting requests is not a low level operation\nthat takes nanoseconds. It's not very CPU intensive, but it takes time. We strongly recommend limiting\nthe scope of the clicking as much as possible by using a specific selector that targets only the elements\nthat you assume or know will produce a navigation. You can certainly click everything by using\nthe " + }, + { + "kind": "code", + "text": "`*`" + }, + { + "kind": "text", + "text": " selector, but be prepared to wait minutes to get results on a large and complex page.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nawait utils.puppeteer.enqueueLinksByClickingElements({\n page,\n requestQueue,\n selector: 'a.product-detail',\n pseudoUrls: [\n 'https://www.example.com/handbags/[.*]'\n 'https://www.example.com/purses/[.*]'\n ],\n});\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "line": 219, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts#L219" + } + ], + "parameters": [ + { + "id": 9187, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 9286, + "name": "EnqueueLinksByClickingElementsOptions", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9089, + "name": "gotoExtended", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 414, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L414" + } + ], + "signatures": [ + { + "id": 9090, + "name": "gotoExtended", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Extended version of Puppeteer's " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": " allowing to perform requests with HTTP method other than GET,\nwith custom headers and POST payload. URL, method, headers and payload are taken from\nrequest parameter that must be an instance of Request class.\n\n*NOTE:* In recent versions of Puppeteer using requests other than GET, overriding headers and adding payloads disables\nbrowser cache which degrades performance." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 414, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L414" + } + ], + "parameters": [ + { + "id": 9091, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9092, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + }, + { + "id": 9093, + "name": "gotoOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options for " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "type": { + "type": "reference", + "target": 9109, + "name": "DirectNavigationOptions", + "package": "@crawlee/puppeteer" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "HTTPResponse" + }, + "name": "HTTPResponse", + "package": "puppeteer" + }, + { + "type": "literal", + "value": null + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9094, + "name": "infiniteScroll", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 503, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L503" + } + ], + "signatures": [ + { + "id": 9095, + "name": "infiniteScroll", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Scrolls to the bottom of a page, or until it times out.\nLoads dynamic content when it hits the bottom of a page, and then continues scrolling." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 503, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L503" + } + ], + "parameters": [ + { + "id": 9096, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9097, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9129, + "name": "InfiniteScrollOptions", + "package": "@crawlee/puppeteer" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9055, + "name": "injectFile", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 121, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L121" + } + ], + "signatures": [ + { + "id": 9056, + "name": "injectFile", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Injects a JavaScript file into a Puppeteer page.\nUnlike Puppeteer's " + }, + { + "kind": "code", + "text": "`addScriptTag`" + }, + { + "kind": "text", + "text": " function, this function works on pages\nwith arbitrary Cross-Origin Resource Sharing (CORS) policies.\n\nFile contents are cached for up to 10 files to limit file system access." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 121, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L121" + } + ], + "parameters": [ + { + "id": 9057, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9058, + "name": "filePath", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "File path" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9059, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9113, + "name": "InjectFileOptions", + "package": "@crawlee/puppeteer" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9060, + "name": "injectJQuery", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 169, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L169" + } + ], + "signatures": [ + { + "id": 9061, + "name": "injectJQuery", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Injects the [jQuery](https://jquery.com/) library into a Puppeteer page.\njQuery is often useful for various web scraping and crawling tasks.\nFor example, it can help extract text from HTML elements using CSS selectors.\n\nBeware that the injected jQuery object will be set to the " + }, + { + "kind": "code", + "text": "`window.$`" + }, + { + "kind": "text", + "text": " variable and thus it might cause conflicts with\nother libraries included by the page that use the same variable name (e.g. another version of jQuery).\nThis can affect functionality of page's scripts.\n\nThe injected jQuery will survive page navigations and reloads by default.\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nawait utils.puppeteer.injectJQuery(page);\nconst title = await page.evaluate(() => {\n return $('head title').text();\n});\n```" + }, + { + "kind": "text", + "text": "\n\nNote that " + }, + { + "kind": "code", + "text": "`injectJQuery()`" + }, + { + "kind": "text", + "text": " does not affect the Puppeteer's\n[" + }, + { + "kind": "code", + "text": "`page.$()`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page._/)\nfunction in any way." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 169, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L169" + } + ], + "parameters": [ + { + "id": 9062, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9063, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reflection", + "declaration": { + "id": 9064, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 9065, + "name": "surviveNavigations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Opt-out option to disable the JQuery reinjection after navigation." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 169, + "character": 59, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L169" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9065 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 169, + "character": 57, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L169" + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9066, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 186, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L186" + } + ], + "signatures": [ + { + "id": 9067, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns Cheerio handle for " + }, + { + "kind": "code", + "text": "`page.content()`" + }, + { + "kind": "text", + "text": ", allowing to work with the data same way as with " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ".\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nconst $ = await utils.puppeteer.parseWithCheerio(page);\nconst title = $('title').text();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 186, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L186" + } + ], + "parameters": [ + { + "id": 9068, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9069, + "name": "ignoreShadowRoots", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13271, + "name": "CheerioRoot", + "package": "@crawlee/utils" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 9098, + "name": "saveSnapshot", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 658, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L658" + } + ], + "signatures": [ + { + "id": 9099, + "name": "saveSnapshot", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Saves a full screenshot and HTML of the current page into a Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 658, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L658" + } + ], + "parameters": [ + { + "id": 9100, + "name": "page", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + }, + { + "id": 9101, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9138, + "name": "SaveSnapshotOptions", + "package": "@crawlee/puppeteer" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 9188, + 9189 + ] + }, + { + "title": "Interfaces", + "children": [ + 9115, + 9118, + 9109, + 9129, + 9113, + 9138 + ] + }, + { + "title": "Type Aliases", + "children": [ + 9121 + ] + }, + { + "title": "Functions", + "children": [ + 9070, + 9125, + 9080, + 9102, + 9085, + 9185, + 9089, + 9094, + 9055, + 9060, + 9066, + 9098 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L1" + } + ] + }, + { + "id": 9612, + "name": "PuppeteerCrawler", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Provides a simple framework for parallel crawling of web pages\nusing headless Chrome with [Puppeteer](https://github.com/puppeteer/puppeteer).\nThe URLs to crawl are fed either from a static list of URLs\nor from a dynamic queue of URLs enabling recursive crawling of websites.\n\nSince " + }, + { + "kind": "code", + "text": "`PuppeteerCrawler`" + }, + { + "kind": "text", + "text": " uses headless Chrome to download web pages and extract data,\nit is useful for crawling of websites that require to execute JavaScript.\nIf the target website doesn't need JavaScript, consider using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ",\nwhich downloads the pages using raw HTTP requests and is about 10x faster.\n\nThe source URLs are represented using " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects that are fed from\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " instances provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": "\nor " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " constructor options, respectively.\n\nIf both " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawlerOptions.requestList" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawlerOptions.requestQueue" + }, + { + "kind": "text", + "text": " are used,\nthe instance first processes URLs from the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " and automatically enqueues all of them\nto " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " before it starts their processing. This ensures that a single URL is not crawled multiple times.\n\nThe crawler finishes when there are no more " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects to crawl.\n\n" + }, + { + "kind": "code", + "text": "`PuppeteerCrawler`" + }, + { + "kind": "text", + "text": " opens a new Chrome page (i.e. tab) for each " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object to crawl\nand then calls the function provided by user as the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawlerOptions.requestHandler" + }, + { + "kind": "text", + "text": " option.\n\nNew pages are only opened when there is enough free CPU and memory available,\nusing the functionality provided by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class.\nAll " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " configuration options can be passed to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawlerOptions.autoscaledPoolOptions" + }, + { + "kind": "text", + "text": "\nparameter of the " + }, + { + "kind": "code", + "text": "`PuppeteerCrawler`" + }, + { + "kind": "text", + "text": " constructor. For user convenience, the " + }, + { + "kind": "code", + "text": "`minConcurrency`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`maxConcurrency`" + }, + { + "kind": "text", + "text": "\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions" + }, + { + "kind": "text", + "text": " are available directly in the " + }, + { + "kind": "code", + "text": "`PuppeteerCrawler`" + }, + { + "kind": "text", + "text": " constructor.\n\nNote that the pool of Puppeteer instances is internally managed by the [BrowserPool](https://github.com/apify/browser-pool) class.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nconst crawler = new PuppeteerCrawler({\n async requestHandler({ page, request }) {\n // This function is called to extract data from a single web page\n // 'page' is an instance of Puppeteer.Page with page.goto(request.url) already called\n // 'request' is an instance of Request class with information about the page to load\n await Dataset.pushData({\n title: await page.title(),\n url: request.url,\n succeeded: true,\n })\n },\n async failedRequestHandler({ request }) {\n // This function is called when the crawling of a request failed too many times\n await Dataset.pushData({\n url: request.url,\n succeeded: false,\n errors: request.errorMessages,\n })\n },\n});\n\nawait crawler.run([\n 'http://www.example.com/page-1',\n 'http://www.example.com/page-2',\n]);\n```" + } + ] + }, + "children": [ + { + "id": 9653, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 144, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L144" + } + ], + "signatures": [ + { + "id": 9654, + "name": "new PuppeteerCrawler", + "variant": "signature", + "kind": 16384, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`PuppeteerCrawler`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 144, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L144" + } + ], + "parameters": [ + { + "id": 9655, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 9574, + "name": "PuppeteerCrawlerOptions", + "package": "@crawlee/puppeteer" + }, + "defaultValue": "{}" + }, + { + "id": 9656, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": 9612, + "name": "PuppeteerCrawler", + "package": "@crawlee/puppeteer" + }, + "overwrites": { + "type": "reference", + "target": -1, + "name": "BrowserCrawler<{ browserPlugins: [PuppeteerPlugin] }, LaunchOptions, PuppeteerCrawlingContext>.constructor" + } + } + ], + "overwrites": { + "type": "reference", + "target": -1, + "name": "BrowserCrawler<{ browserPlugins: [PuppeteerPlugin] }, LaunchOptions, PuppeteerCrawlingContext>.constructor" + } + }, + { + "id": 9720, + "name": "autoscaledPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " class that manages the concurrency of the crawler.\n> *NOTE:* This property is only initialized after calling the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " function.\nWe can use it to change the concurrency settings on the fly,\nto pause the crawler by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.pause|`autoscaledPool.pause()`" + }, + { + "kind": "text", + "text": "\nor to abort it by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool.abort|`autoscaledPool.abort()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 465, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L465" + } + ], + "type": { + "type": "reference", + "target": 200, + "name": "AutoscaledPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7271, + "name": "BrowserCrawler.autoscaledPool" + } + }, + { + "id": 9667, + "name": "browserPool", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's browsers." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 317, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L317" + } + ], + "type": { + "type": "reference", + "target": 5407, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 9668, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 9669, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 135, + "character": 55, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L135" + } + ], + "type": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9669 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 135, + "character": 53, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L135" + } + ] + } + }, + { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + } + ] + }, + { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserPool", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 7208, + "name": "BrowserCrawler.browserPool" + } + }, + { + "id": 9658, + "name": "config", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 144, + "character": 90, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L144" + } + ], + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7216, + "name": "BrowserCrawler.config" + } + }, + { + "id": 9723, + "name": "hasFinishedBefore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 474, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L474" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7274, + "name": "BrowserCrawler.hasFinishedBefore" + } + }, + { + "id": 9670, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 319, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L319" + } + ], + "type": { + "type": "reference", + "target": 7412, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "puppeteer" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "BrowserLaunchContext", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": 7209, + "name": "BrowserCrawler.launchContext" + } + }, + { + "id": 9666, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class that manages the crawler's proxies.\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 312, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L312" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7207, + "name": "BrowserCrawler.proxyConfiguration" + } + }, + { + "id": 9717, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestList" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 443, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L443" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7268, + "name": "BrowserCrawler.requestList" + } + }, + { + "id": 9718, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nA reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request|requests" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 450, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L450" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7269, + "name": "BrowserCrawler.requestQueue" + } + }, + { + "id": 9721, + "name": "router", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that will be used if we don't specify any " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": ".\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addHandler|`router.addHandler()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router.addDefaultHandler|`router.addDefaultHandler()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 471, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L471" + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 9488, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + }, + "defaultValue": "...", + "inheritedFrom": { + "type": "reference", + "target": 7272, + "name": "BrowserCrawler.router" + } + }, + { + "id": 9722, + "name": "running", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 473, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L473" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "defaultValue": "false", + "inheritedFrom": { + "type": "reference", + "target": 7273, + "name": "BrowserCrawler.running" + } + }, + { + "id": 9719, + "name": "sessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " class that manages the crawler's " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Session|sessions" + }, + { + "kind": "text", + "text": ".\nOnly available if used by the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 456, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L456" + } + ], + "type": { + "type": "reference", + "target": 2127, + "name": "SessionPool", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7270, + "name": "BrowserCrawler.sessionPool" + } + }, + { + "id": 9716, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A reference to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Statistics" + }, + { + "kind": "text", + "text": " class that collects and logs run statistics for requests." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 437, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L437" + } + ], + "type": { + "type": "reference", + "target": 758, + "name": "Statistics", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7267, + "name": "BrowserCrawler.stats" + } + }, + { + "id": 9760, + "name": "addRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "signatures": [ + { + "id": 9761, + "name": "addRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds requests to the queue in batches. By default, it will resolve after the initial batch is added, and continue\nadding the rest in background. You can configure the batch size via " + }, + { + "kind": "code", + "text": "`batchSize`" + }, + { + "kind": "text", + "text": " option and the sleep time in between\nthe batches via " + }, + { + "kind": "code", + "text": "`waitBetweenBatchesMillis`" + }, + { + "kind": "text", + "text": ". If you want to wait for all batches to be added to the queue, you can use\nthe " + }, + { + "kind": "code", + "text": "`waitForAllRequestsToBeAdded`" + }, + { + "kind": "text", + "text": " promise you get in the response object." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 950, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L950" + } + ], + "parameters": [ + { + "id": 9762, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1887, + "name": "Source", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 9763, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6867, + "name": "CrawlerAddRequestsOptions", + "package": "@crawlee/basic" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6873, + "name": "CrawlerAddRequestsResult", + "package": "@crawlee/basic" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7312, + "name": "BrowserCrawler.addRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7311, + "name": "BrowserCrawler.addRequests" + } + }, + { + "id": 9774, + "name": "exportData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "signatures": [ + { + "id": 9775, + "name": "exportData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves all the data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " and exports them to the specified format.\nSupported formats are currently 'json' and 'csv', and will be inferred from the " + }, + { + "kind": "code", + "text": "`path`" + }, + { + "kind": "text", + "text": " automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 982, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L982" + } + ], + "typeParameter": [ + { + "id": 9776, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 9777, + "name": "path", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9778, + "name": "format", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "json" + }, + { + "type": "literal", + "value": "csv" + } + ] + } + }, + { + "id": 9779, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 2546, + "name": "DatasetExportOptions", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "reference", + "target": 6768, + "name": "Data", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7326, + "name": "BrowserCrawler.exportData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7325, + "name": "BrowserCrawler.exportData" + } + }, + { + "id": 9771, + "name": "getData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "signatures": [ + { + "id": 9772, + "name": "getData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves data from the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.getData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 973, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L973" + } + ], + "parameters": [ + { + "id": 9773, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "tuple", + "elements": [ + { + "type": "namedTupleMember", + "name": "options", + "isOptional": false, + "element": { + "type": "reference", + "target": 2537, + "name": "DatasetDataOptions", + "package": "@crawlee/core" + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2669, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "DatasetContent", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7323, + "name": "BrowserCrawler.getData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7322, + "name": "BrowserCrawler.getData" + } + }, + { + "id": 9768, + "name": "getDataset", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "signatures": [ + { + "id": 9769, + "name": "getDataset", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Retrieves the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 966, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L966" + } + ], + "parameters": [ + { + "id": 9770, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2572, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Dataset", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7320, + "name": "BrowserCrawler.getDataset" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7319, + "name": "BrowserCrawler.getDataset" + } + }, + { + "id": 9754, + "name": "getRequestQueue", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "signatures": [ + { + "id": 9755, + "name": "getRequestQueue", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 925, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L925" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7306, + "name": "BrowserCrawler.getRequestQueue" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7305, + "name": "BrowserCrawler.getRequestQueue" + } + }, + { + "id": 9764, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "signatures": [ + { + "id": 9765, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Pushes data to the specified " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": ", or the default crawler " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " by calling " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset.pushData" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 958, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L958" + } + ], + "parameters": [ + { + "id": 9766, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + }, + { + "id": 9767, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7316, + "name": "BrowserCrawler.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7315, + "name": "BrowserCrawler.pushData" + } + }, + { + "id": 9750, + "name": "run", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "signatures": [ + { + "id": 9751, + "name": "run", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Runs the crawler. Returns a promise that gets resolved once all the requests are processed.\nWe can use the " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter to enqueue the initial requests - it is a shortcut for\nrunning " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 826, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L826" + } + ], + "parameters": [ + { + "id": 9752, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The requests to add" + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ] + } + } + }, + { + "id": 9753, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": 6876, + "name": "CrawlerRunOptions", + "package": "@crawlee/basic" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 400, + "name": "FinalStatistics", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7302, + "name": "BrowserCrawler.run" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7301, + "name": "BrowserCrawler.run" + } + }, + { + "id": 9746, + "name": "setStatusMessage", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "signatures": [ + { + "id": 9747, + "name": "setStatusMessage", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This method is periodically called by the crawler, every " + }, + { + "kind": "code", + "text": "`statusMessageLoggingInterval`" + }, + { + "kind": "text", + "text": " seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 761, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L761" + } + ], + "parameters": [ + { + "id": 9748, + "name": "message", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9749, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13747, + "name": "SetStatusMessageOptions", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7298, + "name": "BrowserCrawler.setStatusMessage" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7297, + "name": "BrowserCrawler.setStatusMessage" + } + }, + { + "id": 9756, + "name": "useState", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "signatures": [ + { + "id": 9757, + "name": "useState", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 936, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L936" + } + ], + "typeParameter": [ + { + "id": 9758, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 9759, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 6750, + "name": "State", + "package": "@crawlee/basic", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7308, + "name": "BrowserCrawler.useState" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7307, + "name": "BrowserCrawler.useState" + } + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 9653 + ] + }, + { + "title": "Properties", + "children": [ + 9720, + 9667, + 9658, + 9723, + 9670, + 9666, + 9717, + 9718, + 9721, + 9722, + 9719, + 9716 + ] + }, + { + "title": "Methods", + "children": [ + 9760, + 9774, + 9771, + 9768, + 9754, + 9764, + 9750, + 9746, + 9756 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 135, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L135" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7160, + "typeArguments": [ + { + "type": "reflection", + "declaration": { + "id": 9613, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 9614, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 135, + "character": 55, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L135" + } + ], + "type": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9614 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 135, + "character": 53, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L135" + } + ] + } + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "LaunchOptions" + }, + "name": "LaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": 9488, + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + ], + "name": "BrowserCrawler", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 9574, + "name": "PuppeteerCrawlerOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9600, + "name": "autoscaledPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPool" + }, + { + "kind": "text", + "text": " constructor.\n> *NOTE:* The " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.runTaskFunction|`runTaskFunction`" + }, + { + "kind": "text", + "text": "\nand " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isTaskReadyFunction|`isTaskReadyFunction`" + }, + { + "kind": "text", + "text": " options\nare provided by the crawler and cannot be overridden.\nHowever, we can provide a custom implementation of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.isFinishedFunction|`isFinishedFunction`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L262" + } + ], + "type": { + "type": "reference", + "target": 176, + "name": "AutoscaledPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7143, + "name": "BrowserCrawlerOptions.autoscaledPoolOptions" + } + }, + { + "id": 9585, + "name": "browserPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom options passed to the underlying " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserPool" + }, + { + "kind": "text", + "text": " constructor.\nWe can tweak those to fine-tune browser management." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 189, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L189" + } + ], + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5347, + "typeArguments": [ + { + "type": "reference", + "target": 5152, + "typeArguments": [ + { + "type": "reference", + "target": 5144, + "name": "CommonLibrary", + "package": "@crawlee/browser-pool" + }, + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ] + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonBrowser" + }, + "name": "CommonBrowser", + "package": "@crawlee/browser-pool" + }, + { + "type": "intrinsic", + "name": "unknown" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonPage" + }, + "name": "CommonPage", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPlugin", + "package": "@crawlee/browser-pool" + } + ], + "name": "BrowserPoolOptions", + "package": "@crawlee/browser-pool" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 5397, + "typeArguments": [ + { + "type": "reference", + "target": 3208, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserController", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 5244, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerNode" + }, + "name": "PuppeteerNode", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerNewPageOptions" + }, + "name": "PuppeteerNewPageOptions", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "LaunchContext", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + ], + "name": "BrowserPoolHooks", + "package": "@crawlee/browser-pool" + } + ], + "name": "Partial", + "package": "typescript" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": 7126, + "name": "BrowserCrawlerOptions.browserPoolOptions" + } + }, + { + "id": 9582, + "name": "errorHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "User-provided function that allows modifying the request object before it gets retried by the crawler.\nIt's executed before each retry for the requests that failed less than " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the request to be retried.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 158, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L158" + } + ], + "type": { + "type": "reference", + "target": 7110, + "typeArguments": [ + { + "type": "reference", + "target": 9488, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + ], + "name": "BrowserErrorHandler", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": 7123, + "name": "BrowserCrawlerOptions.errorHandler" + } + }, + { + "id": 9610, + "name": "experiments", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Enables experimental features of Crawlee, which can alter the behavior of the crawler.\nWARNING: these options are not guaranteed to be stable and may change or be removed at any time." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 342, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L342" + } + ], + "type": { + "type": "reference", + "target": 6655, + "name": "CrawlerExperiments", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7153, + "name": "BrowserCrawlerOptions.experiments" + } + }, + { + "id": 9583, + "name": "failedRequestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A function to handle requests that failed more than " + }, + { + "kind": "code", + "text": "`option.maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as the first argument,\nwhere the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " corresponds to the failed request.\nSecond argument is the " + }, + { + "kind": "code", + "text": "`Error`" + }, + { + "kind": "text", + "text": " instance that\nrepresents the last error thrown during processing of the request." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 7110, + "typeArguments": [ + { + "type": "reference", + "target": 9488, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + ], + "name": "BrowserErrorHandler", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": 7124, + "name": "BrowserCrawlerOptions.failedRequestHandler" + } + }, + { + "id": 9589, + "name": "headless", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to run browser in headless mode. Defaults to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ".\nCan be also set via " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Configuration" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 254, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L254" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "boolean" + }, + { + "type": "literal", + "value": "new" + }, + { + "type": "literal", + "value": "old" + } + ] + }, + "inheritedFrom": { + "type": "reference", + "target": 7132, + "name": "BrowserCrawlerOptions.headless" + } + }, + { + "id": 9590, + "name": "ignoreShadowRoots", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Whether to ignore custom elements (and their #shadow-roots) when processing the page content via " + }, + { + "kind": "code", + "text": "`parseWithCheerio`" + }, + { + "kind": "text", + "text": " helper.\nBy default, they are expanded automatically. Use this option to disable this behavior." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 260, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L260" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7133, + "name": "BrowserCrawlerOptions.ignoreShadowRoots" + } + }, + { + "id": 9604, + "name": "keepAlive", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to keep the crawler alive even if the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": " gets empty.\nBy default, the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": " will resolve once the queue is empty. With " + }, + { + "kind": "code", + "text": "`keepAlive: true`" + }, + { + "kind": "text", + "text": " it will keep running,\nwaiting for more requests to come. Use " + }, + { + "kind": "code", + "text": "`crawler.teardown()`" + }, + { + "kind": "text", + "text": " to exit the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L290" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7147, + "name": "BrowserCrawlerOptions.keepAlive" + } + }, + { + "id": 9577, + "name": "launchContext", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options used by " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "launchPuppeteer" + }, + { + "kind": "text", + "text": " to start new Puppeteer instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 33, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L33" + } + ], + "type": { + "type": "reference", + "target": 9861, + "name": "PuppeteerLaunchContext", + "package": "@crawlee/puppeteer" + }, + "overwrites": { + "type": "reference", + "target": 7120, + "name": "BrowserCrawlerOptions.launchContext" + } + }, + { + "id": 9602, + "name": "maxConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the maximum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxConcurrency|`maxConcurrency`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 276, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L276" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7145, + "name": "BrowserCrawlerOptions.maxConcurrency" + } + }, + { + "id": 9596, + "name": "maxRequestRetries", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how many times the request is retried if " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " fails." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n3\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7139, + "name": "BrowserCrawlerOptions.maxRequestRetries" + } + }, + { + "id": 9599, + "name": "maxRequestsPerCrawl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of pages that the crawler will open. The crawl will stop when this limit is reached.\nThis value should always be set in order to prevent infinite loops in misconfigured crawlers.\n> *NOTE:* In cases of parallel crawling, the actual number of pages visited might be slightly higher than this value." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7142, + "name": "BrowserCrawlerOptions.maxRequestsPerCrawl" + } + }, + { + "id": 9603, + "name": "maxRequestsPerMinute", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The maximum number of requests per minute the crawler should run.\nBy default, this is set to " + }, + { + "kind": "code", + "text": "`Infinity`" + }, + { + "kind": "text", + "text": ", but we can pass any positive, non-zero integer.\nShortcut for the AutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.maxTasksPerMinute|`maxTasksPerMinute`" + }, + { + "kind": "text", + "text": " option." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 283, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L283" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7146, + "name": "BrowserCrawlerOptions.maxRequestsPerMinute" + } + }, + { + "id": 9598, + "name": "maxSessionRotations", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of session rotations per request.\nThe crawler will automatically rotate the session in case of a proxy error or if it gets blocked by the website.\n\nThe session rotations are not counted towards the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " limit." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n10\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 246, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L246" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7141, + "name": "BrowserCrawlerOptions.maxSessionRotations" + } + }, + { + "id": 9601, + "name": "minConcurrency", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the minimum concurrency (parallelism) for the crawl. Shortcut for the\nAutoscaledPool " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "AutoscaledPoolOptions.minConcurrency|`minConcurrency`" + }, + { + "kind": "text", + "text": " option.\n> *WARNING:* If we set this value too high with respect to the available system memory and CPU, our crawler will run extremely slow or crash.\nIf not sure, it's better to keep the default value and the concurrency will scale up automatically." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 270, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L270" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7144, + "name": "BrowserCrawlerOptions.minConcurrency" + } + }, + { + "id": 9587, + "name": "navigationTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which page navigation needs to finish, in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 242, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L242" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7130, + "name": "BrowserCrawlerOptions.navigationTimeoutSecs" + } + }, + { + "id": 9588, + "name": "persistCookiesPerSession", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines whether the cookies should be persisted for sessions.\nThis can only be used when " + }, + { + "kind": "code", + "text": "`useSessionPool`" + }, + { + "kind": "text", + "text": " is set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 248, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L248" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7131, + "name": "BrowserCrawlerOptions.persistCookiesPerSession" + } + }, + { + "id": 9579, + "name": "postNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated after the navigation. Good for checking if the navigation was successful.\nThe function accepts " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " as the only parameter.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npostNavigationHooks: [\n async (crawlingContext) => {\n const { page } = crawlingContext;\n if (hasCaptcha(page)) {\n await solveCaptcha (page);\n }\n },\n]\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 69, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L69" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 9566, + "name": "PuppeteerHook", + "package": "@crawlee/puppeteer" + } + }, + "overwrites": { + "type": "reference", + "target": 7129, + "name": "BrowserCrawlerOptions.postNavigationHooks" + } + }, + { + "id": 9578, + "name": "preNavigationHooks", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Async functions that are sequentially evaluated before the navigation. Good for setting additional cookies\nor browser properties before navigation. The function accepts two parameters, " + }, + { + "kind": "code", + "text": "`crawlingContext`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`gotoOptions`" + }, + { + "kind": "text", + "text": ",\nwhich are passed to the " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": " function the crawler calls to navigate.\nExample:\n" + }, + { + "kind": "code", + "text": "```\npreNavigationHooks: [\n async (crawlingContext, gotoOptions) => {\n const { page } = crawlingContext;\n await page.evaluate((attr) => { window.foo = attr; }, 'bar');\n },\n]\n```" + }, + { + "kind": "text", + "text": "\n\nModyfing " + }, + { + "kind": "code", + "text": "`pageOptions`" + }, + { + "kind": "text", + "text": " is supported only in Playwright incognito.\nSee " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PrePageCreateHook" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 52, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L52" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 9566, + "name": "PuppeteerHook", + "package": "@crawlee/puppeteer" + } + }, + "overwrites": { + "type": "reference", + "target": 7128, + "name": "BrowserCrawlerOptions.preNavigationHooks" + } + }, + { + "id": 9586, + "name": "proxyConfiguration", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set, the crawler will be configured for all connections to use\nthe Proxy URLs provided and rotated according to the configuration." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 195, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L195" + } + ], + "type": { + "type": "reference", + "target": 1756, + "name": "ProxyConfiguration", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7127, + "name": "BrowserCrawlerOptions.proxyConfiguration" + } + }, + { + "id": 9580, + "name": "requestHandler", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Function that is called to process each request.\n\nThe function receives the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext" + }, + { + "kind": "text", + "text": "\n(actual context will be enhanced with the crawler specific properties) as an argument, where:\n- " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.request|`request`" + }, + { + "kind": "text", + "text": " is an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object\nwith details about the URL to open, HTTP method etc;\n- " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.page|`page`" + }, + { + "kind": "text", + "text": " is an instance of the\nPuppeteer [Page](https://pptr.dev/api/puppeteer.page) or\nPlaywright [Page](https://playwright.dev/docs/api/class-page);\n- " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.browserController|`browserController`" + }, + { + "kind": "text", + "text": " is an instance of the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserController" + }, + { + "kind": "text", + "text": ";\n- " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlingContext.response|`response`" + }, + { + "kind": "text", + "text": " is an instance of the\nPuppeteer [Response](https://pptr.dev/api/puppeteer.httpresponse) or\nPlaywright [Response](https://playwright.dev/docs/api/class-response),\nwhich is the main resource response as returned by the respective " + }, + { + "kind": "code", + "text": "`page.goto()`" + }, + { + "kind": "text", + "text": " function.\n\nThe function must return a promise, which is then awaited by the crawler.\n\nIf the function throws an exception, the crawler will try to re-crawl the\nrequest later, up to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.maxRequestRetries|`maxRequestRetries`" + }, + { + "kind": "text", + "text": " times.\nIf all the retries fail, the crawler calls the function\nprovided to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BrowserCrawlerOptions.failedRequestHandler|`failedRequestHandler`" + }, + { + "kind": "text", + "text": " parameter.\nTo make this work, we should **always**\nlet our function throw exceptions rather than catch them.\nThe exceptions are logged to the request using the\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request.pushErrorMessage|`Request.pushErrorMessage()`" + }, + { + "kind": "text", + "text": " function." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 114, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L114" + } + ], + "type": { + "type": "reference", + "target": 7108, + "typeArguments": [ + { + "type": "reference", + "target": 9488, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + ], + "name": "BrowserRequestHandler", + "package": "@crawlee/browser" + }, + "inheritedFrom": { + "type": "reference", + "target": 7121, + "name": "BrowserCrawlerOptions.requestHandler" + } + }, + { + "id": 9594, + "name": "requestHandlerTimeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Timeout in which the function passed as " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": " needs to finish, in seconds." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n60\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L183" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7137, + "name": "BrowserCrawlerOptions.requestHandlerTimeoutSecs" + } + }, + { + "id": 9593, + "name": "requestList", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Static list of URLs to be processed.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 169, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L169" + } + ], + "type": { + "type": "reference", + "target": 2787, + "name": "RequestList", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7136, + "name": "BrowserCrawlerOptions.requestList" + } + }, + { + "id": 9591, + "name": "requestQueue", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dynamic queue of URLs to be processed. This is useful for recursive crawling of websites.\nIf not provided, the crawler will open the default request queue when the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.addRequests|`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " function is called.\n> Alternatively, " + }, + { + "kind": "code", + "text": "`requests`" + }, + { + "kind": "text", + "text": " parameter of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawler.run|`crawler.run()`" + }, + { + "kind": "text", + "text": " could be used to enqueue the initial requests -\nit is a shortcut for running " + }, + { + "kind": "code", + "text": "`crawler.addRequests()`" + }, + { + "kind": "text", + "text": " before the " + }, + { + "kind": "code", + "text": "`crawler.run()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 177, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L177" + } + ], + "type": { + "type": "reference", + "target": 2889, + "name": "RequestProvider", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7134, + "name": "BrowserCrawlerOptions.requestQueue" + } + }, + { + "id": 9609, + "name": "retryOnBlocked", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler will automatically try to bypass any detected bot protection.\n\nCurrently supports:\n- [**Cloudflare** Bot Management](https://www.cloudflare.com/products/bot-management/)\n- [**Google Search** Rate Limiting](https://www.google.com/sorry/)" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 333, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L333" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7152, + "name": "BrowserCrawlerOptions.retryOnBlocked" + } + }, + { + "id": 9597, + "name": "sameDomainDelaySecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Indicates how much time (in seconds) to wait before crawling another same domain request." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n0\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 237, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L237" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7140, + "name": "BrowserCrawlerOptions.sameDomainDelaySecs" + } + }, + { + "id": 9606, + "name": "sessionPoolOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The configuration options for " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " to use." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L301" + } + ], + "type": { + "type": "reference", + "target": 2118, + "name": "SessionPoolOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7149, + "name": "BrowserCrawlerOptions.sessionPoolOptions" + } + }, + { + "id": 9611, + "name": "statisticsOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Customize the way statistics collecting works, such as logging interval or\nwhether to output them to the Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 348, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L348" + } + ], + "type": { + "type": "reference", + "target": 825, + "name": "StatisticsOptions", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7154, + "name": "BrowserCrawlerOptions.statisticsOptions" + } + }, + { + "id": 9608, + "name": "statusMessageCallback", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows overriding the default status message. The callback needs to call " + }, + { + "kind": "code", + "text": "`crawler.setStatusMessage()`" + }, + { + "kind": "text", + "text": " explicitly.\nThe default status message is provided in the parameters.\n\n" + }, + { + "kind": "code", + "text": "```ts\nconst crawler = new CheerioCrawler({\n statusMessageCallback: async (ctx) => {\n return ctx.crawler.setStatusMessage(`this is status message from ${new Date().toISOString()}`, { level: 'INFO' }); // log level defaults to 'DEBUG'\n },\n statusMessageLoggingInterval: 1, // defaults to 10s\n async requestHandler({ $, enqueueLinks, request, log }) {\n // ...\n },\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 324, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L324" + } + ], + "type": { + "type": "reference", + "target": 6621, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + }, + { + "type": "reference", + "target": 6657, + "typeArguments": [ + { + "type": "reference", + "target": 6550, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "BasicCrawlingContext", + "package": "@crawlee/basic" + } + ], + "name": "BasicCrawler", + "package": "@crawlee/basic" + } + ], + "name": "StatusMessageCallback", + "package": "@crawlee/basic" + }, + "inheritedFrom": { + "type": "reference", + "target": 7151, + "name": "BrowserCrawlerOptions.statusMessageCallback" + } + }, + { + "id": 9607, + "name": "statusMessageLoggingInterval", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Defines the length of the interval for calling the " + }, + { + "kind": "code", + "text": "`setStatusMessage`" + }, + { + "kind": "text", + "text": " in seconds." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 7150, + "name": "BrowserCrawlerOptions.statusMessageLoggingInterval" + } + }, + { + "id": 9605, + "name": "useSessionPool", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Basic crawler will initialize the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPool" + }, + { + "kind": "text", + "text": " with the corresponding " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "SessionPoolOptions|`sessionPoolOptions`" + }, + { + "kind": "text", + "text": ".\nThe session instance will be than available in the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BasicCrawlerOptions.requestHandler|`requestHandler`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/basic-crawler/src/internals/basic-crawler.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/basic-crawler/src/internals/basic-crawler.ts#L296" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7148, + "name": "BrowserCrawlerOptions.useSessionPool" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9600, + 9585, + 9582, + 9610, + 9583, + 9589, + 9590, + 9604, + 9577, + 9602, + 9596, + 9599, + 9603, + 9598, + 9601, + 9587, + 9588, + 9579, + 9578, + 9586, + 9580, + 9594, + 9593, + 9591, + 9609, + 9597, + 9606, + 9611, + 9608, + 9607, + 9605 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 26, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L26" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7119, + "typeArguments": [ + { + "type": "reference", + "target": 9488, + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + }, + { + "type": "reflection", + "declaration": { + "id": 9575, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 9576, + "name": "browserPlugins", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 28, + "character": 6, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L28" + } + ], + "type": { + "type": "tuple", + "elements": [ + { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9576 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 28, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L28" + } + ] + } + } + ], + "name": "BrowserCrawlerOptions", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 9488, + "name": "PuppeteerCrawlingContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 9512, + "name": "addRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Add requests directly to the request queue." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9513, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "signatures": [ + { + "id": 9514, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 64, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L64" + } + ], + "parameters": [ + { + "id": 9515, + "name": "requestsLike", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1867, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "RequestOptions", + "package": "@crawlee/core" + } + ], + "name": "Partial", + "package": "typescript" + }, + { + "type": "reflection", + "declaration": { + "id": 9516, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 9518, + "name": "regex", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 76, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + }, + { + "id": 9517, + "name": "requestsFromUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 50, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9518, + 9517 + ] + } + ], + "sources": [ + { + "fileName": "packages/core/src/request.ts", + "line": 538, + "character": 48, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/request.ts#L538" + } + ] + } + } + ] + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + ] + } + } + } + }, + { + "id": 9519, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Options for the request queue" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": 3002, + "name": "RequestQueueOperationOptions", + "package": "@crawlee/core" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7089, + "name": "BrowserCrawlingContext.addRequests" + } + }, + { + "id": 9489, + "name": "browserController", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L54" + } + ], + "type": { + "type": "reference", + "target": 3351, + "name": "PuppeteerController", + "package": "@crawlee/browser-pool" + }, + "inheritedFrom": { + "type": "reference", + "target": 7066, + "name": "BrowserCrawlingContext.browserController" + } + }, + { + "id": 9495, + "name": "crawler", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 95, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L95" + } + ], + "type": { + "type": "reference", + "target": 9612, + "name": "PuppeteerCrawler", + "package": "@crawlee/puppeteer" + }, + "inheritedFrom": { + "type": "reference", + "target": 7072, + "name": "BrowserCrawlingContext.crawler" + } + }, + { + "id": 9499, + "name": "getKeyValueStore", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get a key-value store with given name or id, or the default one for the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9500, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "signatures": [ + { + "id": 9501, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 129, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L129" + } + ], + "parameters": [ + { + "id": 9502, + "name": "idOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 2684, + "name": "KeyValueStore", + "package": "@crawlee/core" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7076, + "name": "BrowserCrawlingContext.getKeyValueStore" + } + }, + { + "id": 9492, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 86, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L86" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7069, + "name": "BrowserCrawlingContext.id" + } + }, + { + "id": 9525, + "name": "log", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A preconfigured logger for the request handler." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L82" + } + ], + "type": { + "type": "reference", + "target": 1182, + "name": "Log", + "package": "@apify/log" + }, + "inheritedFrom": { + "type": "reference", + "target": 7102, + "name": "BrowserCrawlingContext.log" + } + }, + { + "id": 9490, + "name": "page", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 55, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L55" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + }, + "inheritedFrom": { + "type": "reference", + "target": 7067, + "name": "BrowserCrawlingContext.page" + } + }, + { + "id": 9494, + "name": "proxyInfo", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "An object with information about currently used proxy by the crawler\nand configured by the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "ProxyConfiguration" + }, + { + "kind": "text", + "text": " class." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 93, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L93" + } + ], + "type": { + "type": "reference", + "target": 1748, + "name": "ProxyInfo", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7071, + "name": "BrowserCrawlingContext.proxyInfo" + } + }, + { + "id": 9507, + "name": "request", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The original " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " object." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L21" + } + ], + "type": { + "type": "reference", + "target": 1808, + "typeArguments": [ + { + "type": "reference", + "target": 9565, + "name": "UserData", + "package": "@crawlee/puppeteer", + "qualifiedName": "PuppeteerCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "Request", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7084, + "name": "BrowserCrawlingContext.request" + } + }, + { + "id": 9491, + "name": "response", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-crawler.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-crawler.ts#L56" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "HTTPResponse" + }, + "name": "HTTPResponse", + "package": "puppeteer" + }, + "inheritedFrom": { + "type": "reference", + "target": 7068, + "name": "BrowserCrawlingContext.response" + } + }, + { + "id": 9493, + "name": "session", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L87" + } + ], + "type": { + "type": "reference", + "target": 2047, + "name": "Session", + "package": "@crawlee/core" + }, + "inheritedFrom": { + "type": "reference", + "target": 7070, + "name": "BrowserCrawlingContext.session" + } + }, + { + "id": 9520, + "name": "useState", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns the state - a piece of mutable persistent data shared across all the request handler runs." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 9521, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "signatures": [ + { + "id": 9522, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 72, + "character": 14, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L72" + } + ], + "typeParameter": [ + { + "id": 9523, + "name": "State", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "parameters": [ + { + "id": 9524, + "name": "defaultValue", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 612, + "name": "State", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + }, + "inheritedFrom": { + "type": "reference", + "target": 7097, + "name": "BrowserCrawlingContext.useState" + } + }, + { + "id": 9551, + "name": "addInterceptRequestHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 933, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L933" + } + ], + "signatures": [ + { + "id": 9552, + "name": "addInterceptRequestHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Adds request interception handler in similar to " + }, + { + "kind": "code", + "text": "`page.on('request', handler);`" + }, + { + "kind": "text", + "text": " but in addition to that\nsupports multiple parallel handlers.\n\nAll the handlers are executed sequentially in the order as they were added.\nEach of the handlers must call one of " + }, + { + "kind": "code", + "text": "`request.continue()`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`request.abort()`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`request.respond()`" + }, + { + "kind": "text", + "text": ".\nIn addition to that any of the handlers may modify the request object (method, postData, headers)\nby passing its overrides to " + }, + { + "kind": "code", + "text": "`request.continue()`" + }, + { + "kind": "text", + "text": ".\nIf multiple handlers modify same property then the last one wins. Headers are merged separately so you can\noverride only a value of specific header.\n\nIf one the handlers calls " + }, + { + "kind": "code", + "text": "`request.abort()`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`request.respond()`" + }, + { + "kind": "text", + "text": " then request is not propagated further\nto any of the remaining handlers.\n\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```javascript\npreNavigationHooks: [\n async ({ addInterceptRequestHandler }) => {\n // Replace images with placeholder.\n await addInterceptRequestHandler((request) => {\n if (request.resourceType() === 'image') {\n return request.respond({\n statusCode: 200,\n contentType: 'image/jpeg',\n body: placeholderImageBuffer,\n });\n }\n return request.continue();\n });\n\n // Abort all the scripts.\n await addInterceptRequestHandler((request) => {\n if (request.resourceType() === 'script') return request.abort();\n return request.continue();\n });\n\n // Change requests to post.\n await addInterceptRequestHandler((request) => {\n return request.continue({\n method: 'POST',\n });\n });\n }),\n],\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 933, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L933" + } + ], + "parameters": [ + { + "id": 9553, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request interception handler." + } + ] + }, + "type": { + "type": "reference", + "target": 9049, + "name": "InterceptHandler", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.addInterceptRequestHandler" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.addInterceptRequestHandler" + } + }, + { + "id": 9537, + "name": "blockRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 831, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L831" + } + ], + "signatures": [ + { + "id": 9538, + "name": "blockRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Forces the Puppeteer browser tab to block loading URLs that match a provided pattern.\nThis is useful to speed up crawling of websites, since it reduces the amount\nof data that needs to be downloaded from the web, but it may break some websites\nor unexpectedly prevent loading of resources.\n\nBy default, the function will block all URLs including the following patterns:\n\n" + }, + { + "kind": "code", + "text": "```json\n[\".css\", \".jpg\", \".jpeg\", \".png\", \".svg\", \".gif\", \".woff\", \".pdf\", \".zip\"]\n```" + }, + { + "kind": "text", + "text": "\n\nIf you want to extend this list further, use the " + }, + { + "kind": "code", + "text": "`extraUrlPatterns`" + }, + { + "kind": "text", + "text": " option,\nwhich will keep blocking the default patterns, as well as add your custom ones.\nIf you would like to block only specific patterns, use the " + }, + { + "kind": "code", + "text": "`urlPatterns`" + }, + { + "kind": "text", + "text": " option,\nwhich will override the defaults and block only URLs with your custom patterns.\n\nThis function does not use Puppeteer's request interception and therefore does not interfere\nwith browser cache. It's also faster than blocking requests using interception,\nbecause the blocking happens directly in the browser without the round-trip to Node.js,\nbut it does not provide the extra benefits of request interception.\n\nThe function will never block main document loads and their respective redirects.\n\n**Example usage**\n" + }, + { + "kind": "code", + "text": "```javascript\npreNavigationHooks: [\n async ({ blockRequests }) => {\n // Block all requests to URLs that include `adsbygoogle.js` and also all defaults.\n await blockRequests({\n extraUrlPatterns: ['adsbygoogle.js'],\n }),\n }),\n],\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 831, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L831" + } + ], + "parameters": [ + { + "id": 9539, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9115, + "name": "BlockRequestsOptions", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.blockRequests" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.blockRequests" + } + }, + { + "id": 9540, + "name": "blockResources", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 838, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L838" + } + ], + "signatures": [ + { + "id": 9541, + "name": "blockResources", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`blockResources()`" + }, + { + "kind": "text", + "text": " has a high impact on performance in recent versions of Puppeteer.\nUntil this resolves, please use " + }, + { + "kind": "code", + "text": "`utils.puppeteer.blockRequests()`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 838, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L838" + } + ], + "parameters": [ + { + "id": 9542, + "name": "resourceTypes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.blockResources" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.blockResources" + } + }, + { + "id": 9543, + "name": "cacheResponses", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 854, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L854" + } + ], + "signatures": [ + { + "id": 9544, + "name": "cacheResponses", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "*NOTE:* In recent versions of Puppeteer using this function entirely disables browser cache which resolves in sub-optimal\nperformance. Until this resolves, we suggest just relying on the in-browser cache unless absolutely necessary.\n\nEnables caching of intercepted responses into a provided object. Automatically enables request interception in Puppeteer.\n*IMPORTANT*: Caching responses stores them to memory, so too loose rules could cause memory leaks for longer running crawlers.\n This issue should be resolved or atleast mitigated in future iterations of this feature." + } + ], + "blockTags": [ + { + "tag": "@deprecated", + "content": [] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 854, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L854" + } + ], + "parameters": [ + { + "id": 9545, + "name": "cache", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Object in which responses are stored" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "ResponseForRequest" + }, + "name": "ResponseForRequest", + "package": "puppeteer" + } + ], + "name": "Partial", + "package": "typescript" + } + ], + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 9546, + "name": "responseUrlRules", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "List of rules that are used to check if the response should be cached.\n String rules are compared as page.url().includes(rule) while RegExp rules are evaluated as rule.test(page.url())." + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.cacheResponses" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.cacheResponses" + } + }, + { + "id": 9563, + "name": "closeCookieModals", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 956, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L956" + } + ], + "signatures": [ + { + "id": 9564, + "name": "closeCookieModals", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Tries to close cookie consent modals on the page. Based on the I Don't Care About Cookies browser extension." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 956, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L956" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.closeCookieModals" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.closeCookieModals" + } + }, + { + "id": 9547, + "name": "compileScript", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 882, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L882" + } + ], + "signatures": [ + { + "id": 9548, + "name": "compileScript", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Compiles a Puppeteer script into an async function that may be executed at any time\nby providing it with the following object:\n" + }, + { + "kind": "code", + "text": "```\n{\n page: Page,\n request: Request,\n}\n```" + }, + { + "kind": "text", + "text": "\nWhere " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": " is a Puppeteer [" + }, + { + "kind": "code", + "text": "`Page`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page)\nand " + }, + { + "kind": "code", + "text": "`request`" + }, + { + "kind": "text", + "text": " is a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": ".\n\nThe function is compiled by using the " + }, + { + "kind": "code", + "text": "`scriptString`" + }, + { + "kind": "text", + "text": " parameter as the function's body,\nso any limitations to function bodies apply. Return value of the compiled function\nis the return value of the function body = the " + }, + { + "kind": "code", + "text": "`scriptString`" + }, + { + "kind": "text", + "text": " parameter.\n\nAs a security measure, no globals such as " + }, + { + "kind": "code", + "text": "`process`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`require`" + }, + { + "kind": "text", + "text": " are accessible\nfrom within the function body. Note that the function does not provide a safe\nsandbox and even though globals are not easily accessible, malicious code may\nstill execute in the main process via prototype manipulation. Therefore you\nshould only use this function to execute sanitized or safe code.\n\nCustom context may also be provided using the " + }, + { + "kind": "code", + "text": "`context`" + }, + { + "kind": "text", + "text": " parameter. To improve security,\nmake sure to only pass the really necessary objects to the context. Preferably making\nsecured copies beforehand." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 882, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L882" + } + ], + "parameters": [ + { + "id": 9549, + "name": "scriptString", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9550, + "name": "ctx", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": 9121, + "name": "CompiledScriptFunction", + "package": "@crawlee/puppeteer" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.compileScript" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.compileScript" + } + }, + { + "id": 9496, + "name": "enqueueLinks", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "signatures": [ + { + "id": 9497, + "name": "enqueueLinks", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function automatically finds and enqueues links from the current page, adding them to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": "\ncurrently used by the crawler.\n\nOptionally, the function allows you to filter the target links' URLs using an array of globs or regular expressions\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\nCheck out the [Crawl a website with relative links](https://crawlee.dev/docs/examples/crawl-relative-links) example\nfor more details regarding its usage.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ enqueueLinks }) {\n await enqueueLinks({\n globs: [\n 'https://www.example.com/handbags/*',\n ],\n });\n},\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 122, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L122" + } + ], + "parameters": [ + { + "id": 9498, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`enqueueLinks()`" + }, + { + "kind": "text", + "text": " parameters are passed via an options object." + } + ] + }, + "type": { + "type": "intersection", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyObjectDeep" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Omit", + "package": "typescript" + } + ], + "name": "ReadonlyObjectDeep", + "package": "type-fest" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Pick" + }, + "typeArguments": [ + { + "type": "reference", + "target": 973, + "name": "EnqueueLinksOptions", + "package": "@crawlee/core" + }, + { + "type": "literal", + "value": "requestQueue" + } + ], + "name": "Pick", + "package": "typescript" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7074, + "name": "BrowserCrawlingContext.enqueueLinks" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7073, + "name": "BrowserCrawlingContext.enqueueLinks" + } + }, + { + "id": 9534, + "name": "enqueueLinksByClickingElements", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 793, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L793" + } + ], + "signatures": [ + { + "id": 9535, + "name": "enqueueLinksByClickingElements", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function finds elements matching a specific CSS selector in a Puppeteer page,\nclicks all those elements using a mouse move and a left mouse button click and intercepts\nall the navigation requests that are subsequently produced by the page. The intercepted\nrequests, including their methods, headers and payloads are then enqueued to a provided\n" + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RequestQueue" + }, + { + "kind": "text", + "text": ". This is useful to crawl JavaScript heavy pages where links are not available\nin " + }, + { + "kind": "code", + "text": "`href`" + }, + { + "kind": "text", + "text": " elements, but rather navigations are triggered in click handlers.\nIf you're looking to find URLs in " + }, + { + "kind": "code", + "text": "`href`" + }, + { + "kind": "text", + "text": " attributes of the page, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "enqueueLinks" + }, + { + "kind": "text", + "text": ".\n\nOptionally, the function allows you to filter the target links' URLs using an array of " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PseudoUrl" + }, + { + "kind": "text", + "text": " objects\nand override settings of the enqueued " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Request" + }, + { + "kind": "text", + "text": " objects.\n\n**IMPORTANT**: To be able to do this, this function uses various mutations on the page,\nsuch as changing the Z-index of elements being clicked and their visibility. Therefore,\nit is recommended to only use this function as the last operation in the page.\n\n**USING HEADFUL BROWSER**: When using a headful browser, this function will only be able to click elements\nin the focused tab, effectively limiting concurrency to 1. In headless mode, full concurrency can be achieved.\n\n**PERFORMANCE**: Clicking elements with a mouse and intercepting requests is not a low level operation\nthat takes nanoseconds. It's not very CPU intensive, but it takes time. We strongly recommend limiting\nthe scope of the clicking as much as possible by using a specific selector that targets only the elements\nthat you assume or know will produce a navigation. You can certainly click everything by using\nthe " + }, + { + "kind": "code", + "text": "`*`" + }, + { + "kind": "text", + "text": " selector, but be prepared to wait minutes to get results on a large and complex page.\n\n**Example usage**\n\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ enqueueLinksByClickingElements }) {\n await enqueueLinksByClickingElements({\n selector: 'a.product-detail',\n globs: [\n 'https://www.example.com/handbags/**'\n 'https://www.example.com/purses/**'\n ],\n });\n});\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "BatchAddRequestsResult" + }, + { + "kind": "text", + "text": " object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 793, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L793" + } + ], + "parameters": [ + { + "id": 9536, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Omit" + }, + "typeArguments": [ + { + "type": "reference", + "target": 9286, + "name": "EnqueueLinksByClickingElementsOptions", + "package": "@crawlee/puppeteer" + }, + { + "type": "union", + "types": [ + { + "type": "literal", + "value": "requestQueue" + }, + { + "type": "literal", + "value": "page" + } + ] + } + ], + "name": "Omit", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.enqueueLinksByClickingElements" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.enqueueLinksByClickingElements" + } + }, + { + "id": 9557, + "name": "infiniteScroll", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 946, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L946" + } + ], + "signatures": [ + { + "id": 9558, + "name": "infiniteScroll", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Scrolls to the bottom of a page, or until it times out.\nLoads dynamic content when it hits the bottom of a page, and then continues scrolling." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 946, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L946" + } + ], + "parameters": [ + { + "id": 9559, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9129, + "name": "InfiniteScrollOptions", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.infiniteScroll" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.infiniteScroll" + } + }, + { + "id": 9526, + "name": "injectFile", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 710, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L710" + } + ], + "signatures": [ + { + "id": 9527, + "name": "injectFile", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Injects a JavaScript file into current " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": ".\nUnlike Puppeteer's " + }, + { + "kind": "code", + "text": "`addScriptTag`" + }, + { + "kind": "text", + "text": " function, this function works on pages\nwith arbitrary Cross-Origin Resource Sharing (CORS) policies.\n\nFile contents are cached for up to 10 files to limit file system access." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 710, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L710" + } + ], + "parameters": [ + { + "id": 9528, + "name": "filePath", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 9529, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9113, + "name": "InjectFileOptions", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.injectFile" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.injectFile" + } + }, + { + "id": 9530, + "name": "injectJQuery", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 737, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L737" + } + ], + "signatures": [ + { + "id": 9531, + "name": "injectJQuery", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Injects the [jQuery](https://jquery.com/) library into current " + }, + { + "kind": "code", + "text": "`page`" + }, + { + "kind": "text", + "text": ".\njQuery is often useful for various web scraping and crawling tasks.\nFor example, it can help extract text from HTML elements using CSS selectors.\n\nBeware that the injected jQuery object will be set to the " + }, + { + "kind": "code", + "text": "`window.$`" + }, + { + "kind": "text", + "text": " variable and thus it might cause conflicts with\nother libraries included by the page that use the same variable name (e.g. another version of jQuery).\nThis can affect functionality of page's scripts.\n\nThe injected jQuery will survive page navigations and reloads.\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ page, injectJQuery }) {\n await injectJQuery();\n const title = await page.evaluate(() => {\n return $('head title').text();\n });\n});\n```" + }, + { + "kind": "text", + "text": "\n\nNote that " + }, + { + "kind": "code", + "text": "`injectJQuery()`" + }, + { + "kind": "text", + "text": " does not affect the Puppeteer's\n[" + }, + { + "kind": "code", + "text": "`page.$()`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/api/puppeteer.page._/)\nfunction in any way." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 737, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L737" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.injectJQuery" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.injectJQuery" + } + }, + { + "id": 9532, + "name": "parseWithCheerio", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 750, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L750" + } + ], + "signatures": [ + { + "id": 9533, + "name": "parseWithCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns Cheerio handle for " + }, + { + "kind": "code", + "text": "`page.content()`" + }, + { + "kind": "text", + "text": ", allowing to work with the data same way as with " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "CheerioCrawler" + }, + { + "kind": "text", + "text": ".\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\nasync requestHandler({ parseWithCheerio }) {\n const $ = await parseWithCheerio();\n const title = $('title').text();\n});\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 750, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L750" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.parseWithCheerio" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.parseWithCheerio" + } + }, + { + "id": 9508, + "name": "pushData", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "signatures": [ + { + "id": 9509, + "name": "pushData", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "This function allows you to push data to a " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Dataset" + }, + { + "kind": "text", + "text": " specified by name, or the one currently used by the crawler.\n\nShortcut for " + }, + { + "kind": "code", + "text": "`crawler.pushData()`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 30, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L30" + } + ], + "parameters": [ + { + "id": 9510, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Data to be pushed to the default dataset." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/type-fest/source/readonly-deep.d.ts", + "qualifiedName": "ReadonlyDeep" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + } + ], + "name": "ReadonlyDeep", + "package": "type-fest" + } + }, + { + "id": 9511, + "name": "datasetIdOrName", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7086, + "name": "BrowserCrawlingContext.pushData" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7085, + "name": "BrowserCrawlingContext.pushData" + } + }, + { + "id": 9554, + "name": "removeInterceptRequestHandler", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 940, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L940" + } + ], + "signatures": [ + { + "id": 9555, + "name": "removeInterceptRequestHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Removes request interception handler for given page." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 940, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L940" + } + ], + "parameters": [ + { + "id": 9556, + "name": "handler", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request interception handler." + } + ] + }, + "type": { + "type": "reference", + "target": 9049, + "name": "InterceptHandler", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.removeInterceptRequestHandler" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.removeInterceptRequestHandler" + } + }, + { + "id": 9560, + "name": "saveSnapshot", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 951, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L951" + } + ], + "signatures": [ + { + "id": 9561, + "name": "saveSnapshot", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Saves a full screenshot and HTML of the current page into a Key-Value store." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "line": 951, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts#L951" + } + ], + "parameters": [ + { + "id": 9562, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 9138, + "name": "SaveSnapshotOptions", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.saveSnapshot" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": -1, + "name": "PuppeteerContextUtils.saveSnapshot" + } + }, + { + "id": 9503, + "name": "sendRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "signatures": [ + { + "id": 9504, + "name": "sendRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fires HTTP request via [" + }, + { + "kind": "code", + "text": "`got-scraping`" + }, + { + "kind": "text", + "text": "](https://crawlee.dev/docs/guides/got-scraping), allowing to override the request\noptions on the fly.\n\nThis is handy when you work with a browser crawler but want to execute some requests outside it (e.g. API requests).\nCheck the [Skipping navigations for certain requests](https://crawlee.dev/docs/examples/skip-navigation) example for\nmore detailed explanation of how to do that.\n\n" + }, + { + "kind": "code", + "text": "```ts\nasync requestHandler({ sendRequest }) {\n const { body } = await sendRequest({\n // override headers only\n headers: { ... },\n });\n},\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/core/src/crawlers/crawler_commons.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/core/src/crawlers/crawler_commons.ts#L148" + } + ], + "typeParameter": [ + { + "id": 9505, + "name": "Response", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "default": { + "type": "intrinsic", + "name": "string" + } + } + ], + "parameters": [ + { + "id": 9506, + "name": "overrideOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + ], + "name": "Partial", + "package": "typescript" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 634, + "name": "Response", + "package": "@crawlee/core", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "Promise", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 7081, + "name": "BrowserCrawlingContext.sendRequest" + } + } + ], + "inheritedFrom": { + "type": "reference", + "target": 7080, + "name": "BrowserCrawlingContext.sendRequest" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9512, + 9489, + 9495, + 9499, + 9492, + 9525, + 9490, + 9494, + 9507, + 9491, + 9493, + 9520 + ] + }, + { + "title": "Methods", + "children": [ + 9551, + 9537, + 9540, + 9543, + 9563, + 9547, + 9496, + 9534, + 9557, + 9526, + 9530, + 9532, + 9508, + 9554, + 9560, + 9503 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 20, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L20" + } + ], + "typeParameters": [ + { + "id": 9565, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7065, + "typeArguments": [ + { + "type": "reference", + "target": 9612, + "name": "PuppeteerCrawler", + "package": "@crawlee/puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "HTTPResponse" + }, + "name": "HTTPResponse", + "package": "puppeteer" + }, + { + "type": "reference", + "target": 3351, + "name": "PuppeteerController", + "package": "@crawlee/browser-pool" + }, + { + "type": "reference", + "target": 9565, + "name": "UserData", + "package": "@crawlee/puppeteer", + "qualifiedName": "PuppeteerCrawlingContext.UserData", + "refersToTypeParameter": true + } + ], + "name": "BrowserCrawlingContext", + "package": "@crawlee/browser" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils" + }, + "name": "PuppeteerContextUtils", + "package": "@crawlee/puppeteer" + } + ] + }, + { + "id": 9566, + "name": "PuppeteerHook", + "variant": "declaration", + "kind": 256, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 22, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L22" + } + ], + "signatures": [ + { + "id": 9567, + "name": "PuppeteerHook", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 22, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L22" + } + ], + "parameters": [ + { + "id": 9568, + "name": "crawlingContext", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 9488, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + }, + { + "id": 9569, + "name": "gotoOptions", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "GoToOptions" + }, + "name": "GoToOptions", + "package": "puppeteer" + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7112, + "typeArguments": [ + { + "type": "reference", + "target": 9488, + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + }, + { + "type": "reference", + "target": 9573, + "name": "PuppeteerGoToOptions", + "package": "@crawlee/puppeteer" + } + ], + "name": "BrowserHook", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 9861, + "name": "PuppeteerLaunchContext", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Apify extends the launch options of Puppeteer.\nYou can use any of the Puppeteer compatible\n[" + }, + { + "kind": "code", + "text": "`LaunchOptions`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/#?product=Puppeteer&show=api-puppeteerlaunchoptions)\noptions by providing the " + }, + { + "kind": "code", + "text": "`launchOptions`" + }, + { + "kind": "text", + "text": " property.\n\n**Example:**\n" + }, + { + "kind": "code", + "text": "```js\n// launch a headless Chrome (not Chromium)\nconst launchContext = {\n // Apify helpers\n useChrome: true,\n proxyUrl: 'http://user:password@some.proxy.com'\n // Native Puppeteer options\n launchOptions: {\n headless: true,\n args: ['--some-flag'],\n }\n}\n```" + } + ] + }, + "children": [ + { + "id": 9867, + "name": "browserPerProxy", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ", the crawler respects the proxy url generated for the given request.\nThis aligns the browser-based crawlers with the " + }, + { + "kind": "code", + "text": "`HttpCrawler`" + }, + { + "kind": "text", + "text": ".\n\nMight cause performance issues, as Crawlee might launch too many browser instances." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7415, + "name": "BrowserLaunchContext.browserPerProxy" + } + }, + { + "id": 9868, + "name": "experimentalContainers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Like " + }, + { + "kind": "code", + "text": "`useIncognitoPages`" + }, + { + "kind": "text", + "text": ", but for persistent contexts, so cache is used for faster loading.\nWorks best with Firefox. Unstable on Chromium." + } + ], + "modifierTags": [ + "@experimental" + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 54, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L54" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 7417, + "name": "BrowserLaunchContext.experimentalContainers" + } + }, + { + "id": 9862, + "name": "launchOptions", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "code", + "text": "`puppeteer.launch`" + }, + { + "kind": "text", + "text": " [options](https://pptr.dev/#?product=Puppeteer&version=v13.5.1&show=api-puppeteerlaunchoptions)" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts#L32" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "PuppeteerLaunchOptions" + }, + "name": "PuppeteerLaunchOptions", + "package": "puppeteer" + }, + "overwrites": { + "type": "reference", + "target": 7421, + "name": "BrowserLaunchContext.launchOptions" + } + }, + { + "id": 9865, + "name": "launcher", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Already required module (" + }, + { + "kind": "code", + "text": "`Object`" + }, + { + "kind": "text", + "text": "). This enables usage of various Puppeteer\nwrappers such as " + }, + { + "kind": "code", + "text": "`puppeteer-extra`" + }, + { + "kind": "text", + "text": ".\n\nTake caution, because it can cause all kinds of unexpected errors and weird behavior.\nCrawlee is not tested with any other library besides " + }, + { + "kind": "code", + "text": "`puppeteer`" + }, + { + "kind": "text", + "text": " itself." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "line": 60, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts#L60" + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + }, + "overwrites": { + "type": "reference", + "target": 7420, + "name": "BrowserLaunchContext.launcher" + } + }, + { + "id": 9863, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URL to a HTTP proxy server. It must define the port number,\nand it may also contain proxy username and password.\n\nExample: " + }, + { + "kind": "code", + "text": "`http://bob:pass123@proxy.example.com:1234`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "line": 40, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts#L40" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "target": 7413, + "name": "BrowserLaunchContext.proxyUrl" + } + }, + { + "id": 9864, + "name": "useChrome", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "If " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`executablePath`" + }, + { + "kind": "text", + "text": " is not set,\nPuppeteer will launch full Google Chrome browser available on the machine\nrather than the bundled Chromium. The path to Chrome executable\nis taken from the " + }, + { + "kind": "code", + "text": "`CRAWLEE_CHROME_EXECUTABLE_PATH`" + }, + { + "kind": "text", + "text": " environment variable if provided,\nor defaults to the typical Google Chrome executable location specific for the operating system.\nBy default, this option is " + }, + { + "kind": "code", + "text": "`false`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "line": 51, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts#L51" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "overwrites": { + "type": "reference", + "target": 7414, + "name": "BrowserLaunchContext.useChrome" + } + }, + { + "id": 9866, + "name": "useIncognitoPages", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "With this option selected, all pages will be opened in a new incognito browser context.\nThis means they will not share cookies nor cache and their resources will not be throttled by one another." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nfalse\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "line": 67, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts#L67" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "overwrites": { + "type": "reference", + "target": 7416, + "name": "BrowserLaunchContext.useIncognitoPages" + } + }, + { + "id": 9870, + "name": "userAgent", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The " + }, + { + "kind": "code", + "text": "`User-Agent`" + }, + { + "kind": "text", + "text": " HTTP header used by the browser.\nIf not provided, the function sets " + }, + { + "kind": "code", + "text": "`User-Agent`" + }, + { + "kind": "text", + "text": " to a reasonable default\nto reduce the chance of detection of the crawler." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 68, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L68" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7419, + "name": "BrowserLaunchContext.userAgent" + } + }, + { + "id": 9869, + "name": "userDataDir", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Sets the [User Data Directory](https://chromium.googlesource.com/chromium/src/+/master/docs/user_data_dir.md) path.\nThe user data directory contains profile data such as history, bookmarks, and cookies, as well as other per-installation local state.\nIf not specified, a temporary directory is used instead." + } + ] + }, + "sources": [ + { + "fileName": "packages/browser-crawler/src/internals/browser-launcher.ts", + "line": 61, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/browser-crawler/src/internals/browser-launcher.ts#L61" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 7418, + "name": "BrowserLaunchContext.userDataDir" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 9867, + 9868, + 9862, + 9865, + 9863, + 9864, + 9866, + 9870, + 9869 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "line": 28, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts#L28" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7412, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "launchOptions" + }, + "objectType": { + "type": "reference", + "target": 6342, + "name": "PuppeteerPlugin", + "package": "@crawlee/browser-pool" + } + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "BrowserLaunchContext", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 9570, + "name": "PuppeteerRequestHandler", + "variant": "declaration", + "kind": 256, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L23" + } + ], + "signatures": [ + { + "id": 9571, + "name": "PuppeteerRequestHandler", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 23, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L23" + } + ], + "parameters": [ + { + "id": 9572, + "name": "inputs", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 9488, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Awaitable" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Awaitable", + "package": "@crawlee/types" + } + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 7108, + "typeArguments": [ + { + "type": "reference", + "target": 9488, + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + ], + "name": "BrowserRequestHandler", + "package": "@crawlee/browser" + } + ] + }, + { + "id": 9573, + "name": "PuppeteerGoToOptions", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 24, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L24" + } + ], + "type": { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": 1 + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Parameters" + }, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "goto" + }, + "objectType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Page" + }, + "name": "Page", + "package": "puppeteer" + } + } + ], + "name": "Parameters", + "package": "typescript" + } + } + }, + { + "id": 9483, + "name": "createPuppeteerRouter", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 217, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L217" + } + ], + "signatures": [ + { + "id": 9484, + "name": "createPuppeteerRouter", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates new " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "Router" + }, + { + "kind": "text", + "text": " instance that works based on request labels.\nThis instance can then serve as a " + }, + { + "kind": "code", + "text": "`requestHandler`" + }, + { + "kind": "text", + "text": " of your " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawler" + }, + { + "kind": "text", + "text": ".\nDefaults to the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "PuppeteerCrawlingContext" + }, + { + "kind": "text", + "text": ".\n\n> Serves as a shortcut for using " + }, + { + "kind": "code", + "text": "`Router.create()`" + }, + { + "kind": "text", + "text": ".\n\n" + }, + { + "kind": "code", + "text": "```ts\nimport { PuppeteerCrawler, createPuppeteerRouter } from 'crawlee';\n\nconst router = createPuppeteerRouter();\nrouter.addHandler('label-a', async (ctx) => {\n ctx.log.info('...');\n});\nrouter.addDefaultHandler(async (ctx) => {\n ctx.log.info('...');\n});\n\nconst crawler = new PuppeteerCrawler({\n requestHandler: router,\n});\nawait crawler.run();\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "line": 217, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts#L217" + } + ], + "typeParameter": [ + { + "id": 9485, + "name": "Context", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": 9488, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + }, + "default": { + "type": "reference", + "target": 9488, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "PuppeteerCrawlingContext", + "package": "@crawlee/puppeteer" + } + }, + { + "id": 9486, + "name": "UserData", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": 1929, + "typeArguments": [ + { + "type": "indexedAccess", + "indexType": { + "type": "literal", + "value": "request" + }, + "objectType": { + "type": "reference", + "target": 9485, + "name": "Context", + "package": "@crawlee/puppeteer", + "refersToTypeParameter": true + } + } + ], + "name": "GetUserDataFromRequest", + "package": "@crawlee/core" + } + } + ], + "parameters": [ + { + "id": 9487, + "name": "routes", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 1931, + "typeArguments": [ + { + "type": "reference", + "target": 9485, + "name": "Context", + "package": "@crawlee/puppeteer", + "refersToTypeParameter": true + }, + { + "type": "reference", + "target": 9486, + "name": "UserData", + "package": "@crawlee/puppeteer", + "refersToTypeParameter": true + } + ], + "name": "RouterRoutes", + "package": "@crawlee/core" + } + } + ], + "type": { + "type": "reference", + "target": 1894, + "typeArguments": [ + { + "type": "reference", + "target": 9485, + "name": "Context", + "package": "@crawlee/puppeteer", + "refersToTypeParameter": true + } + ], + "name": "RouterHandler", + "package": "@crawlee/core" + } + } + ] + }, + { + "id": 9857, + "name": "launchPuppeteer", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "line": 140, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts#L140" + } + ], + "signatures": [ + { + "id": 9858, + "name": "launchPuppeteer", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Launches headless Chrome using Puppeteer pre-configured to work within the Apify platform.\nThe function has the same argument and the return value as " + }, + { + "kind": "code", + "text": "`puppeteer.launch()`" + }, + { + "kind": "text", + "text": ".\nSee [Puppeteer documentation](https://github.com/puppeteer/puppeteer/blob/master/docs/api.md#puppeteerlaunchoptions) for more details.\n\nThe " + }, + { + "kind": "code", + "text": "`launchPuppeteer()`" + }, + { + "kind": "text", + "text": " function alters the following Puppeteer options:\n\n- Passes the setting from the " + }, + { + "kind": "code", + "text": "`CRAWLEE_HEADLESS`" + }, + { + "kind": "text", + "text": " environment variable to the " + }, + { + "kind": "code", + "text": "`headless`" + }, + { + "kind": "text", + "text": " option,\n unless it was already defined by the caller or " + }, + { + "kind": "code", + "text": "`CRAWLEE_XVFB`" + }, + { + "kind": "text", + "text": " environment variable is set to " + }, + { + "kind": "code", + "text": "`1`" + }, + { + "kind": "text", + "text": ".\n Note that Apify Actor cloud platform automatically sets " + }, + { + "kind": "code", + "text": "`CRAWLEE_HEADLESS=1`" + }, + { + "kind": "text", + "text": " to all running actors.\n- Takes the " + }, + { + "kind": "code", + "text": "`proxyUrl`" + }, + { + "kind": "text", + "text": " option, validates it and adds it to " + }, + { + "kind": "code", + "text": "`args`" + }, + { + "kind": "text", + "text": " as " + }, + { + "kind": "code", + "text": "`--proxy-server=XXX`" + }, + { + "kind": "text", + "text": ".\n The proxy URL must define a port number and have one of the following schemes: " + }, + { + "kind": "code", + "text": "`http://`" + }, + { + "kind": "text", + "text": ",\n " + }, + { + "kind": "code", + "text": "`https://`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`socks4://`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`socks5://`" + }, + { + "kind": "text", + "text": ".\n If the proxy is HTTP (i.e. has the " + }, + { + "kind": "code", + "text": "`http://`" + }, + { + "kind": "text", + "text": " scheme) and contains username or password,\n the " + }, + { + "kind": "code", + "text": "`launchPuppeteer`" + }, + { + "kind": "text", + "text": " functions sets up an anonymous proxy HTTP\n to make the proxy work with headless Chrome. For more information, read the\n [blog post about proxy-chain library](https://blog.apify.com/how-to-make-headless-chrome-and-puppeteer-use-a-proxy-server-with-authentication-249a21a79212).\n\nTo use this function, you need to have the [puppeteer](https://www.npmjs.com/package/puppeteer)\nNPM package installed in your project.\nWhen running on the Apify cloud, you can achieve that simply\nby using the " + }, + { + "kind": "code", + "text": "`apify/actor-node-chrome`" + }, + { + "kind": "text", + "text": " base Docker image for your actor - see\n[Apify Actor documentation](https://docs.apify.com/actor/build#base-images)\nfor details." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Promise that resolves to Puppeteer's " + }, + { + "kind": "code", + "text": "`Browser`" + }, + { + "kind": "text", + "text": " instance." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "line": 140, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts#L140" + } + ], + "parameters": [ + { + "id": 9859, + "name": "launchContext", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "All " + }, + { + "kind": "code", + "text": "`PuppeteerLauncher`" + }, + { + "kind": "text", + "text": " parameters are passed via an launchContext object.\n If you want to pass custom " + }, + { + "kind": "code", + "text": "`puppeteer.launch(options)`" + }, + { + "kind": "text", + "text": " options you can use the " + }, + { + "kind": "code", + "text": "`PuppeteerLaunchContext.launchOptions`" + }, + { + "kind": "text", + "text": " property." + } + ] + }, + "type": { + "type": "reference", + "target": 9861, + "name": "PuppeteerLaunchContext", + "package": "@crawlee/puppeteer" + } + }, + { + "id": 9860, + "name": "config", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 490, + "name": "Configuration", + "package": "@crawlee/core" + }, + "defaultValue": "..." + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/puppeteer/lib/types.d.ts", + "qualifiedName": "Browser" + }, + "name": "Browser", + "package": "puppeteer" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 9436, + 9437, + 9315, + 9314, + 9472, + 9399, + 9467, + 9465, + 9460, + 9265, + 9480, + 9479, + 9475, + 9477, + 9478, + 9481, + 9476, + 9320, + 9266, + 9267, + 9324, + 9323, + 9307, + 9469, + 9470, + 9466, + 9471, + 9326, + 9468, + 9396, + 9310, + 9412, + 9413, + 9417, + 9408, + 9409, + 9411, + 9410, + 9414, + 9416, + 9415, + 9301, + 9342, + 9343, + 9335, + 9462, + 9339, + 9337, + 9336, + 9364, + 9362, + 9363, + 9321, + 9385, + 9358, + 9357, + 9438, + 9269, + 9270, + 9053, + 9420, + 9419, + 9423, + 9421, + 9365, + 9367, + 9369, + 9370, + 9371, + 9368, + 9372, + 9401, + 9309, + 9400, + 9330, + 9377, + 9373, + 9374, + 9376, + 9302, + 9356, + 9355, + 9268, + 9381, + 9308, + 9422, + 9360, + 9359, + 9379, + 9461, + 9327, + 9427, + 9426, + 9429, + 9428, + 9380, + 9430, + 9431, + 9403, + 9434, + 9432, + 9402, + 9404, + 9378, + 9361, + 9325, + 9312, + 9387, + 9384, + 9386, + 9271, + 9395, + 9313, + 9394, + 9398, + 9397, + 9393, + 9338, + 9317, + 9316, + 9382, + 9333, + 9334, + 9331, + 9332, + 9464, + 9463, + 9306, + 9440, + 9318, + 9322, + 9319, + 9375, + 9354, + 9444, + 9450, + 9459, + 9340, + 9351, + 9366, + 9441, + 9353, + 9442, + 9451 + ] + }, + { + "title": "Namespaces", + "children": [ + 9272, + 9040, + 9054 + ] + }, + { + "title": "Classes", + "children": [ + 9612 + ] + }, + { + "title": "Interfaces", + "children": [ + 9574, + 9488, + 9566, + 9861, + 9570 + ] + }, + { + "title": "Type Aliases", + "children": [ + 9573 + ] + }, + { + "title": "Functions", + "children": [ + 9483, + 9857 + ] + } + ], + "categories": [ + { + "title": "Crawlers", + "children": [ + 9612 + ] + }, + { + "title": "__CATEGORY__", + "children": [ + 9436, + 9437, + 9315, + 9314, + 9472, + 9399, + 9467, + 9465, + 9460, + 9265, + 9480, + 9479, + 9475, + 9477, + 9478, + 9481, + 9476, + 9320, + 9266, + 9267, + 9324, + 9323, + 9307, + 9469, + 9470, + 9466, + 9471, + 9326, + 9468, + 9396, + 9310, + 9412, + 9413, + 9417, + 9408, + 9409, + 9411, + 9410, + 9414, + 9416, + 9415, + 9301, + 9342, + 9343, + 9335, + 9462, + 9339, + 9337, + 9336, + 9364, + 9362, + 9363, + 9321, + 9385, + 9358, + 9357, + 9438, + 9269, + 9270, + 9053, + 9420, + 9419, + 9423, + 9421, + 9365, + 9367, + 9369, + 9370, + 9371, + 9368, + 9372, + 9401, + 9309, + 9400, + 9330, + 9377, + 9373, + 9374, + 9376, + 9302, + 9356, + 9355, + 9268, + 9381, + 9308, + 9422, + 9360, + 9359, + 9379, + 9461, + 9327, + 9427, + 9426, + 9429, + 9428, + 9380, + 9430, + 9431, + 9403, + 9434, + 9432, + 9402, + 9404, + 9378, + 9361, + 9325, + 9312, + 9387, + 9384, + 9386, + 9271, + 9395, + 9313, + 9394, + 9398, + 9397, + 9393, + 9338, + 9317, + 9316, + 9382, + 9333, + 9334, + 9331, + 9332, + 9464, + 9463, + 9306, + 9440, + 9318, + 9322, + 9319, + 9375, + 9354, + 9444, + 9450, + 9459, + 9340, + 9351, + 9366, + 9441, + 9353, + 9442, + 9451, + 9272, + 9040, + 9054, + 9574, + 9488, + 9566, + 9861, + 9570, + 9573, + 9483, + 9857 + ] + } + ], + "sources": [ + { + "fileName": "packages/puppeteer-crawler/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/puppeteer-crawler/src/index.ts#L1" + } + ] + }, + { + "id": 13, + "name": "types/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 13755, + "name": "Cookie", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 3, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L3" + } + ], + "target": 59 + }, + { + "id": 13468, + "name": "QueueOperationInfo", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 7, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L7" + } + ], + "target": 73 + }, + { + "id": 13750, + "name": "StorageClient", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 317, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L317" + } + ], + "target": 31 + }, + { + "id": 13699, + "name": "BatchAddRequestsResult", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13700, + "name": "processedRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 285, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L285" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13690, + "name": "ProcessedRequest", + "package": "@crawlee/types" + } + } + }, + { + "id": 13701, + "name": "unprocessedRequests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 286, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L286" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13695, + "name": "UnprocessedRequest", + "package": "@crawlee/types" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13700, + 13701 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 284, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L284" + } + ] + }, + { + "id": 13756, + "name": "BrowserLikeResponse", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13759, + "name": "headers", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L63" + } + ], + "signatures": [ + { + "id": 13760, + "name": "headers", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 63, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L63" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + ], + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 13757, + "name": "url", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 62, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L62" + } + ], + "signatures": [ + { + "id": 13758, + "name": "url", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 62, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L62" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 13759, + 13757 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/browser.ts", + "line": 61, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/browser.ts#L61" + } + ] + }, + { + "id": 13483, + "name": "Dataset", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13489, + "name": "accessedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 29, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L29" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 13476, + "name": "DatasetCollectionData.accessedAt" + } + }, + { + "id": 13487, + "name": "createdAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L27" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 13474, + "name": "DatasetCollectionData.createdAt" + } + }, + { + "id": 13485, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 25, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L25" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 13472, + "name": "DatasetCollectionData.id" + } + }, + { + "id": 13484, + "name": "itemCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L41" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13488, + "name": "modifiedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 28, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L28" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 13475, + "name": "DatasetCollectionData.modifiedAt" + } + }, + { + "id": 13486, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L26" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 13473, + "name": "DatasetCollectionData.name" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13489, + 13487, + 13485, + 13484, + 13488, + 13486 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L40" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 13471, + "name": "DatasetCollectionData", + "package": "@crawlee/types" + } + ] + }, + { + "id": 13518, + "name": "DatasetClient", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13524, + "name": "delete", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 89, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L89" + } + ], + "signatures": [ + { + "id": 13525, + "name": "delete", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 89, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L89" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13526, + "name": "downloadItems", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L90" + } + ], + "signatures": [ + { + "id": 13527, + "name": "downloadItems", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 90, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L90" + } + ], + "parameters": [ + { + "id": 13528, + "name": "args", + "variant": "param", + "kind": 32768, + "flags": { + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "unknown" + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13519, + "name": "get", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L87" + } + ], + "signatures": [ + { + "id": 13520, + "name": "get", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 87, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L87" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13504, + "name": "DatasetInfo", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13529, + "name": "listItems", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 91, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L91" + } + ], + "signatures": [ + { + "id": 13530, + "name": "listItems", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 91, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L91" + } + ], + "parameters": [ + { + "id": 13531, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13492, + "name": "DatasetClientListOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13496, + "typeArguments": [ + { + "type": "reference", + "target": 13535, + "name": "Data", + "package": "@crawlee/types", + "qualifiedName": "DatasetClient.Data", + "refersToTypeParameter": true + } + ], + "name": "PaginatedList", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13532, + "name": "pushItems", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 92, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L92" + } + ], + "signatures": [ + { + "id": 13533, + "name": "pushItems", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 92, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L92" + } + ], + "parameters": [ + { + "id": 13534, + "name": "items", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": 13535, + "name": "Data", + "package": "@crawlee/types", + "qualifiedName": "DatasetClient.Data", + "refersToTypeParameter": true + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + { + "type": "array", + "elementType": { + "type": "reference", + "target": 13535, + "name": "Data", + "package": "@crawlee/types", + "qualifiedName": "DatasetClient.Data", + "refersToTypeParameter": true + } + } + ] + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13521, + "name": "update", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L88" + } + ], + "signatures": [ + { + "id": 13522, + "name": "update", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 88, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L88" + } + ], + "parameters": [ + { + "id": 13523, + "name": "newFields", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13490, + "name": "DatasetClientUpdateOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13504, + "name": "DatasetInfo", + "package": "@crawlee/types" + } + ], + "name": "Partial", + "package": "typescript" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 13524, + 13526, + 13519, + 13529, + 13532, + 13521 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 86, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L86" + } + ], + "typeParameters": [ + { + "id": 13535, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "default": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 13492, + "name": "DatasetClientListOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13493, + "name": "desc", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 49, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L49" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13494, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 50, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L50" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13495, + "name": "offset", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 51, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L51" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13493, + 13494, + 13495 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 48, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L48" + } + ] + }, + { + "id": 13490, + "name": "DatasetClientUpdateOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13491, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 45, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L45" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13491 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 44, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L44" + } + ] + }, + { + "id": 13477, + "name": "DatasetCollectionClient", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dataset collection client." + } + ] + }, + "children": [ + { + "id": 13480, + "name": "getOrCreate", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 37, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L37" + } + ], + "signatures": [ + { + "id": 13481, + "name": "getOrCreate", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 37, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L37" + } + ], + "parameters": [ + { + "id": 13482, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13471, + "name": "DatasetCollectionData", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13478, + "name": "list", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L36" + } + ], + "signatures": [ + { + "id": 13479, + "name": "list", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 36, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L36" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13496, + "typeArguments": [ + { + "type": "reference", + "target": 13483, + "name": "Dataset", + "package": "@crawlee/types" + } + ], + "name": "PaginatedList", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 13480, + 13478 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 35, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L35" + } + ] + }, + { + "id": 13469, + "name": "DatasetCollectionClientOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13470, + "name": "storageDir", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 21, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L21" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13470 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 20, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L20" + } + ] + }, + { + "id": 13471, + "name": "DatasetCollectionData", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13476, + "name": "accessedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 29, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L29" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13474, + "name": "createdAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 27, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L27" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13472, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 25, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L25" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13475, + "name": "modifiedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 28, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L28" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13473, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L26" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13476, + 13474, + 13472, + 13475, + 13473 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 24, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L24" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 13483, + "name": "Dataset" + } + ] + }, + { + "id": 13504, + "name": "DatasetInfo", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13509, + "name": "accessedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 74, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L74" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13511, + "name": "actId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L76" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13512, + "name": "actRunId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 77, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L77" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13507, + "name": "createdAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 72, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L72" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13505, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 70, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L70" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13510, + "name": "itemCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 75, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L75" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13508, + "name": "modifiedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 73, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L73" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13506, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 71, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L71" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13509, + 13511, + 13512, + 13507, + 13505, + 13510, + 13508, + 13506 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 69, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L69" + } + ] + }, + { + "id": 13513, + "name": "DatasetStats", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13516, + "name": "deleteCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 82, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L82" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13514, + "name": "readCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 80, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L80" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13517, + "name": "storageBytes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 83, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L83" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13515, + "name": "writeCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 81, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L81" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13516, + 13514, + 13517, + 13515 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 79, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L79" + } + ] + }, + { + "id": 13658, + "name": "DeleteRequestLockOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13659, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 244, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L244" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13659 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 243, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L243" + } + ] + }, + { + "id": 13580, + "name": "KeyValueStoreClient", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Key-value Store client." + } + ] + }, + "children": [ + { + "id": 13586, + "name": "delete", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 163, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L163" + } + ], + "signatures": [ + { + "id": 13587, + "name": "delete", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 163, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L163" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13601, + "name": "deleteRecord", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 168, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L168" + } + ], + "signatures": [ + { + "id": 13602, + "name": "deleteRecord", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 168, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L168" + } + ], + "parameters": [ + { + "id": 13603, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13581, + "name": "get", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 161, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L161" + } + ], + "signatures": [ + { + "id": 13582, + "name": "get", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 161, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L161" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13536, + "name": "KeyValueStoreInfo", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13594, + "name": "getRecord", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 166, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L166" + } + ], + "signatures": [ + { + "id": 13595, + "name": "getRecord", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 166, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L166" + } + ], + "parameters": [ + { + "id": 13596, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13597, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13577, + "name": "KeyValueStoreClientGetRecordOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13558, + "name": "KeyValueStoreRecord", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13588, + "name": "listKeys", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 164, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L164" + } + ], + "signatures": [ + { + "id": 13589, + "name": "listKeys", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 164, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L164" + } + ], + "parameters": [ + { + "id": 13590, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13564, + "name": "KeyValueStoreClientListOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13570, + "name": "KeyValueStoreClientListData", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13591, + "name": "recordExists", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 165, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L165" + } + ], + "signatures": [ + { + "id": 13592, + "name": "recordExists", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 165, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L165" + } + ], + "parameters": [ + { + "id": 13593, + "name": "key", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13598, + "name": "setRecord", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 167, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L167" + } + ], + "signatures": [ + { + "id": 13599, + "name": "setRecord", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 167, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L167" + } + ], + "parameters": [ + { + "id": 13600, + "name": "record", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13558, + "name": "KeyValueStoreRecord", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13583, + "name": "update", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 162, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L162" + } + ], + "signatures": [ + { + "id": 13584, + "name": "update", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 162, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L162" + } + ], + "parameters": [ + { + "id": 13585, + "name": "newFields", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13562, + "name": "KeyValueStoreClientUpdateOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13536, + "name": "KeyValueStoreInfo", + "package": "@crawlee/types" + } + ], + "name": "Partial", + "package": "typescript" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 13586, + 13601, + 13581, + 13594, + 13588, + 13591, + 13598, + 13583 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 160, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L160" + } + ] + }, + { + "id": 13577, + "name": "KeyValueStoreClientGetRecordOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13578, + "name": "buffer", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 153, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L153" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13579, + "name": "stream", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 154, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L154" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13578, + 13579 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 152, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L152" + } + ] + }, + { + "id": 13570, + "name": "KeyValueStoreClientListData", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13571, + "name": "count", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 144, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L144" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13573, + "name": "exclusiveStartKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 146, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L146" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13574, + "name": "isTruncated", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 147, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L147" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13576, + "name": "items", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 149, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L149" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13567, + "name": "KeyValueStoreItemData", + "package": "@crawlee/types" + } + } + }, + { + "id": 13572, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 145, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L145" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13575, + "name": "nextExclusiveStartKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 148, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L148" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13571, + 13573, + 13574, + 13576, + 13572, + 13575 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 143, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L143" + } + ] + }, + { + "id": 13564, + "name": "KeyValueStoreClientListOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13566, + "name": "exclusiveStartKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 135, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L135" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13565, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 134, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L134" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13566, + 13565 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 133, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L133" + } + ] + }, + { + "id": 13562, + "name": "KeyValueStoreClientUpdateOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13563, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 130, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L130" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13563 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 129, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L129" + } + ] + }, + { + "id": 13552, + "name": "KeyValueStoreCollectionClient", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Key-value store collection client." + } + ] + }, + "children": [ + { + "id": 13555, + "name": "getOrCreate", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L120" + } + ], + "signatures": [ + { + "id": 13556, + "name": "getOrCreate", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 120, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L120" + } + ], + "parameters": [ + { + "id": 13557, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13536, + "name": "KeyValueStoreInfo", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13553, + "name": "list", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 119, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L119" + } + ], + "signatures": [ + { + "id": 13554, + "name": "list", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 119, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L119" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13496, + "typeArguments": [ + { + "type": "reference", + "target": 13536, + "name": "KeyValueStoreInfo", + "package": "@crawlee/types" + } + ], + "name": "PaginatedList", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 13555, + 13553 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 118, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L118" + } + ] + }, + { + "id": 13536, + "name": "KeyValueStoreInfo", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13542, + "name": "accessedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 101, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L101" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13543, + "name": "actId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 102, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L102" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13544, + "name": "actRunId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 103, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L103" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13540, + "name": "createdAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 99, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L99" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13537, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 96, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L96" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13541, + "name": "modifiedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 100, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L100" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13538, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 97, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L97" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13545, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 104, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L104" + } + ], + "type": { + "type": "reference", + "target": 13546, + "name": "KeyValueStoreStats", + "package": "@crawlee/types" + } + }, + { + "id": 13539, + "name": "userId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 98, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L98" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13542, + 13543, + 13544, + 13540, + 13537, + 13541, + 13538, + 13545, + 13539 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 95, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L95" + } + ] + }, + { + "id": 13567, + "name": "KeyValueStoreItemData", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13568, + "name": "key", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 139, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L139" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13569, + "name": "size", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 140, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L140" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13568, + 13569 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 138, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L138" + } + ] + }, + { + "id": 13558, + "name": "KeyValueStoreRecord", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13561, + "name": "contentType", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 126, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L126" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13559, + "name": "key", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 124, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L124" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13560, + "name": "value", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 125, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L125" + } + ], + "type": { + "type": "intrinsic", + "name": "any" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13561, + 13559, + 13560 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 123, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L123" + } + ] + }, + { + "id": 13546, + "name": "KeyValueStoreStats", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13549, + "name": "deleteCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 110, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L110" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13550, + "name": "listCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 111, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L111" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13547, + "name": "readCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 108, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L108" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13551, + "name": "storageBytes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 112, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L112" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13548, + "name": "writeCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 109, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L109" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13549, + 13550, + 13547, + 13551, + 13548 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 107, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L107" + } + ] + }, + { + "id": 13647, + "name": "ListAndLockHeadResult", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13651, + "name": "hadMultipleClients", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 182, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L182" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 13613, + "name": "QueueHead.hadMultipleClients" + } + }, + { + "id": 13652, + "name": "items", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L183" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13615, + "name": "RequestQueueHeadItem", + "package": "@crawlee/types" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 13614, + "name": "QueueHead.items" + } + }, + { + "id": 13649, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 180, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L180" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 13611, + "name": "QueueHead.limit" + } + }, + { + "id": 13648, + "name": "lockSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 231, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L231" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13650, + "name": "queueModifiedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 181, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L181" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + }, + "inheritedFrom": { + "type": "reference", + "target": 13612, + "name": "QueueHead.queueModifiedAt" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13651, + 13652, + 13649, + 13648, + 13650 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 230, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L230" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 13610, + "name": "QueueHead", + "package": "@crawlee/types" + } + ] + }, + { + "id": 13644, + "name": "ListAndLockOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13646, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n100\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 223, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L223" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 13643, + "name": "ListOptions.limit" + } + }, + { + "id": 13645, + "name": "lockSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 227, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L227" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13646, + 13645 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 226, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L226" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 13642, + "name": "ListOptions", + "package": "@crawlee/types" + } + ] + }, + { + "id": 13642, + "name": "ListOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13643, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n100\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 223, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L223" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13643 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 219, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L219" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 13644, + "name": "ListAndLockOptions" + } + ] + }, + { + "id": 13496, + "name": "PaginatedList", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13498, + "name": "count", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Count of dataset entries returned in this set." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 58, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L58" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13501, + "name": "desc", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Should the results be in descending order." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 64, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L64" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13502, + "name": "items", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Dataset entries based on chosen format parameter." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 66, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L66" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13503, + "name": "Data", + "package": "@crawlee/types", + "qualifiedName": "PaginatedList.Data", + "refersToTypeParameter": true + } + } + }, + { + "id": 13500, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Maximum number of dataset entries requested." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 62, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L62" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13499, + "name": "offset", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Position of the first returned entry in the dataset." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 60, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L60" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13497, + "name": "total", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Total count of entries in the dataset." + } + ] + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 56, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L56" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13498, + 13501, + 13502, + 13500, + 13499, + 13497 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 54, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L54" + } + ], + "typeParameters": [ + { + "id": 13503, + "name": "Data", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ] + }, + { + "id": 13690, + "name": "ProcessedRequest", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13692, + "name": "requestId", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 273, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L273" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13691, + "name": "uniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 272, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L272" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13694, + "name": "wasAlreadyHandled", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 275, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L275" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13693, + "name": "wasAlreadyPresent", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 274, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L274" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13692, + 13691, + 13694, + 13693 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 271, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L271" + } + ] + }, + { + "id": 13653, + "name": "ProlongRequestLockOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13655, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 236, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L236" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13654, + "name": "lockSecs", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 235, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L235" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13655, + 13654 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 234, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L234" + } + ] + }, + { + "id": 13656, + "name": "ProlongRequestLockResult", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13657, + "name": "lockExpiresAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 240, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L240" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13657 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 239, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L239" + } + ] + }, + { + "id": 13610, + "name": "QueueHead", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13613, + "name": "hadMultipleClients", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 182, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L182" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13614, + "name": "items", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 183, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L183" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13615, + "name": "RequestQueueHeadItem", + "package": "@crawlee/types" + } + } + }, + { + "id": 13611, + "name": "limit", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 180, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L180" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13612, + "name": "queueModifiedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 181, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L181" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13613, + 13614, + 13611, + 13612 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 179, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L179" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 13647, + "name": "ListAndLockHeadResult" + } + ] + }, + { + "id": 13660, + "name": "RequestOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13661, + "name": "forefront", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 248, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L248" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13661 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 247, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L247" + } + ], + "indexSignature": { + "id": 13662, + "name": "__index", + "variant": "signature", + "kind": 8192, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 249, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L249" + } + ], + "parameters": [ + { + "id": 13663, + "name": "k", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "intrinsic", + "name": "unknown" + } + } + }, + { + "id": 13702, + "name": "RequestQueueClient", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13715, + "name": "addRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 294, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L294" + } + ], + "signatures": [ + { + "id": 13716, + "name": "addRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 294, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L294" + } + ], + "parameters": [ + { + "id": 13717, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13664, + "name": "RequestSchema", + "package": "@crawlee/types" + } + }, + { + "id": 13718, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13660, + "name": "RequestOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 73, + "name": "QueueOperationInfo", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13719, + "name": "batchAddRequests", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 295, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L295" + } + ], + "signatures": [ + { + "id": 13720, + "name": "batchAddRequests", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 295, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L295" + } + ], + "parameters": [ + { + "id": 13721, + "name": "requests", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13664, + "name": "RequestSchema", + "package": "@crawlee/types" + } + } + }, + { + "id": 13722, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13660, + "name": "RequestOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13699, + "name": "BatchAddRequestsResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13710, + "name": "delete", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 292, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L292" + } + ], + "signatures": [ + { + "id": 13711, + "name": "delete", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 292, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L292" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13730, + "name": "deleteRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 298, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L298" + } + ], + "signatures": [ + { + "id": 13731, + "name": "deleteRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 298, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L298" + } + ], + "parameters": [ + { + "id": 13732, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13740, + "name": "deleteRequestLock", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L301" + } + ], + "signatures": [ + { + "id": 13741, + "name": "deleteRequestLock", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 301, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L301" + } + ], + "parameters": [ + { + "id": 13742, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13743, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13658, + "name": "DeleteRequestLockOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13703, + "name": "get", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L290" + } + ], + "signatures": [ + { + "id": 13704, + "name": "get", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 290, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L290" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13621, + "name": "RequestQueueInfo", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13723, + "name": "getRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L296" + } + ], + "signatures": [ + { + "id": 13724, + "name": "getRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 296, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L296" + } + ], + "parameters": [ + { + "id": 13725, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": 13660, + "name": "RequestOptions", + "package": "@crawlee/types" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13733, + "name": "listAndLockHead", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 299, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L299" + } + ], + "signatures": [ + { + "id": 13734, + "name": "listAndLockHead", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 299, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L299" + } + ], + "parameters": [ + { + "id": 13735, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13644, + "name": "ListAndLockOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13647, + "name": "ListAndLockHeadResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13712, + "name": "listHead", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 293, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L293" + } + ], + "signatures": [ + { + "id": 13713, + "name": "listHead", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 293, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L293" + } + ], + "parameters": [ + { + "id": 13714, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13642, + "name": "ListOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13610, + "name": "QueueHead", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13736, + "name": "prolongRequestLock", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 300, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L300" + } + ], + "signatures": [ + { + "id": 13737, + "name": "prolongRequestLock", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 300, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L300" + } + ], + "parameters": [ + { + "id": 13738, + "name": "id", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13739, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13653, + "name": "ProlongRequestLockOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13656, + "name": "ProlongRequestLockResult", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13705, + "name": "update", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 291, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L291" + } + ], + "signatures": [ + { + "id": 13706, + "name": "update", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 291, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L291" + } + ], + "parameters": [ + { + "id": 13707, + "name": "newFields", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reflection", + "declaration": { + "id": 13708, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 13709, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 291, + "character": 24, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L291" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13709 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 291, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L291" + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "undefined" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13621, + "name": "RequestQueueInfo", + "package": "@crawlee/types" + } + ], + "name": "Partial", + "package": "typescript" + } + ] + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13726, + "name": "updateRequest", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 297, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L297" + } + ], + "signatures": [ + { + "id": 13727, + "name": "updateRequest", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 297, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L297" + } + ], + "parameters": [ + { + "id": 13728, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13677, + "name": "UpdateRequestSchema", + "package": "@crawlee/types" + } + }, + { + "id": 13729, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": 13660, + "name": "RequestOptions", + "package": "@crawlee/types" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 73, + "name": "QueueOperationInfo", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 13715, + 13719, + 13710, + 13730, + 13740, + 13703, + 13723, + 13733, + 13712, + 13736, + 13705, + 13726 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 289, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L289" + } + ] + }, + { + "id": 13604, + "name": "RequestQueueCollectionClient", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Request queue collection client." + } + ] + }, + "children": [ + { + "id": 13607, + "name": "getOrCreate", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 176, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L176" + } + ], + "signatures": [ + { + "id": 13608, + "name": "getOrCreate", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 176, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L176" + } + ], + "parameters": [ + { + "id": 13609, + "name": "name", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13621, + "name": "RequestQueueInfo", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13605, + "name": "list", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 175, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L175" + } + ], + "signatures": [ + { + "id": 13606, + "name": "list", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 175, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L175" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13496, + "typeArguments": [ + { + "type": "reference", + "target": 13621, + "name": "RequestQueueInfo", + "package": "@crawlee/types" + } + ], + "name": "PaginatedList", + "package": "@crawlee/types" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 13607, + 13605 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 174, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L174" + } + ] + }, + { + "id": 13615, + "name": "RequestQueueHeadItem", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13616, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 187, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L187" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13620, + "name": "method", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 191, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L191" + } + ], + "type": { + "type": "reference", + "target": 13754, + "name": "AllowedHttpMethods", + "package": "@crawlee/types" + } + }, + { + "id": 13617, + "name": "retryCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 188, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L188" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13618, + "name": "uniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 189, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L189" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13619, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 190, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L190" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13616, + 13620, + 13617, + 13618, + 13619 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 186, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L186" + } + ] + }, + { + "id": 13621, + "name": "RequestQueueInfo", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13627, + "name": "accessedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L200" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13632, + "name": "actId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 205, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L205" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13633, + "name": "actRunId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 206, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L206" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13625, + "name": "createdAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 198, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L198" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13628, + "name": "expireAt", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 201, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L201" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13634, + "name": "hadMultipleClients", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 207, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L207" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13630, + "name": "handledRequestCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 203, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L203" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13622, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 195, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L195" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13626, + "name": "modifiedAt", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 199, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L199" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Date" + }, + "name": "Date", + "package": "typescript" + } + }, + { + "id": 13623, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 196, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L196" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13631, + "name": "pendingRequestCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 204, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L204" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13635, + "name": "stats", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 208, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L208" + } + ], + "type": { + "type": "reference", + "target": 13636, + "name": "RequestQueueStats", + "package": "@crawlee/types" + } + }, + { + "id": 13629, + "name": "totalRequestCount", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 202, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L202" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13624, + "name": "userId", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 197, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L197" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13627, + 13632, + 13633, + 13625, + 13628, + 13634, + 13630, + 13622, + 13626, + 13623, + 13631, + 13635, + 13629, + 13624 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 194, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L194" + } + ] + }, + { + "id": 13744, + "name": "RequestQueueOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13745, + "name": "clientKey", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 305, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L305" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13746, + "name": "timeoutSecs", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 306, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L306" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13745, + 13746 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 304, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L304" + } + ] + }, + { + "id": 13636, + "name": "RequestQueueStats", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13639, + "name": "deleteCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 214, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L214" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13640, + "name": "headItemReadCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 215, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L215" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13637, + "name": "readCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 212, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L212" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13641, + "name": "storageBytes", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 216, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L216" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13638, + "name": "writeCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 213, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L213" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13639, + 13640, + 13637, + 13641, + 13638 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 211, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L211" + } + ] + }, + { + "id": 13664, + "name": "RequestSchema", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13672, + "name": "errorMessages", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 260, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L260" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13675, + "name": "handledAt", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 263, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L263" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13673, + "name": "headers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 261, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L261" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 13665, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 253, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L253" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13676, + "name": "loadedUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 264, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L264" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13668, + "name": "method", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 256, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L256" + } + ], + "type": { + "type": "reference", + "target": 13754, + "name": "AllowedHttpMethods", + "package": "@crawlee/types" + } + }, + { + "id": 13670, + "name": "noRetry", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 258, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L258" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13669, + "name": "payload", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 257, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L257" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13671, + "name": "retryCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 259, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L259" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13667, + "name": "uniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 255, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L255" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13666, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 254, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L254" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13674, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L262" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13672, + 13675, + 13673, + 13665, + 13676, + 13668, + 13670, + 13669, + 13671, + 13667, + 13666, + 13674 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 252, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L252" + } + ], + "extendedBy": [ + { + "type": "reference", + "target": 13677, + "name": "UpdateRequestSchema" + } + ] + }, + { + "id": 13747, + "name": "SetStatusMessageOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13748, + "name": "isStatusMessageTerminal", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 310, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L310" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + }, + { + "id": 13749, + "name": "level", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 311, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L311" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "DEBUG" + }, + { + "type": "literal", + "value": "INFO" + }, + { + "type": "literal", + "value": "WARNING" + }, + { + "type": "literal", + "value": "ERROR" + } + ] + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13748, + 13749 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 309, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L309" + } + ] + }, + { + "id": 13695, + "name": "UnprocessedRequest", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13698, + "name": "method", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 281, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L281" + } + ], + "type": { + "type": "reference", + "target": 13754, + "name": "AllowedHttpMethods", + "package": "@crawlee/types" + } + }, + { + "id": 13696, + "name": "uniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 279, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L279" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13697, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 280, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L280" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13698, + 13696, + 13697 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 278, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L278" + } + ] + }, + { + "id": 13677, + "name": "UpdateRequestSchema", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13685, + "name": "errorMessages", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 260, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L260" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "inheritedFrom": { + "type": "reference", + "target": 13672, + "name": "RequestSchema.errorMessages" + } + }, + { + "id": 13688, + "name": "handledAt", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 263, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L263" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 13675, + "name": "RequestSchema.handledAt" + } + }, + { + "id": 13686, + "name": "headers", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 261, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L261" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "Dictionary", + "package": "@crawlee/types" + }, + "inheritedFrom": { + "type": "reference", + "target": 13673, + "name": "RequestSchema.headers" + } + }, + { + "id": 13678, + "name": "id", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 268, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L268" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "overwrites": { + "type": "reference", + "target": 13665, + "name": "RequestSchema.id" + } + }, + { + "id": 13689, + "name": "loadedUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 264, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L264" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 13676, + "name": "RequestSchema.loadedUrl" + } + }, + { + "id": 13681, + "name": "method", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 256, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L256" + } + ], + "type": { + "type": "reference", + "target": 13754, + "name": "AllowedHttpMethods", + "package": "@crawlee/types" + }, + "inheritedFrom": { + "type": "reference", + "target": 13668, + "name": "RequestSchema.method" + } + }, + { + "id": 13683, + "name": "noRetry", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 258, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L258" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + }, + "inheritedFrom": { + "type": "reference", + "target": 13670, + "name": "RequestSchema.noRetry" + } + }, + { + "id": 13682, + "name": "payload", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 257, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L257" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 13669, + "name": "RequestSchema.payload" + } + }, + { + "id": 13684, + "name": "retryCount", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 259, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L259" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + }, + "inheritedFrom": { + "type": "reference", + "target": 13671, + "name": "RequestSchema.retryCount" + } + }, + { + "id": 13680, + "name": "uniqueKey", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 255, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L255" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 13667, + "name": "RequestSchema.uniqueKey" + } + }, + { + "id": 13679, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 254, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L254" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + }, + "inheritedFrom": { + "type": "reference", + "target": 13666, + "name": "RequestSchema.url" + } + }, + { + "id": 13687, + "name": "userData", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 262, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L262" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "inheritedFrom": { + "type": "reference", + "target": 13674, + "name": "RequestSchema.userData" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13685, + 13688, + 13686, + 13678, + 13689, + 13681, + 13683, + 13682, + 13684, + 13680, + 13679, + 13687 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/storages.ts", + "line": 267, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/storages.ts#L267" + } + ], + "extendedTypes": [ + { + "type": "reference", + "target": 13664, + "name": "RequestSchema", + "package": "@crawlee/types" + } + ] + }, + { + "id": 13754, + "name": "AllowedHttpMethods", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/types/src/utility-types.ts", + "line": 10, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/utility-types.ts#L10" + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": "GET" + }, + { + "type": "literal", + "value": "HEAD" + }, + { + "type": "literal", + "value": "POST" + }, + { + "type": "literal", + "value": "PUT" + }, + { + "type": "literal", + "value": "DELETE" + }, + { + "type": "literal", + "value": "TRACE" + }, + { + "type": "literal", + "value": "OPTIONS" + }, + { + "type": "literal", + "value": "CONNECT" + }, + { + "type": "literal", + "value": "PATCH" + } + ] + } + } + ], + "groups": [ + { + "title": "References", + "children": [ + 13755, + 13468, + 13750 + ] + }, + { + "title": "Interfaces", + "children": [ + 13699, + 13756, + 13483, + 13518, + 13492, + 13490, + 13477, + 13469, + 13471, + 13504, + 13513, + 13658, + 13580, + 13577, + 13570, + 13564, + 13562, + 13552, + 13536, + 13567, + 13558, + 13546, + 13647, + 13644, + 13642, + 13496, + 13690, + 13653, + 13656, + 13610, + 13660, + 13702, + 13604, + 13615, + 13621, + 13744, + 13636, + 13664, + 13747, + 13695, + 13677 + ] + }, + { + "title": "Type Aliases", + "children": [ + 13754 + ] + } + ], + "sources": [ + { + "fileName": "packages/types/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/types/src/index.ts#L1" + } + ] + }, + { + "id": 12, + "name": "utils/src", + "variant": "declaration", + "kind": 2, + "flags": {}, + "children": [ + { + "id": 13283, + "name": "tryAbsoluteURL", + "variant": "reference", + "kind": 4194304, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 90, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L90" + } + ], + "target": 1030 + }, + { + "id": 13210, + "name": "social", + "variant": "declaration", + "kind": 4, + "flags": {}, + "children": [ + { + "id": 13229, + "name": "SocialHandles", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Representation of social handles parsed from a HTML page." + } + ] + }, + "children": [ + { + "id": 13240, + "name": "discords", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 210, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L210" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13230, + "name": "emails", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 200, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L200" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13236, + "name": "facebooks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 206, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L206" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13235, + "name": "instagrams", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 205, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L205" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13233, + "name": "linkedIns", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 203, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L203" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13231, + "name": "phones", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 201, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L201" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13232, + "name": "phonesUncertain", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 202, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L202" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13239, + "name": "pinterests", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 209, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L209" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13238, + "name": "tiktoks", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 208, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L208" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13234, + "name": "twitters", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 204, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L204" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13237, + "name": "youtubes", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 207, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L207" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13240, + 13230, + 13236, + 13235, + 13233, + 13231, + 13232, + 13239, + 13238, + 13234, + 13237 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 199, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L199" + } + ] + }, + { + "id": 13255, + "name": "DISCORD_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a Discord invite or channel.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://discord.gg/discord-developers\nhttps://discord.com/invite/jyEM2PRvMU\nhttps://discordapp.com/channels/1234\nhttps://discord.com/channels/1234/1234\ndiscord.gg/discord-developers\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nif (social.DISCORD_REGEX.test('https://discord.gg/discord-developers')) {\n console.log('Match!');\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 690, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L690" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13256, + "name": "DISCORD_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple Discord channels or invites in a text or HTML.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://discord.gg/discord-developers\nhttps://discord.com/invite/jyEM2PRvMU\nhttps://discordapp.com/channels/1234\nhttps://discord.com/channels/1234/1234\ndiscord.gg/discord-developers\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nconst matches = text.match(social.DISCORD_REGEX_GLOBAL);\nif (matches) console.log(`${matches.length} Discord channels found!`);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 711, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L711" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13227, + "name": "EMAIL_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a single email address.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 13, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L13" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13228, + "name": "EMAIL_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple email addresses in a text.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 19, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L19" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13247, + "name": "FACEBOOK_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a single Facebook profile URL.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.facebook.com/apifytech\nfacebook.com/apifytech\nfb.com/apifytech\nhttps://www.facebook.com/profile.php?id=123456789\n```" + }, + { + "kind": "text", + "text": "\n\nThe regular expression does NOT match URLs with additional\nsubdirectories or query parameters, such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.facebook.com/apifytech/photos\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nif (social.FACEBOOK_REGEX.test('https://www.facebook.com/apifytech')) {\n console.log('Match!');\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 501, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L501" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13248, + "name": "FACEBOOK_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple Facebook profile URLs in a text or HTML.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.facebook.com/apifytech\nfacebook.com/apifytech\nfb.com/apifytech\n```" + }, + { + "kind": "text", + "text": "\n\nIf the profile URL contains subdirectories or query parameters, the regular expression\nextracts just the base part of the profile URL. For example, from text such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.facebook.com/apifytech/photos\n```" + }, + { + "kind": "text", + "text": "\nthe expression extracts only the following base URL:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.facebook.com/apifytech\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nconst matches = text.match(social.FACEBOOK_REGEX_GLOBAL);\nif (matches) console.log(`${matches.length} Facebook profiles found!`);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 530, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L530" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13243, + "name": "INSTAGRAM_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a single Instagram profile URL.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.instagram.com/old_prague\nwww.instagram.com/old_prague/\ninstagr.am/old_prague\n```" + }, + { + "kind": "text", + "text": "\n\nThe regular expression does NOT match URLs with additional\nsubdirectories or query parameters, such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.instagram.com/cristiano/followers\n```" + }, + { + "kind": "text", + "text": "\n\n It also does NOT match the following URLs:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.instagram.com/explore/\nhttps://www.instagram.com/_n/\nhttps://www.instagram.com/_u/\n\nExample usage:\n```" + }, + { + "kind": "text", + "text": "\nimport { social } from 'crawlee';\n\nif (social.INSTAGRAM_REGEX.test('https://www.instagram.com/old_prague')) {\n console.log('Match!');\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 385, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L385" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13244, + "name": "INSTAGRAM_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple Instagram profile URLs in a text or HTML.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.instagram.com/old_prague\nwww.instagram.com/old_prague/\ninstagr.am/old_prague\n```" + }, + { + "kind": "text", + "text": "\n\nIf the profile URL contains subdirectories or query parameters, the regular expression\nextracts just the base part of the profile URL. For example, from text such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.instagram.com/cristiano/followers\n```" + }, + { + "kind": "text", + "text": "\nthe expression extracts just the following base URL:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.instagram.com/cristiano\n```" + }, + { + "kind": "text", + "text": "\n\nThe regular expression does NOT match the following URLs:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.instagram.com/explore/\nhttps://www.instagram.com/_n/\nhttps://www.instagram.com/_u/\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nconst matches = text.match(social.INSTAGRAM_REGEX_GLOBAL);\nif (matches) console.log(`${matches.length} Instagram profiles found!`);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 421, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L421" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13241, + "name": "LINKEDIN_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a single LinkedIn profile URL.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.linkedin.com/in/alan-turing\nen.linkedin.com/in/alan-turing\nlinkedin.com/in/alan-turing\nhttps://www.linkedin.com/company/linkedin/\n```" + }, + { + "kind": "text", + "text": "\n\nThe regular expression does NOT match URLs with additional\nsubdirectories or query parameters, such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.linkedin.com/in/linus-torvalds/latest-activity\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nif (social.LINKEDIN_REGEX.test('https://www.linkedin.com/in/alan-turing')) {\n console.log('Match!');\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 323, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L323" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13242, + "name": "LINKEDIN_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple LinkedIn profile URLs in a text or HTML.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.linkedin.com/in/alan-turing\nen.linkedin.com/in/alan-turing\nlinkedin.com/in/alan-turing\nhttps://www.linkedin.com/company/linkedin/\n```" + }, + { + "kind": "text", + "text": "\n\nIf the profile URL contains subdirectories or query parameters, the regular expression\nextracts just the base part of the profile URL. For example, from text such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.linkedin.com/in/linus-torvalds/latest-activity\n```" + }, + { + "kind": "text", + "text": "\nthe expression extracts just the following base URL:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.linkedin.com/in/linus-torvalds\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nconst matches = text.match(social.LINKEDIN_REGEX_GLOBAL);\nif (matches) console.log(`${matches.length} LinkedIn profiles found!`);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 353, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L353" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13253, + "name": "PINTEREST_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a Pinterest pin, user or user's board.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://pinterest.com/pin/123456789\nhttps://www.pinterest.cz/pin/123456789\nhttps://www.pinterest.com/user\nhttps://uk.pinterest.com/user\nhttps://www.pinterest.co.uk/user\npinterest.com/user_name.gold\nhttps://cz.pinterest.com/user/board\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nif (social.PINTEREST_REGEX.test('https://pinterest.com/pin/123456789')) {\n console.log('Match!');\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 645, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L645" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13254, + "name": "PINTEREST_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple Pinterest pins, users or boards in a text or HTML.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://pinterest.com/pin/123456789\nhttps://www.pinterest.cz/pin/123456789\nhttps://www.pinterest.com/user\nhttps://uk.pinterest.com/user\nhttps://www.pinterest.co.uk/user\npinterest.com/user_name.gold\nhttps://cz.pinterest.com/user/board\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nconst matches = text.match(social.PINTEREST_REGEX_GLOBAL);\nif (matches) console.log(`${matches.length} Pinterest pins found!`);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 668, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L668" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13251, + "name": "TIKTOK_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a Tiktok video or user account.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.tiktok.com/trending?shareId=123456789\nhttps://www.tiktok.com/embed/123456789\nhttps://m.tiktok.com/v/123456789\nhttps://www.tiktok.com/@user\nhttps://www.tiktok.com/@user-account.pro\nhttps://www.tiktok.com/@user/video/123456789\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nif (social.TIKTOK_REGEX.test('https://www.tiktok.com/trending?shareId=123456789')) {\n console.log('Match!');\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 599, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L599" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13252, + "name": "TIKTOK_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple Tiktok videos or user accounts in a text or HTML.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.tiktok.com/trending?shareId=123456789\nhttps://www.tiktok.com/embed/123456789\nhttps://m.tiktok.com/v/123456789\nhttps://www.tiktok.com/@user\nhttps://www.tiktok.com/@user-account.pro\nhttps://www.tiktok.com/@user/video/123456789\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nconst matches = text.match(social.TIKTOK_REGEX_GLOBAL);\nif (matches) console.log(`${matches.length} Tiktok profiles/videos found!`);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 621, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L621" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13245, + "name": "TWITTER_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a single Twitter profile URL.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.twitter.com/apify\ntwitter.com/apify\n```" + }, + { + "kind": "text", + "text": "\n\nThe regular expression does NOT match URLs with additional\nsubdirectories or query parameters, such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.twitter.com/realdonaldtrump/following\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nif (social.TWITTER_REGEX.test('https://www.twitter.com/apify')) {\n console.log('Match!');\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 446, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L446" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13246, + "name": "TWITTER_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple Twitter profile URLs in a text or HTML.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.twitter.com/apify\ntwitter.com/apify\n```" + }, + { + "kind": "text", + "text": "\n\nIf the profile URL contains subdirectories or query parameters, the regular expression\nextracts just the base part of the profile URL. For example, from text such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.twitter.com/realdonaldtrump/following\n```" + }, + { + "kind": "text", + "text": "\nthe expression extracts only the following base URL:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.twitter.com/realdonaldtrump\n```" + }, + { + "kind": "text", + "text": "\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nconst matches = text.match(social.TWITTER_REGEX_STRING);\nif (matches) console.log(`${matches.length} Twitter profiles found!`);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 474, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L474" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13249, + "name": "YOUTUBE_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to exactly match a single Youtube channel, user or video URL.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/^...$/i`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.youtube.com/watch?v=kM7YfhfkiEE\nhttps://youtu.be/kM7YfhfkiEE\nhttps://www.youtube.com/c/TrapNation\nhttps://www.youtube.com/channel/UCklie6BM0fhFvzWYqQVoCTA\nhttps://www.youtube.com/user/pewdiepie\n```" + }, + { + "kind": "text", + "text": "\n\nPlease note that this won't match URLs like https://www.youtube.com/pewdiepie that redirect to /user or /channel.\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nif (social.YOUTUBE_REGEX.test('https://www.youtube.com/watch?v=kM7YfhfkiEE')) {\n console.log('Match!');\n}\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 554, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L554" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13250, + "name": "YOUTUBE_REGEX_GLOBAL", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression to find multiple Youtube channel, user or video URLs in a text or HTML.\nIt has the following form: " + }, + { + "kind": "code", + "text": "`/.../ig`" + }, + { + "kind": "text", + "text": " and matches URLs such as:\n" + }, + { + "kind": "code", + "text": "```\nhttps://www.youtube.com/watch?v=kM7YfhfkiEE\nhttps://youtu.be/kM7YfhfkiEE\nhttps://www.youtube.com/c/TrapNation\nhttps://www.youtube.com/channel/UCklie6BM0fhFvzWYqQVoCTA\nhttps://www.youtube.com/user/pewdiepie\n```" + }, + { + "kind": "text", + "text": "\n\nPlease note that this won't match URLs like https://www.youtube.com/pewdiepie that redirect to /user or /channel.\n\nExample usage:\n" + }, + { + "kind": "code", + "text": "```\nimport { social } from 'crawlee';\n\nconst matches = text.match(social.YOUTUBE_REGEX_GLOBAL);\nif (matches) console.log(`${matches.length} Youtube videos found!`);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 577, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L577" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13211, + "name": "emailsFromText", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 30, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L30" + } + ], + "signatures": [ + { + "id": 13212, + "name": "emailsFromText", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function extracts email addresses from a plain text.\nNote that the function preserves the order of emails and keep duplicates." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Array of emails addresses found.\nIf no emails are found, the function returns an empty array." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 30, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L30" + } + ], + "parameters": [ + { + "id": 13213, + "name": "text", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Text to search in." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ] + }, + { + "id": 13214, + "name": "emailsFromUrls", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 43, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L43" + } + ], + "signatures": [ + { + "id": 13215, + "name": "emailsFromUrls", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function extracts email addresses from a list of URLs.\nBasically it looks for all " + }, + { + "kind": "code", + "text": "`mailto:`" + }, + { + "kind": "text", + "text": " URLs and returns valid email addresses from them.\nNote that the function preserves the order of emails and keep duplicates." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Array of emails addresses found.\nIf no emails are found, the function returns an empty array." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 43, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L43" + } + ], + "parameters": [ + { + "id": 13216, + "name": "urls", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Array of URLs." + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ] + }, + { + "id": 13223, + "name": "parseHandlesFromHtml", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 243, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L243" + } + ], + "signatures": [ + { + "id": 13224, + "name": "parseHandlesFromHtml", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function attempts to extract emails, phone numbers and social profile URLs from a HTML document,\nspecifically LinkedIn, Twitter, Instagram and Facebook profile URLs.\nThe function removes duplicates from the resulting arrays and sorts the items alphabetically.\n\nNote that the " + }, + { + "kind": "code", + "text": "`phones`" + }, + { + "kind": "text", + "text": " field contains phone numbers extracted from the special phone links\nsuch as " + }, + { + "kind": "code", + "text": "`[call us](tel:+1234556789)`" + }, + { + "kind": "text", + "text": " (see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "phonesFromUrls" + }, + { + "kind": "text", + "text": ")\nand potentially other sources with high certainty, while " + }, + { + "kind": "code", + "text": "`phonesUncertain`" + }, + { + "kind": "text", + "text": " contains phone numbers\nextracted from the plain text, which might be very inaccurate.\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```typescript\nimport { launchPuppeteer, social } from 'crawlee';\n\nconst browser = await launchPuppeteer();\nconst page = await browser.newPage();\nawait page.goto('http://www.example.com');\nconst html = await page.content();\n\nconst result = social.parseHandlesFromHtml(html);\nconsole.log('Social handles:');\nconsole.dir(result);\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "An object with the social handles." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 243, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L243" + } + ], + "parameters": [ + { + "id": 13225, + "name": "html", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTML text" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13226, + "name": "data", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Optional object which will receive the " + }, + { + "kind": "code", + "text": "`text`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`$`" + }, + { + "kind": "text", + "text": " properties\n that contain text content of the HTML and " + }, + { + "kind": "code", + "text": "`cheerio`" + }, + { + "kind": "text", + "text": " object, respectively. This is an optimization\n so that the caller doesn't need to parse the HTML document again, if needed." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "literal", + "value": null + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Record" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "Record", + "package": "typescript" + } + ] + }, + "defaultValue": "null" + } + ], + "type": { + "type": "reference", + "target": 13229, + "name": "SocialHandles", + "package": "@crawlee/utils" + } + } + ] + }, + { + "id": 13217, + "name": "phonesFromText", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 124, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L124" + } + ], + "signatures": [ + { + "id": 13218, + "name": "phonesFromText", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function attempts to extract phone numbers from a text. Please note that\nthe results might not be accurate, since phone numbers appear in a large variety of formats and conventions.\nIf you encounter some problems, please [file an issue](https://github.com/apify/crawlee/issues)." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Array of phone numbers found.\nIf no phone numbers are found, the function returns an empty array." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 124, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L124" + } + ], + "parameters": [ + { + "id": 13219, + "name": "text", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Text to search the phone numbers in." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ] + }, + { + "id": 13220, + "name": "phonesFromUrls", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 150, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L150" + } + ], + "signatures": [ + { + "id": 13221, + "name": "phonesFromUrls", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Finds phone number links in an array of URLs and extracts the phone numbers from them.\nNote that the phone number links look like " + }, + { + "kind": "code", + "text": "`tel://123456789`" + }, + { + "kind": "text", + "text": ", " + }, + { + "kind": "code", + "text": "`tel:/123456789`" + }, + { + "kind": "text", + "text": " or " + }, + { + "kind": "code", + "text": "`tel:123456789`" + }, + { + "kind": "text", + "text": "." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Array of phone numbers found.\nIf no phone numbers are found, the function returns an empty array." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 150, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L150" + } + ], + "parameters": [ + { + "id": 13222, + "name": "urls", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Array of URLs." + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ] + } + ], + "groups": [ + { + "title": "Interfaces", + "children": [ + 13229 + ] + }, + { + "title": "Variables", + "children": [ + 13255, + 13256, + 13227, + 13228, + 13247, + 13248, + 13243, + 13244, + 13241, + 13242, + 13253, + 13254, + 13251, + 13252, + 13245, + 13246, + 13249, + 13250 + ] + }, + { + "title": "Functions", + "children": [ + 13211, + 13214, + 13223, + 13217, + 13220 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/social.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/social.ts#L1" + } + ] + }, + { + "id": 13415, + "name": "RobotsFile", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Loads and queries information from a [robots.txt file](https://en.wikipedia.org/wiki/Robots.txt).\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\n// Load the robots.txt file\nconst robots = await RobotsFile.find('https://crawlee.dev/docs/introduction/first-crawler');\n\n// Check if a URL should be crawled according to robots.txt\nconst url = 'https://crawlee.dev/api/puppeteer-crawler/class/PuppeteerCrawler';\nif (robots.isAllowed(url)) {\n await crawler.addRequests([url]);\n}\n\n// Enqueue all links in the sitemap(s)\nawait crawler.addRequests(await robots.parseUrlsFromSitemaps());\n```" + } + ] + }, + "children": [ + { + "id": 13439, + "name": "getSitemaps", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 92, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L92" + } + ], + "signatures": [ + { + "id": 13440, + "name": "getSitemaps", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get URLs of sitemaps referenced in the robots file." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 92, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L92" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ] + }, + { + "id": 13435, + "name": "isAllowed", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L85" + } + ], + "signatures": [ + { + "id": 13436, + "name": "isAllowed", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Check if a URL should be crawled by robots." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 85, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L85" + } + ], + "parameters": [ + { + "id": 13437, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "the URL to check against the rules in robots.txt" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13438, + "name": "userAgent", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "relevant user agent, default to " + }, + { + "kind": "code", + "text": "`*`" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "'*'" + } + ], + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ] + }, + { + "id": 13441, + "name": "parseSitemaps", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 99, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L99" + } + ], + "signatures": [ + { + "id": 13442, + "name": "parseSitemaps", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Parse all the sitemaps referenced in the robots file." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 99, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L99" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13445, + "name": "Sitemap", + "package": "@crawlee/utils" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13443, + "name": "parseUrlsFromSitemaps", + "variant": "declaration", + "kind": 2048, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 106, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L106" + } + ], + "signatures": [ + { + "id": 13444, + "name": "parseUrlsFromSitemaps", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Get all URLs from all the sitemaps referenced in the robots file. A shorthand for " + }, + { + "kind": "code", + "text": "`(await robots.parseSitemaps()).urls`" + }, + { + "kind": "text", + "text": "." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 106, + "character": 10, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L106" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13416, + "name": "find", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L40" + } + ], + "signatures": [ + { + "id": 13417, + "name": "find", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Determine the location of a robots.txt file for a URL and fetch it." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 40, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L40" + } + ], + "parameters": [ + { + "id": 13418, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "the URL to fetch robots.txt for" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13419, + "name": "proxyUrl", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "a proxy to be used for fetching the robots.txt file" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13415, + "name": "RobotsFile", + "package": "@crawlee/utils" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13420, + "name": "from", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 54, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L54" + } + ], + "signatures": [ + { + "id": 13421, + "name": "from", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows providing the URL and robots.txt content explicitly instead of loading it from the target site." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 54, + "character": 11, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L54" + } + ], + "parameters": [ + { + "id": 13422, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "the URL for robots.txt file" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13423, + "name": "content", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "contents of robots.txt" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13424, + "name": "proxyUrl", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "a proxy to be used for fetching the robots.txt file" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": 13415, + "name": "RobotsFile", + "package": "@crawlee/utils" + } + } + ] + } + ], + "groups": [ + { + "title": "Methods", + "children": [ + 13439, + 13435, + 13441, + 13443, + 13416, + 13420 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/robots.ts", + "line": 29, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/robots.ts#L29" + } + ] + }, + { + "id": 13445, + "name": "Sitemap", + "variant": "declaration", + "kind": 128, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Loads one or more sitemaps from given URLs, following references in sitemap index files, and exposes the contained URLs.\n\n**Example usage:**\n" + }, + { + "kind": "code", + "text": "```javascript\n// Load a sitemap\nconst sitemap = await Sitemap.load(['https://example.com/sitemap.xml', 'https://example.com/sitemap_2.xml.gz']);\n\n// Enqueue all the contained URLs (including those from sub-sitemaps from sitemap indexes)\nawait crawler.addRequests(sitemap.urls);\n```" + } + ] + }, + "children": [ + { + "id": 13464, + "name": "constructor", + "variant": "declaration", + "kind": 512, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/sitemap.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/sitemap.ts#L76" + } + ], + "signatures": [ + { + "id": 13465, + "name": "new Sitemap", + "variant": "signature", + "kind": 16384, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/sitemap.ts", + "line": 76, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/sitemap.ts#L76" + } + ], + "parameters": [ + { + "id": 13466, + "name": "urls", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ], + "type": { + "type": "reference", + "target": 13445, + "name": "Sitemap", + "package": "@crawlee/utils" + } + } + ] + }, + { + "id": 13467, + "name": "urls", + "variant": "declaration", + "kind": 1024, + "flags": { + "isReadonly": true + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/sitemap.ts", + "line": 76, + "character": 25, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/sitemap.ts#L76" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + }, + { + "id": 13460, + "name": "load", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/sitemap.ts", + "line": 146, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/sitemap.ts#L146" + } + ], + "signatures": [ + { + "id": 13461, + "name": "load", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Fetch sitemap content from given URL or URLs and return URLs of referenced pages." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/sitemap.ts", + "line": 146, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/sitemap.ts#L146" + } + ], + "parameters": [ + { + "id": 13462, + "name": "urls", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "sitemap URL(s)" + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ] + } + }, + { + "id": 13463, + "name": "proxyUrl", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URL of a proxy to be used for fetching sitemap contents" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13445, + "name": "Sitemap", + "package": "@crawlee/utils" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13456, + "name": "tryCommonNames", + "variant": "declaration", + "kind": 2048, + "flags": { + "isStatic": true + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/sitemap.ts", + "line": 126, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/sitemap.ts#L126" + } + ], + "signatures": [ + { + "id": 13457, + "name": "tryCommonNames", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Try to load sitemap from the most common locations - " + }, + { + "kind": "code", + "text": "`/sitemap.xml`" + }, + { + "kind": "text", + "text": " and " + }, + { + "kind": "code", + "text": "`/sitemap.txt`" + }, + { + "kind": "text", + "text": ".\nFor loading based on " + }, + { + "kind": "code", + "text": "`Sitemap`" + }, + { + "kind": "text", + "text": " entries in " + }, + { + "kind": "code", + "text": "`robots.txt`" + }, + { + "kind": "text", + "text": ", the " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "RobotsFile" + }, + { + "kind": "text", + "text": " class should be used." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/sitemap.ts", + "line": 126, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/sitemap.ts#L126" + } + ], + "parameters": [ + { + "id": 13458, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The domain URL to fetch the sitemap for." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13459, + "name": "proxyUrl", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "A proxy to be used for fetching the sitemap file." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13445, + "name": "Sitemap", + "package": "@crawlee/utils" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "Constructors", + "children": [ + 13464 + ] + }, + { + "title": "Properties", + "children": [ + 13467 + ] + }, + { + "title": "Methods", + "children": [ + 13460, + 13456 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/sitemap.ts", + "line": 75, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/sitemap.ts#L75" + } + ] + }, + { + "id": 13284, + "name": "DownloadListOfUrlsOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13286, + "name": "encoding", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The encoding of the file." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\n'utf8'\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 16, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L16" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.BufferEncoding" + }, + "name": "BufferEncoding", + "package": "@types/node", + "qualifiedName": "__global.BufferEncoding" + } + }, + { + "id": 13288, + "name": "proxyUrl", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Allows to use a proxy for the download request." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 26, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L26" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13285, + "name": "url", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "URL to the file" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 10, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L10" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13287, + "name": "urlRegExp", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom regular expression to identify the URLs in the file to extract.\nThe regular expression should be case-insensitive and have global flag set (i.e. " + }, + { + "kind": "code", + "text": "`/something/gi`" + }, + { + "kind": "text", + "text": ")." + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nURL_NO_COMMAS_REGEX\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 23, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L23" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13286, + 13288, + 13285, + 13287 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 6, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L6" + } + ] + }, + { + "id": 13289, + "name": "ExtractUrlsOptions", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13290, + "name": "string", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The string to extract URLs from." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 59, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L59" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13291, + "name": "urlRegExp", + "variant": "declaration", + "kind": 1024, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Custom regular expression" + } + ], + "blockTags": [ + { + "tag": "@default", + "content": [ + { + "kind": "code", + "text": "```ts\nURL_NO_COMMAS_REGEX\n```" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 65, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L65" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13290, + 13291 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 55, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L55" + } + ] + }, + { + "id": 13312, + "name": "MemoryInfo", + "variant": "declaration", + "kind": 256, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Describes memory usage of the process." + } + ] + }, + "children": [ + { + "id": 13317, + "name": "childProcessesBytes", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Amount of memory used by child processes of the current Node.js process" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/memory-info.ts", + "line": 41, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/memory-info.ts#L41" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13314, + "name": "freeBytes", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Amount of free memory in the system or container" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/memory-info.ts", + "line": 32, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/memory-info.ts#L32" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13316, + "name": "mainProcessBytes", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Amount of memory used the current Node.js process" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/memory-info.ts", + "line": 38, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/memory-info.ts#L38" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13313, + "name": "totalBytes", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Total memory available in the system or container" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/memory-info.ts", + "line": 29, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/memory-info.ts#L29" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + }, + { + "id": 13315, + "name": "usedBytes", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Amount of memory used (= totalBytes - freeBytes)" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/memory-info.ts", + "line": 35, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/memory-info.ts#L35" + } + ], + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13317, + 13314, + 13316, + 13313, + 13315 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/memory-info.ts", + "line": 27, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/memory-info.ts#L27" + } + ] + }, + { + "id": 13340, + "name": "OpenGraphProperty", + "variant": "declaration", + "kind": 256, + "flags": {}, + "children": [ + { + "id": 13343, + "name": "children", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 8, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L8" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13340, + "name": "OpenGraphProperty", + "package": "@crawlee/utils" + } + } + }, + { + "id": 13341, + "name": "name", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 6, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L6" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13342, + "name": "outputName", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 7, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L7" + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13343, + 13341, + 13342 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 5, + "character": 17, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L5" + } + ] + }, + { + "id": 13271, + "name": "CheerioRoot", + "variant": "declaration", + "kind": 2097152, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/cheerio.ts", + "line": 7, + "character": 12, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/cheerio.ts#L7" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ReturnType" + }, + "typeArguments": [ + { + "type": "query", + "queryType": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/index.ts", + "qualifiedName": "load" + }, + "name": "load", + "package": "cheerio", + "preferValues": true + } + } + ], + "name": "ReturnType", + "package": "typescript" + } + }, + { + "id": 13260, + "name": "CLOUDFLARE_RETRY_CSS_SELECTORS", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/blocked.ts", + "line": 1, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/blocked.ts#L1" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "defaultValue": "..." + }, + { + "id": 13261, + "name": "RETRY_CSS_SELECTORS", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "CSS selectors for elements that should trigger a retry, as the crawler is likely getting blocked." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/blocked.ts", + "line": 8, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/blocked.ts#L8" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "defaultValue": "..." + }, + { + "id": 13262, + "name": "ROTATE_PROXY_ERRORS", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Content of proxy errors that should trigger a retry, as the proxy is likely getting blocked / is malfunctioning." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/blocked.ts", + "line": 17, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/blocked.ts#L17" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + }, + "defaultValue": "..." + }, + { + "id": 13308, + "name": "URL_NO_COMMAS_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Default regular expression to match URLs in a string that may be plain text, JSON, CSV or other. It supports common URL characters\nand does not support URLs containing commas or spaces. The URLs also may contain Unicode letters (not symbols)." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/general.ts", + "line": 8, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/general.ts#L8" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13309, + "name": "URL_WITH_COMMAS_REGEX", + "variant": "declaration", + "kind": 32, + "flags": { + "isConst": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Regular expression that, in addition to the default regular expression " + }, + { + "kind": "code", + "text": "`URL_NO_COMMAS_REGEX`" + }, + { + "kind": "text", + "text": ", supports matching commas in URL path and query.\nNote, however, that this may prevent parsing URLs from comma delimited lists, or the URLs may become malformed." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/general.ts", + "line": 14, + "character": 13, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/general.ts#L14" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "RegExp" + }, + "name": "RegExp", + "package": "typescript" + }, + "defaultValue": "..." + }, + { + "id": 13272, + "name": "chunk", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/chunk.ts", + "line": 28, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/chunk.ts#L28" + } + ], + "signatures": [ + { + "id": 13273, + "name": "chunk", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/chunk.ts", + "line": 28, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/chunk.ts#L28" + } + ], + "typeParameter": [ + { + "id": 13274, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 13275, + "name": "array", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "typeOperator", + "operator": "readonly", + "target": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13274, + "name": "T", + "package": "@crawlee/utils", + "refersToTypeParameter": true + } + } + } + }, + { + "id": 13276, + "name": "chunkSize", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13274, + "name": "T", + "package": "@crawlee/utils", + "refersToTypeParameter": true + } + } + } + } + ] + }, + { + "id": 13318, + "name": "createRequestDebugInfo", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/debug.ts", + "line": 34, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/debug.ts#L34" + } + ], + "signatures": [ + { + "id": 13319, + "name": "createRequestDebugInfo", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Creates a standardized debug info from request and response. This info is usually added to dataset under the hidden " + }, + { + "kind": "code", + "text": "`#debug`" + }, + { + "kind": "text", + "text": " field." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/debug.ts", + "line": 34, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/debug.ts#L34" + } + ], + "parameters": [ + { + "id": 13320, + "name": "request", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "[Request](https://sdk.apify.com/docs/api/request) object." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/utils/src/internals/debug.ts", + "qualifiedName": "Request" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + ], + "name": "Request", + "package": "@crawlee/utils" + } + }, + { + "id": 13321, + "name": "response", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Puppeteer [" + }, + { + "kind": "code", + "text": "`Response`" + }, + { + "kind": "text", + "text": "](https://pptr.dev/#?product=Puppeteer&version=v1.11.0&show=api-class-response)\n or NodeJS [" + }, + { + "kind": "code", + "text": "`http.IncomingMessage`" + }, + { + "kind": "text", + "text": "](https://nodejs.org/api/http.html#http_class_http_serverresponse)." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/http.d.ts", + "qualifiedName": "\"http\".IncomingMessage" + }, + "name": "IncomingMessage", + "package": "@types/node", + "qualifiedName": "\"http\".IncomingMessage" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Partial" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/utils/src/internals/debug.ts", + "qualifiedName": "BrowserResponseLike" + }, + "name": "BrowserResponseLike", + "package": "@crawlee/utils" + } + ], + "name": "Partial", + "package": "typescript" + } + ] + }, + "defaultValue": "{}" + }, + { + "id": 13322, + "name": "additionalFields", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Object containing additional fields to be added." + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + }, + "defaultValue": "{}" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 13277, + "name": "downloadListOfUrls", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L33" + } + ], + "signatures": [ + { + "id": 13278, + "name": "downloadListOfUrls", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a promise that resolves to an array of urls parsed from the resource available at the provided url.\nOptionally, custom regular expression and encoding may be provided." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 33, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L33" + } + ], + "parameters": [ + { + "id": 13279, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13284, + "name": "DownloadListOfUrlsOptions", + "package": "@crawlee/utils" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13280, + "name": "extractUrls", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 71, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L71" + } + ], + "signatures": [ + { + "id": 13281, + "name": "extractUrls", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Collects all URLs in an arbitrary string to an array, optionally using a custom regular expression." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/extract-urls.ts", + "line": 71, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/extract-urls.ts#L71" + } + ], + "parameters": [ + { + "id": 13282, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": 13289, + "name": "ExtractUrlsOptions", + "package": "@crawlee/utils" + } + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ] + }, + { + "id": 13266, + "name": "extractUrlsFromCheerio", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/cheerio.ts", + "line": 92, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/cheerio.ts#L92" + } + ], + "signatures": [ + { + "id": 13267, + "name": "extractUrlsFromCheerio", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Extracts URLs from a given Cheerio object." + } + ], + "blockTags": [ + { + "tag": "@throws", + "content": [ + { + "kind": "text", + "text": "when a relative URL is encountered with no baseUrl set" + } + ] + }, + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "An array of absolute URLs" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/cheerio.ts", + "line": 92, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/cheerio.ts#L92" + } + ], + "parameters": [ + { + "id": 13268, + "name": "$", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "the Cheerio object to extract URLs from" + } + ] + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + }, + { + "id": 13269, + "name": "selector", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "a CSS selector for matching link elements" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "'a'" + }, + { + "id": 13270, + "name": "baseUrl", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "a URL for resolving relative links" + } + ] + }, + "type": { + "type": "intrinsic", + "name": "string" + }, + "defaultValue": "''" + } + ], + "type": { + "type": "array", + "elementType": { + "type": "intrinsic", + "name": "string" + } + } + } + ] + }, + { + "id": 13310, + "name": "getMemoryInfo", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/memory-info.ts", + "line": 53, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/memory-info.ts#L53" + } + ], + "signatures": [ + { + "id": 13311, + "name": "getMemoryInfo", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns memory statistics of the process and the system, see " + }, + { + "kind": "inline-tag", + "tag": "@apilink", + "text": "MemoryInfo" + }, + { + "kind": "text", + "text": ".\n\nIf the process runs inside of Docker, the " + }, + { + "kind": "code", + "text": "`getMemoryInfo`" + }, + { + "kind": "text", + "text": " gets container memory limits,\notherwise it gets system memory limits.\n\nBeware that the function is quite inefficient because it spawns a new process.\nTherefore you shouldn't call it too often, like more than once per second." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/memory-info.ts", + "line": 53, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/memory-info.ts#L53" + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13312, + "name": "MemoryInfo", + "package": "@crawlee/utils" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13344, + "name": "gotScraping", + "variant": "declaration", + "kind": 64, + "flags": {}, + "children": [ + { + "id": 13404, + "name": "defaults", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 216, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/types.d.ts", + "qualifiedName": "InstanceDefaults" + }, + "name": "InstanceDefaults", + "package": "got" + } + }, + { + "id": 13413, + "name": "delete", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedGotRequestFunction" + }, + "name": "ExtendedGotRequestFunction", + "package": "got-scraping" + } + }, + { + "id": 13405, + "name": "extend", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 217, + "character": 4 + } + ], + "type": { + "type": "reflection", + "declaration": { + "id": 13406, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 217, + "character": 12 + } + ], + "signatures": [ + { + "id": 13407, + "name": "__type", + "variant": "signature", + "kind": 4096, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 217, + "character": 12 + } + ], + "parameters": [ + { + "id": 13408, + "name": "instancesOrOptions", + "variant": "param", + "kind": 32768, + "flags": { + "isExternal": true, + "isRest": true + }, + "type": { + "type": "array", + "elementType": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "GotScraping" + }, + "name": "GotScraping", + "package": "got-scraping" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedExtendOptions" + }, + "name": "ExtendedExtendOptions", + "package": "got-scraping" + } + ] + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "GotScraping" + }, + "name": "GotScraping", + "package": "got-scraping" + } + } + ] + } + } + }, + { + "id": 13409, + "name": "get", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedGotRequestFunction" + }, + "name": "ExtendedGotRequestFunction", + "package": "got-scraping" + } + }, + { + "id": 13410, + "name": "head", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedGotRequestFunction" + }, + "name": "ExtendedGotRequestFunction", + "package": "got-scraping" + } + }, + { + "id": 13403, + "name": "paginate", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 215, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedGotPaginate" + }, + "name": "ExtendedGotPaginate", + "package": "got-scraping" + } + }, + { + "id": 13414, + "name": "patch", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedGotRequestFunction" + }, + "name": "ExtendedGotRequestFunction", + "package": "got-scraping" + } + }, + { + "id": 13411, + "name": "post", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedGotRequestFunction" + }, + "name": "ExtendedGotRequestFunction", + "package": "got-scraping" + } + }, + { + "id": 13412, + "name": "put", + "variant": "declaration", + "kind": 1024, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedGotRequestFunction" + }, + "name": "ExtendedGotRequestFunction", + "package": "got-scraping" + } + }, + { + "id": 13402, + "name": "stream", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 214, + "character": 4 + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedGotStream" + }, + "name": "ExtendedGotStream", + "package": "got-scraping" + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13404, + 13413, + 13405, + 13409, + 13410, + 13403, + 13414, + 13411, + 13412, + 13402 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "signatures": [ + { + "id": 13345, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13346, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13347, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfTextResponseBody" + }, + "name": "ExtendedOptionsOfTextResponseBody", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13348, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "typeParameter": [ + { + "id": 13349, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 13350, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13351, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfJSONResponseBody" + }, + "name": "ExtendedOptionsOfJSONResponseBody", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13349, + "name": "T", + "package": "got-scraping", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13352, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13353, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13354, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfBufferResponseBody" + }, + "name": "ExtendedOptionsOfBufferResponseBody", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13355, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13356, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13357, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfUnknownResponseBody" + }, + "name": "ExtendedOptionsOfUnknownResponseBody", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "name": "Response", + "package": "got" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13358, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13359, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfTextResponseBody" + }, + "name": "ExtendedOptionsOfTextResponseBody", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13360, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "typeParameter": [ + { + "id": 13361, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 13362, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfJSONResponseBody" + }, + "name": "ExtendedOptionsOfJSONResponseBody", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13361, + "name": "T", + "package": "got-scraping", + "refersToTypeParameter": true + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13363, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13364, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfBufferResponseBody" + }, + "name": "ExtendedOptionsOfBufferResponseBody", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ], + "name": "Response", + "package": "got" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13365, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13366, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfUnknownResponseBody" + }, + "name": "ExtendedOptionsOfUnknownResponseBody", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/response.d.ts", + "qualifiedName": "Response" + }, + "name": "Response", + "package": "got" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13367, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13368, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13369, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "Merge" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfTextResponseBody" + }, + "name": "ExtendedOptionsOfTextResponseBody", + "package": "got-scraping" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ResponseBodyOnly" + }, + "name": "ResponseBodyOnly", + "package": "got-scraping" + } + ], + "name": "Merge", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13370, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "typeParameter": [ + { + "id": 13371, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 13372, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13373, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "Merge" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfJSONResponseBody" + }, + "name": "ExtendedOptionsOfJSONResponseBody", + "package": "got-scraping" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ResponseBodyOnly" + }, + "name": "ResponseBodyOnly", + "package": "got-scraping" + } + ], + "name": "Merge", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13371, + "name": "T", + "package": "got-scraping", + "refersToTypeParameter": true + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13374, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13375, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13376, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "Merge" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfBufferResponseBody" + }, + "name": "ExtendedOptionsOfBufferResponseBody", + "package": "got-scraping" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ResponseBodyOnly" + }, + "name": "ResponseBodyOnly", + "package": "got-scraping" + } + ], + "name": "Merge", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13377, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13378, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "Merge" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfTextResponseBody" + }, + "name": "ExtendedOptionsOfTextResponseBody", + "package": "got-scraping" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ResponseBodyOnly" + }, + "name": "ResponseBodyOnly", + "package": "got-scraping" + } + ], + "name": "Merge", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "string" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13379, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "typeParameter": [ + { + "id": 13380, + "name": "T", + "variant": "typeParam", + "kind": 131072, + "flags": {} + } + ], + "parameters": [ + { + "id": 13381, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "Merge" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfJSONResponseBody" + }, + "name": "ExtendedOptionsOfJSONResponseBody", + "package": "got-scraping" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ResponseBodyOnly" + }, + "name": "ResponseBodyOnly", + "package": "got-scraping" + } + ], + "name": "Merge", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": 13380, + "name": "T", + "package": "got-scraping", + "refersToTypeParameter": true + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13382, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13383, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "Merge" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ExtendedOptionsOfBufferResponseBody" + }, + "name": "ExtendedOptionsOfBufferResponseBody", + "package": "got-scraping" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "ResponseBodyOnly" + }, + "name": "ResponseBodyOnly", + "package": "got-scraping" + } + ], + "name": "Merge", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/@types/node/buffer.d.ts", + "qualifiedName": "__global.Buffer" + }, + "name": "Buffer", + "package": "@types/node", + "qualifiedName": "__global.Buffer" + } + ], + "name": "CancelableRequest", + "package": "got" + } + }, + { + "id": 13384, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13385, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13386, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "Merge" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + }, + { + "type": "reflection", + "declaration": { + "id": 13387, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 13388, + "name": "isStream", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 116, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": true + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13388 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 115, + "character": 53 + } + ] + } + } + ], + "name": "Merge", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/index.d.ts", + "qualifiedName": "default" + }, + "name": "default", + "package": "got" + } + }, + { + "id": 13389, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13390, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "Merge" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + }, + { + "type": "reflection", + "declaration": { + "id": 13391, + "name": "__type", + "variant": "declaration", + "kind": 65536, + "flags": {}, + "children": [ + { + "id": 13392, + "name": "isStream", + "variant": "declaration", + "kind": 1024, + "flags": { + "isExternal": true + }, + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 119, + "character": 8 + } + ], + "type": { + "type": "literal", + "value": true + } + } + ], + "groups": [ + { + "title": "Properties", + "children": [ + 13392 + ] + } + ], + "sources": [ + { + "fileName": "node_modules/got-scraping/dist/index.d.ts", + "line": 118, + "character": 33 + } + ] + } + } + ], + "name": "Merge", + "package": "got-scraping" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/index.d.ts", + "qualifiedName": "default" + }, + "name": "default", + "package": "got" + } + }, + { + "id": 13393, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13394, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.dom.d.ts", + "qualifiedName": "URL" + }, + "name": "URL", + "package": "typescript" + } + ] + } + }, + { + "id": 13395, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/index.d.ts", + "qualifiedName": "default" + }, + "name": "default", + "package": "got" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "CancelableRequest", + "package": "got" + } + ] + } + }, + { + "id": 13396, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13397, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "OptionsInit" + }, + "name": "OptionsInit", + "package": "got-scraping" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/index.d.ts", + "qualifiedName": "default" + }, + "name": "default", + "package": "got" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "CancelableRequest", + "package": "got" + } + ] + } + }, + { + "id": 13398, + "name": "gotScraping", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/gotScraping.ts", + "line": 5, + "character": 4, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/gotScraping.ts#L5" + } + ], + "parameters": [ + { + "id": 13399, + "name": "url", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "undefined" + } + }, + { + "id": 13400, + "name": "options", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "undefined" + } + }, + { + "id": 13401, + "name": "defaults", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/options.d.ts", + "qualifiedName": "default" + }, + "name": "default", + "package": "got" + } + } + ], + "type": { + "type": "union", + "types": [ + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/core/index.d.ts", + "qualifiedName": "default" + }, + "name": "default", + "package": "got" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/got/dist/source/as-promise/types.d.ts", + "qualifiedName": "CancelableRequest" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "unknown" + } + ], + "name": "CancelableRequest", + "package": "got" + } + ] + } + } + ] + }, + { + "id": 13263, + "name": "htmlToText", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/cheerio.ts", + "line": 41, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/cheerio.ts#L41" + } + ], + "signatures": [ + { + "id": 13264, + "name": "htmlToText", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "The function converts a HTML document to a plain text.\n\nThe plain text generated by the function is similar to a text captured\nby pressing Ctrl+A and Ctrl+C on a page when loaded in a web browser.\nThe function doesn't aspire to preserve the formatting or to be perfectly correct with respect to HTML specifications.\nHowever, it attempts to generate newlines and whitespaces in and around HTML elements\nto avoid merging distinct parts of text and thus enable extraction of data from the text (e.g. phone numbers).\n\n**Example usage**\n" + }, + { + "kind": "code", + "text": "```javascript\nconst text = htmlToText('Some text');\nconsole.log(text);\n```" + }, + { + "kind": "text", + "text": "\n\nNote that the function uses [cheerio](https://www.npmjs.com/package/cheerio) to parse the HTML.\nOptionally, to avoid duplicate parsing of HTML and thus improve performance, you can pass\nan existing Cheerio object to the function instead of the HTML text. The HTML should be parsed\nwith the " + }, + { + "kind": "code", + "text": "`decodeEntities`" + }, + { + "kind": "text", + "text": " option set to " + }, + { + "kind": "code", + "text": "`true`" + }, + { + "kind": "text", + "text": ". For example:\n\n" + }, + { + "kind": "code", + "text": "```javascript\nimport cheerio from 'cheerio';\nconst html = 'Some text';\nconst text = htmlToText(cheerio.load(html, { decodeEntities: true }));\n```" + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Plain text" + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/cheerio.ts", + "line": 41, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/cheerio.ts#L41" + } + ], + "parameters": [ + { + "id": 13265, + "name": "htmlOrCheerioElement", + "variant": "param", + "kind": 32768, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "HTML text or parsed HTML represented using a [cheerio](https://www.npmjs.com/package/cheerio) function." + } + ] + }, + "type": { + "type": "union", + "types": [ + { + "type": "intrinsic", + "name": "string" + }, + { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + ] + } + } + ], + "type": { + "type": "intrinsic", + "name": "string" + } + } + ] + }, + { + "id": 13292, + "name": "isDocker", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/general.ts", + "line": 35, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/general.ts#L35" + } + ], + "signatures": [ + { + "id": 13293, + "name": "isDocker", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that resolves to true if the code is running in a Docker container." + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/general.ts", + "line": 35, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/general.ts#L35" + } + ], + "parameters": [ + { + "id": 13294, + "name": "forceReset", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "intrinsic", + "name": "boolean" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "boolean" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + }, + { + "id": 13333, + "name": "parseOpenGraph", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 394, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L394" + }, + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 395, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L395" + }, + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 396, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L396" + } + ], + "signatures": [ + { + "id": 13334, + "name": "parseOpenGraph", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Easily parse all OpenGraph properties from a page with just a " + }, + { + "kind": "code", + "text": "`CheerioAPI`" + }, + { + "kind": "text", + "text": " object." + } + ], + "blockTags": [ + { + "tag": "@returns", + "content": [ + { + "kind": "text", + "text": "Scraped OpenGraph properties as an object." + } + ] + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 394, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L394" + } + ], + "parameters": [ + { + "id": 13335, + "name": "raw", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "intrinsic", + "name": "string" + } + }, + { + "id": 13336, + "name": "additionalProperties", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Any potential additional " + }, + { + "kind": "code", + "text": "`OpenGraphProperty`" + }, + { + "kind": "text", + "text": " items you'd like to be scraped.\nCurrently existing properties are kept up to date." + } + ] + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13340, + "name": "OpenGraphProperty", + "package": "@crawlee/utils" + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "OpenGraphResult" + }, + "name": "OpenGraphResult", + "package": "@crawlee/utils" + } + ], + "name": "Dictionary", + "package": "@crawlee/types" + } + }, + { + "id": 13337, + "name": "parseOpenGraph", + "variant": "signature", + "kind": 4096, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/open_graph_parser.ts", + "line": 395, + "character": 16, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/open_graph_parser.ts#L395" + } + ], + "parameters": [ + { + "id": 13338, + "name": "$", + "variant": "param", + "kind": 32768, + "flags": {}, + "type": { + "type": "reference", + "target": { + "sourceFileName": "../node_modules/cheerio/lib/https:/raw.githubusercontent.com/cheeriojs/cheerio/d1cbc66d53392ce8bf6cd0068f675836372d2bf3/src/load.ts", + "qualifiedName": "CheerioAPI" + }, + "name": "CheerioAPI", + "package": "cheerio" + } + }, + { + "id": 13339, + "name": "additionalProperties", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "type": { + "type": "array", + "elementType": { + "type": "reference", + "target": 13340, + "name": "OpenGraphProperty", + "package": "@crawlee/utils" + } + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "Dictionary" + }, + "typeArguments": [ + { + "type": "reference", + "target": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "OpenGraphResult" + }, + "name": "OpenGraphResult", + "package": "@crawlee/utils" + } + ], + "name": "Dictionary", + "package": "@crawlee/types" + } + } + ] + }, + { + "id": 13299, + "name": "sleep", + "variant": "declaration", + "kind": 64, + "flags": {}, + "sources": [ + { + "fileName": "packages/utils/src/internals/general.ts", + "line": 73, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/general.ts#L73" + } + ], + "signatures": [ + { + "id": 13300, + "name": "sleep", + "variant": "signature", + "kind": 4096, + "flags": {}, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Returns a " + }, + { + "kind": "code", + "text": "`Promise`" + }, + { + "kind": "text", + "text": " that resolves after a specific period of time. This is useful to implement waiting\nin your code, e.g. to prevent overloading of target website or to avoid bot detection.\n\n**Example usage:**\n\n" + }, + { + "kind": "code", + "text": "```\nimport { sleep } from 'crawlee';\n\n...\n\n// Sleep 1.5 seconds\nawait sleep(1500);\n```" + } + ] + }, + "sources": [ + { + "fileName": "packages/utils/src/internals/general.ts", + "line": 73, + "character": 22, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/internals/general.ts#L73" + } + ], + "parameters": [ + { + "id": 13301, + "name": "millis", + "variant": "param", + "kind": 32768, + "flags": { + "isOptional": true + }, + "comment": { + "summary": [ + { + "kind": "text", + "text": "Period of time to sleep, in milliseconds. If not a positive number, the returned promise resolves immediately." + } + ] + }, + "type": { + "type": "intrinsic", + "name": "number" + } + } + ], + "type": { + "type": "reference", + "target": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Promise" + }, + "typeArguments": [ + { + "type": "intrinsic", + "name": "void" + } + ], + "name": "Promise", + "package": "typescript" + } + } + ] + } + ], + "groups": [ + { + "title": "References", + "children": [ + 13283 + ] + }, + { + "title": "Namespaces", + "children": [ + 13210 + ] + }, + { + "title": "Classes", + "children": [ + 13415, + 13445 + ] + }, + { + "title": "Interfaces", + "children": [ + 13284, + 13289, + 13312, + 13340 + ] + }, + { + "title": "Type Aliases", + "children": [ + 13271 + ] + }, + { + "title": "Variables", + "children": [ + 13260, + 13261, + 13262, + 13308, + 13309 + ] + }, + { + "title": "Functions", + "children": [ + 13272, + 13318, + 13277, + 13280, + 13266, + 13310, + 13344, + 13263, + 13292, + 13333, + 13299 + ] + } + ], + "sources": [ + { + "fileName": "packages/utils/src/index.ts", + "line": 1, + "character": 0, + "url": "https://github.com/apify/crawlee/blob/master/packages/utils/src/index.ts#L1" + } + ] + } + ], + "groups": [ + { + "title": "Modules", + "children": [ + 3, + 4, + 2, + 6, + 1, + 5, + 9, + 10, + 11, + 8, + 7, + 13, + 12 + ] + } + ], + "packageName": "@crawlee/root", + "readme": [ + { + "kind": "text", + "text": "

\n \n \n \n \"Crawlee\"\n \n \n
\n A web scraping and browser automation library\n

\n\n

\n \"NPM\n \"Downloads\"\n \"Chat\n \"Build\n

\n\nCrawlee covers your crawling and scraping end-to-end and **helps you build reliable scrapers. Fast.**\n\nYour crawlers will appear human-like and fly under the radar of modern bot protections even with the default configuration. Crawlee gives you the tools to crawl the web for links, scrape data, and store it to disk or cloud while staying configurable to suit your project's needs.\n\nCrawlee is available as the [" + }, + { + "kind": "code", + "text": "`crawlee`" + }, + { + "kind": "text", + "text": "](https://www.npmjs.com/package/crawlee) NPM package.\n\n> 👉 **View full documentation, guides and examples on the [Crawlee project website](https://crawlee.dev)** 👈\n\n## Installation\n\nWe recommend visiting the [Introduction tutorial](https://crawlee.dev/docs/introduction) in Crawlee documentation for more information.\n\n> Crawlee requires **Node.js 16 or higher**.\n\n### With Crawlee CLI\n\nThe fastest way to try Crawlee out is to use the **Crawlee CLI** and choose the **Getting started example**. The CLI will install all the necessary dependencies and add boilerplate code for you to play with.\n\n" + }, + { + "kind": "code", + "text": "```bash\nnpx crawlee create my-crawler\n```" + }, + { + "kind": "text", + "text": "\n\n" + }, + { + "kind": "code", + "text": "```bash\ncd my-crawler\nnpm start\n```" + }, + { + "kind": "text", + "text": "\n\n### Manual installation\nIf you prefer adding Crawlee **into your own project**, try the example below. Because it uses " + }, + { + "kind": "code", + "text": "`PlaywrightCrawler`" + }, + { + "kind": "text", + "text": " we also need to install [Playwright](https://playwright.dev). It's not bundled with Crawlee to reduce install size.\n\n" + }, + { + "kind": "code", + "text": "```bash\nnpm install crawlee playwright\n```" + }, + { + "kind": "text", + "text": "\n\n" + }, + { + "kind": "code", + "text": "```js\nimport { PlaywrightCrawler, Dataset } from 'crawlee';\n\n// PlaywrightCrawler crawls the web using a headless\n// browser controlled by the Playwright library.\nconst crawler = new PlaywrightCrawler({\n // Use the requestHandler to process each of the crawled pages.\n async requestHandler({ request, page, enqueueLinks, log }) {\n const title = await page.title();\n log.info(`Title of ${request.loadedUrl} is '${title}'`);\n\n // Save results as JSON to ./storage/datasets/default\n await Dataset.pushData({ title, url: request.loadedUrl });\n\n // Extract links from the current page\n // and add them to the crawling queue.\n await enqueueLinks();\n },\n // Uncomment this option to see the browser window.\n // headless: false,\n});\n\n// Add first URL to the queue and start the crawl.\nawait crawler.run(['https://crawlee.dev']);\n```" + }, + { + "kind": "text", + "text": "\n\nBy default, Crawlee stores data to " + }, + { + "kind": "code", + "text": "`./storage`" + }, + { + "kind": "text", + "text": " in the current working directory. You can override this directory via Crawlee configuration. For details, see [Configuration guide](https://crawlee.dev/docs/guides/configuration), [Request storage](https://crawlee.dev/docs/guides/request-storage) and [Result storage](https://crawlee.dev/docs/guides/result-storage).\n\n## 🛠 Features\n\n- Single interface for **HTTP and headless browser** crawling\n- Persistent **queue** for URLs to crawl (breadth & depth first)\n- Pluggable **storage** of both tabular data and files\n- Automatic **scaling** with available system resources\n- Integrated **proxy rotation** and session management\n- Lifecycles customizable with **hooks**\n- **CLI** to bootstrap your projects\n- Configurable **routing**, **error handling** and **retries**\n- **Dockerfiles** ready to deploy\n- Written in **TypeScript** with generics\n\n### 👾 HTTP crawling\n\n- Zero config **HTTP2 support**, even for proxies\n- Automatic generation of **browser-like headers**\n- Replication of browser **TLS fingerprints**\n- Integrated fast **HTML parsers**. Cheerio and JSDOM\n- Yes, you can scrape **JSON APIs** as well\n\n### 💻 Real browser crawling\n\n- JavaScript **rendering** and **screenshots**\n- **Headless** and **headful** support\n- Zero-config generation of **human-like fingerprints**\n- Automatic **browser management**\n- Use **Playwright** and **Puppeteer** with the same interface\n- **Chrome**, **Firefox**, **Webkit** and many others\n\n## Usage on the Apify platform\n\nCrawlee is open-source and runs anywhere, but since it's developed by [Apify](https://apify.com), it's easy to set up on the Apify platform and run in the cloud. Visit the [Apify SDK website](https://sdk.apify.com) to learn more about deploying Crawlee to the Apify platform.\n\n## Support\n\nIf you find any bug or issue with Crawlee, please [submit an issue on GitHub](https://github.com/apify/crawlee/issues). For questions, you can ask on [Stack Overflow](https://stackoverflow.com/questions/tagged/apify), in GitHub Discussions or you can join our [Discord server](https://discord.com/invite/jyEM2PRvMU).\n\n## Contributing\n\nYour code contributions are welcome, and you'll be praised to eternity! If you have any ideas for improvements, either submit an issue or create a pull request. For contribution guidelines and the code of conduct, see [CONTRIBUTING.md](https://github.com/apify/crawlee/blob/master/CONTRIBUTING.md).\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE.md](https://github.com/apify/crawlee/blob/master/LICENSE.md) file for details." + } + ], + "symbolIdMap": { + "1": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "" + }, + "2": { + "sourceFileName": "../packages/browser-pool/src/index.ts", + "qualifiedName": "" + }, + "3": { + "sourceFileName": "../packages/basic-crawler/src/index.ts", + "qualifiedName": "" + }, + "4": { + "sourceFileName": "../packages/browser-crawler/src/index.ts", + "qualifiedName": "" + }, + "5": { + "sourceFileName": "../packages/http-crawler/src/index.ts", + "qualifiedName": "" + }, + "6": { + "sourceFileName": "../packages/cheerio-crawler/src/index.ts", + "qualifiedName": "" + }, + "7": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "" + }, + "8": { + "sourceFileName": "../packages/playwright-crawler/src/index.ts", + "qualifiedName": "" + }, + "9": { + "sourceFileName": "../packages/jsdom-crawler/src/index.ts", + "qualifiedName": "" + }, + "10": { + "sourceFileName": "../packages/linkedom-crawler/src/index.ts", + "qualifiedName": "" + }, + "11": { + "sourceFileName": "../packages/memory-storage/src/index.ts", + "qualifiedName": "" + }, + "12": { + "sourceFileName": "../packages/utils/src/index.ts", + "qualifiedName": "" + }, + "13": { + "sourceFileName": "../packages/types/src/index.ts", + "qualifiedName": "" + }, + "14": { + "sourceFileName": "../node_modules/@apify/pseudo_url/cjs/index.d.ts", + "qualifiedName": "PseudoUrl" + }, + "15": { + "sourceFileName": "../node_modules/@apify/pseudo_url/cjs/index.d.ts", + "qualifiedName": "PseudoUrl.__constructor" + }, + "16": { + "sourceFileName": "../node_modules/@apify/pseudo_url/cjs/index.d.ts", + "qualifiedName": "PseudoUrl" + }, + "17": { + "sourceFileName": "../node_modules/@apify/pseudo_url/cjs/index.d.ts", + "qualifiedName": "purl" + }, + "18": { + "sourceFileName": "../node_modules/@apify/pseudo_url/cjs/index.d.ts", + "qualifiedName": "PseudoUrl.regex" + }, + "19": { + "sourceFileName": "../node_modules/@apify/pseudo_url/cjs/index.d.ts", + "qualifiedName": "PseudoUrl.matches" + }, + "20": { + "sourceFileName": "../node_modules/@apify/pseudo_url/cjs/index.d.ts", + "qualifiedName": "PseudoUrl.matches" + }, + "21": { + "sourceFileName": "../node_modules/@apify/pseudo_url/cjs/index.d.ts", + "qualifiedName": "url" + }, + "31": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient" + }, + "32": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.datasets" + }, + "33": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.datasets" + }, + "34": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.dataset" + }, + "35": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.dataset" + }, + "36": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "id" + }, + "37": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.keyValueStores" + }, + "38": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.keyValueStores" + }, + "39": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.keyValueStore" + }, + "40": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.keyValueStore" + }, + "41": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "id" + }, + "42": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.requestQueues" + }, + "43": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.requestQueues" + }, + "44": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.requestQueue" + }, + "45": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.requestQueue" + }, + "46": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "id" + }, + "47": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "48": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.purge" + }, + "49": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.purge" + }, + "50": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.teardown" + }, + "51": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.teardown" + }, + "52": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.setStatusMessage" + }, + "53": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.setStatusMessage" + }, + "54": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "message" + }, + "55": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "56": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient.stats" + }, + "57": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "__type" + }, + "58": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "__type.rateLimitErrors" + }, + "59": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie" + }, + "60": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.name" + }, + "61": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.value" + }, + "62": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.url" + }, + "63": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.domain" + }, + "64": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.path" + }, + "65": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.secure" + }, + "66": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.httpOnly" + }, + "67": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.sameSite" + }, + "68": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.expires" + }, + "69": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.priority" + }, + "70": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.sameParty" + }, + "71": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.sourceScheme" + }, + "72": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie.sourcePort" + }, + "73": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueOperationInfo" + }, + "74": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueOperationInfo.wasAlreadyPresent" + }, + "75": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueOperationInfo.wasAlreadyHandled" + }, + "76": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueOperationInfo.requestId" + }, + "77": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "78": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "79": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "80": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "targetObject" + }, + "81": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "constructorOpt" + }, + "82": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.prepareStackTrace" + }, + "83": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "84": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "85": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "err" + }, + "86": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "stackTraces" + }, + "87": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.stackTraceLimit" + }, + "88": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ErrorConstructor.__new" + }, + "89": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "NonRetryableError" + }, + "90": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "message" + }, + "91": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "NonRetryableError" + }, + "92": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "message" + }, + "93": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "options" + }, + "94": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.name" + }, + "95": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.message" + }, + "96": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.stack" + }, + "97": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "Error.cause" + }, + "98": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "99": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "100": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "101": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "targetObject" + }, + "102": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "constructorOpt" + }, + "103": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.prepareStackTrace" + }, + "104": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "105": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "106": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "err" + }, + "107": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "stackTraces" + }, + "108": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.stackTraceLimit" + }, + "109": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "ErrorConstructor.__new" + }, + "110": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "CriticalError" + }, + "111": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "message" + }, + "112": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "CriticalError" + }, + "113": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "message" + }, + "114": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "options" + }, + "115": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.name" + }, + "116": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.message" + }, + "117": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.stack" + }, + "118": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "Error.cause" + }, + "140": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "141": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "142": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "143": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "targetObject" + }, + "144": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "constructorOpt" + }, + "145": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.prepareStackTrace" + }, + "146": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "147": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "148": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "err" + }, + "149": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "stackTraces" + }, + "150": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.stackTraceLimit" + }, + "151": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError.__constructor" + }, + "152": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "153": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "message" + }, + "154": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.name" + }, + "155": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.message" + }, + "156": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.stack" + }, + "157": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "Error.cause" + }, + "158": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "159": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "160": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "161": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "targetObject" + }, + "162": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "constructorOpt" + }, + "163": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.prepareStackTrace" + }, + "164": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "165": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "166": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "err" + }, + "167": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "stackTraces" + }, + "168": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.stackTraceLimit" + }, + "169": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError.__constructor" + }, + "170": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "171": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "message" + }, + "172": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.name" + }, + "173": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.message" + }, + "174": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.stack" + }, + "175": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "Error.cause" + }, + "176": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "177": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.runTaskFunction" + }, + "178": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "__type" + }, + "179": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "__type" + }, + "180": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.isTaskReadyFunction" + }, + "181": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "__type" + }, + "182": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "__type" + }, + "183": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.isFinishedFunction" + }, + "184": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "__type" + }, + "185": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "__type" + }, + "186": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.minConcurrency" + }, + "187": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.maxConcurrency" + }, + "188": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.desiredConcurrency" + }, + "189": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.desiredConcurrencyRatio" + }, + "190": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.scaleUpStepRatio" + }, + "191": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.scaleDownStepRatio" + }, + "192": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.maybeRunIntervalSecs" + }, + "193": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.loggingIntervalSecs" + }, + "194": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.autoscaleIntervalSecs" + }, + "195": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.taskTimeoutSecs" + }, + "196": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.snapshotterOptions" + }, + "197": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.systemStatusOptions" + }, + "198": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.maxTasksPerMinute" + }, + "199": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions.log" + }, + "200": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "201": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.__constructor" + }, + "202": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "203": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "options" + }, + "204": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "config" + }, + "246": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.minConcurrency" + }, + "247": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.minConcurrency" + }, + "248": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.minConcurrency" + }, + "249": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "value" + }, + "250": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.maxConcurrency" + }, + "251": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.maxConcurrency" + }, + "252": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.maxConcurrency" + }, + "253": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "value" + }, + "254": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.desiredConcurrency" + }, + "255": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.desiredConcurrency" + }, + "256": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.desiredConcurrency" + }, + "257": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "value" + }, + "258": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.currentConcurrency" + }, + "259": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.currentConcurrency" + }, + "260": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.run" + }, + "261": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.run" + }, + "262": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.abort" + }, + "263": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.abort" + }, + "264": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.pause" + }, + "265": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.pause" + }, + "266": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "timeoutSecs" + }, + "267": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.resume" + }, + "268": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.resume" + }, + "269": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.notify" + }, + "270": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool.notify" + }, + "298": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "299": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions.eventLoopSnapshotIntervalSecs" + }, + "300": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions.clientSnapshotIntervalSecs" + }, + "301": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions.maxBlockedMillis" + }, + "302": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions.maxUsedMemoryRatio" + }, + "303": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions.maxClientErrors" + }, + "304": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions.snapshotHistorySecs" + }, + "308": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "309": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.__constructor" + }, + "310": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "311": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "options" + }, + "312": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.log" + }, + "313": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.client" + }, + "314": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.config" + }, + "315": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.events" + }, + "316": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.eventLoopSnapshotIntervalMillis" + }, + "317": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.clientSnapshotIntervalMillis" + }, + "318": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.snapshotHistoryMillis" + }, + "319": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.maxBlockedMillis" + }, + "320": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.maxUsedMemoryRatio" + }, + "321": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.maxClientErrors" + }, + "322": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.maxMemoryBytes" + }, + "323": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.cpuSnapshots" + }, + "324": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.eventLoopSnapshots" + }, + "325": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.memorySnapshots" + }, + "326": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.clientSnapshots" + }, + "327": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.eventLoopInterval" + }, + "328": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.clientInterval" + }, + "329": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.lastLoggedCriticalMemoryOverloadAt" + }, + "330": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.start" + }, + "331": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.start" + }, + "332": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.stop" + }, + "333": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.stop" + }, + "334": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.getMemorySample" + }, + "335": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.getMemorySample" + }, + "336": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "sampleDurationMillis" + }, + "337": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.getEventLoopSample" + }, + "338": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.getEventLoopSample" + }, + "339": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "sampleDurationMillis" + }, + "340": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.getCpuSample" + }, + "341": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.getCpuSample" + }, + "342": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "sampleDurationMillis" + }, + "343": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.getClientSample" + }, + "344": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter.getClientSample" + }, + "345": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "sampleDurationMillis" + }, + "378": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "379": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo.isSystemIdle" + }, + "380": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo.memInfo" + }, + "381": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo.eventLoopInfo" + }, + "382": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo.cpuInfo" + }, + "383": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo.clientInfo" + }, + "384": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo.memCurrentBytes" + }, + "388": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "389": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions.currentHistorySecs" + }, + "390": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions.maxMemoryOverloadedRatio" + }, + "391": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions.maxEventLoopOverloadedRatio" + }, + "392": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions.maxCpuOverloadedRatio" + }, + "393": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions.maxClientOverloadedRatio" + }, + "394": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions.snapshotter" + }, + "396": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "397": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo.isOverloaded" + }, + "398": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo.limitRatio" + }, + "399": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo.actualRatio" + }, + "400": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "401": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.requestsFinished" + }, + "402": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.requestsFailed" + }, + "403": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.retryHistogram" + }, + "404": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.requestAvgFailedDurationMillis" + }, + "405": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.requestAvgFinishedDurationMillis" + }, + "406": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.requestsFinishedPerMinute" + }, + "407": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.requestsFailedPerMinute" + }, + "408": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.requestTotalDurationMillis" + }, + "409": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.requestsTotal" + }, + "410": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics.crawlerRuntimeMillis" + }, + "411": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "412": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus.__constructor" + }, + "413": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "414": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "options" + }, + "421": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus.getCurrentStatus" + }, + "422": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus.getCurrentStatus" + }, + "423": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus.getHistoricalStatus" + }, + "424": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus.getHistoricalStatus" + }, + "448": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "449": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.storageClient" + }, + "450": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.eventManager" + }, + "451": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.storageClientOptions" + }, + "452": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.defaultDatasetId" + }, + "453": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.purgeOnStart" + }, + "454": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.defaultKeyValueStoreId" + }, + "455": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.defaultRequestQueueId" + }, + "456": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.maxUsedCpuRatio" + }, + "457": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.availableMemoryRatio" + }, + "458": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.memoryMbytes" + }, + "459": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.persistStateIntervalMillis" + }, + "460": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.systemInfoIntervalMillis" + }, + "461": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.inputKey" + }, + "462": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.headless" + }, + "463": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.xvfb" + }, + "464": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.chromeExecutablePath" + }, + "465": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.defaultBrowserPath" + }, + "466": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.disableBrowserSandbox" + }, + "467": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.logLevel" + }, + "468": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toString" + }, + "469": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toString" + }, + "470": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "radix" + }, + "471": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toFixed" + }, + "472": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toFixed" + }, + "473": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "fractionDigits" + }, + "474": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toExponential" + }, + "475": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toExponential" + }, + "476": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "fractionDigits" + }, + "477": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toPrecision" + }, + "478": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toPrecision" + }, + "479": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "precision" + }, + "480": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.valueOf" + }, + "481": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.valueOf" + }, + "482": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toLocaleString" + }, + "483": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toLocaleString" + }, + "484": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "locales" + }, + "485": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "options" + }, + "486": { + "sourceFileName": "node_modules/typescript/lib/lib.es2020.number.d.ts", + "qualifiedName": "Number.toLocaleString" + }, + "487": { + "sourceFileName": "node_modules/typescript/lib/lib.es2020.number.d.ts", + "qualifiedName": "locales" + }, + "488": { + "sourceFileName": "node_modules/typescript/lib/lib.es2020.number.d.ts", + "qualifiedName": "options" + }, + "489": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions.persistStorage" + }, + "490": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "497": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.set" + }, + "498": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.set" + }, + "499": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "key" + }, + "500": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "value" + }, + "501": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.useStorageClient" + }, + "502": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.useStorageClient" + }, + "503": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "client" + }, + "504": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.getGlobalConfig" + }, + "505": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.getGlobalConfig" + }, + "506": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.getStorageClient" + }, + "507": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.getStorageClient" + }, + "508": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.getEventManager" + }, + "509": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.getEventManager" + }, + "510": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.resetGlobalState" + }, + "511": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.resetGlobalState" + }, + "512": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.__constructor" + }, + "513": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "514": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "options" + }, + "538": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.storageManagers" + }, + "539": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.get" + }, + "540": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.get" + }, + "541": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "T" + }, + "542": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "U" + }, + "543": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toString" + }, + "544": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toString" + }, + "545": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "radix" + }, + "546": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toFixed" + }, + "547": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toFixed" + }, + "548": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "fractionDigits" + }, + "549": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toExponential" + }, + "550": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toExponential" + }, + "551": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "fractionDigits" + }, + "552": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toPrecision" + }, + "553": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toPrecision" + }, + "554": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "precision" + }, + "555": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.valueOf" + }, + "556": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.valueOf" + }, + "557": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toLocaleString" + }, + "558": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Number.toLocaleString" + }, + "559": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "locales" + }, + "560": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "options" + }, + "561": { + "sourceFileName": "node_modules/typescript/lib/lib.es2020.number.d.ts", + "qualifiedName": "Number.toLocaleString" + }, + "562": { + "sourceFileName": "node_modules/typescript/lib/lib.es2020.number.d.ts", + "qualifiedName": "locales" + }, + "563": { + "sourceFileName": "node_modules/typescript/lib/lib.es2020.number.d.ts", + "qualifiedName": "options" + }, + "564": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "key" + }, + "565": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "defaultValue" + }, + "570": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.set" + }, + "571": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.set" + }, + "572": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "key" + }, + "573": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "value" + }, + "576": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.getEventManager" + }, + "577": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.getEventManager" + }, + "581": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.useStorageClient" + }, + "582": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.useStorageClient" + }, + "583": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "client" + }, + "584": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.useEventManager" + }, + "585": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration.useEventManager" + }, + "586": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "events" + }, + "590": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "591": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "592": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "593": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "594": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "595": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "596": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "597": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.enqueueLinks" + }, + "598": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "599": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "600": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "601": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "602": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "603": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "604": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "605": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "606": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "607": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "608": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "609": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "610": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "611": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "612": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "613": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "614": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.getKeyValueStore" + }, + "615": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "616": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "617": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "618": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "619": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.UserData" + }, + "620": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "621": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "622": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "623": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "624": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "625": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "626": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "627": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "628": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "629": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "630": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "631": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "632": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "633": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "634": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "635": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "636": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "637": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "638": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "639": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "640": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "641": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "642": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "643": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "644": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "645": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "646": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "647": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "648": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "649": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "650": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "651": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "652": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "653": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "654": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "655": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.Crawler" + }, + "656": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.UserData" + }, + "657": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "658": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.__constructor" + }, + "659": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "660": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "config" + }, + "661": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "crawleeStateKey" + }, + "674": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.calls" + }, + "675": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.calls" + }, + "676": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "677": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.pushData" + }, + "678": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.addRequests" + }, + "679": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "680": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "681": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "682": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.enqueueLinks" + }, + "683": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.keyValueStoreChanges" + }, + "684": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.keyValueStoreChanges" + }, + "685": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "686": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.changedValue" + }, + "687": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.options" + }, + "688": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.datasetItems" + }, + "689": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.datasetItems" + }, + "690": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "691": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.item" + }, + "692": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.datasetIdOrName" + }, + "693": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.enqueuedUrls" + }, + "694": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.enqueuedUrls" + }, + "695": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "696": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.url" + }, + "697": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.label" + }, + "698": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.enqueuedUrlLists" + }, + "699": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.enqueuedUrlLists" + }, + "700": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "701": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.listUrl" + }, + "702": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type.label" + }, + "703": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.pushData" + }, + "704": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "705": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "706": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "707": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "708": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.enqueueLinks" + }, + "709": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "710": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "711": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "712": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.addRequests" + }, + "713": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "714": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "715": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "716": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "717": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "718": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "719": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "720": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.useState" + }, + "721": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "722": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "723": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "724": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "725": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult.getKeyValueStore" + }, + "726": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "727": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "728": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "756": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "757": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions.enable" + }, + "758": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "763": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.errorTracker" + }, + "764": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.errorTrackerRetry" + }, + "765": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.id" + }, + "766": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.state" + }, + "767": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.requestRetryHistogram" + }, + "782": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.reset" + }, + "783": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.reset" + }, + "784": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.resetStore" + }, + "785": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.resetStore" + }, + "786": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "options" + }, + "787": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.registerStatusCode" + }, + "788": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.registerStatusCode" + }, + "789": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "code" + }, + "799": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.calculate" + }, + "800": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.calculate" + }, + "801": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "__object" + }, + "802": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "__object.requestAvgFailedDurationMillis" + }, + "803": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "__object.requestAvgFinishedDurationMillis" + }, + "804": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "__object.requestsFinishedPerMinute" + }, + "805": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "__object.requestsFailedPerMinute" + }, + "806": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "__object.requestTotalDurationMillis" + }, + "807": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "__object.requestsTotal" + }, + "808": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "__object.crawlerRuntimeMillis" + }, + "809": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.startCapturing" + }, + "810": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.startCapturing" + }, + "811": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.stopCapturing" + }, + "812": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.stopCapturing" + }, + "816": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.persistState" + }, + "817": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.persistState" + }, + "818": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "options" + }, + "823": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.toJSON" + }, + "824": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics.toJSON" + }, + "825": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "826": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions.logIntervalSecs" + }, + "827": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions.logMessage" + }, + "828": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions.keyValueStore" + }, + "829": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions.config" + }, + "830": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions.persistenceOptions" + }, + "831": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions.saveErrorSnapshots" + }, + "832": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "833": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.requestRetryHistogram" + }, + "834": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.statsId" + }, + "835": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.requestAvgFailedDurationMillis" + }, + "836": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.requestAvgFinishedDurationMillis" + }, + "837": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.requestsFinishedPerMinute" + }, + "838": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.requestsFailedPerMinute" + }, + "839": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.requestTotalDurationMillis" + }, + "840": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.requestsTotal" + }, + "841": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.crawlerRuntimeMillis" + }, + "842": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.crawlerLastStartTimestamp" + }, + "843": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState.statsPersistedAt" + }, + "844": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "requestTotalFailedDurationMillis" + }, + "845": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "requestsFailed" + }, + "846": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "requestTotalFinishedDurationMillis" + }, + "847": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "requestsFinished" + }, + "848": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "requestsRetries" + }, + "849": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "requestMinDurationMillis" + }, + "850": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "requestMaxDurationMillis" + }, + "851": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "crawlerStartedAt" + }, + "852": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "crawlerFinishedAt" + }, + "853": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "errors" + }, + "854": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "retryErrors" + }, + "855": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "requestsWithStatusCode" + }, + "856": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "857": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestsFinished" + }, + "858": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestsFailed" + }, + "859": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestsRetries" + }, + "860": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestsFailedPerMinute" + }, + "861": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestsFinishedPerMinute" + }, + "862": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestMinDurationMillis" + }, + "863": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestMaxDurationMillis" + }, + "864": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestTotalFailedDurationMillis" + }, + "865": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestTotalFinishedDurationMillis" + }, + "866": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.crawlerStartedAt" + }, + "867": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.crawlerFinishedAt" + }, + "868": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.crawlerRuntimeMillis" + }, + "869": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.statsPersistedAt" + }, + "870": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.errors" + }, + "871": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.retryErrors" + }, + "872": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState.requestsWithStatusCode" + }, + "873": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "874": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException.errno" + }, + "875": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException.code" + }, + "876": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException.path" + }, + "877": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException.syscall" + }, + "878": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException.cause" + }, + "879": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.name" + }, + "880": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.message" + }, + "881": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.stack" + }, + "882": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "883": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions.showErrorCode" + }, + "884": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions.showErrorName" + }, + "885": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions.showStackTrace" + }, + "886": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions.showFullStack" + }, + "887": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions.showErrorMessage" + }, + "888": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions.showFullMessage" + }, + "889": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions.saveErrorSnapshots" + }, + "890": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "891": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.__constructor" + }, + "892": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "893": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "options" + }, + "895": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.result" + }, + "896": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.total" + }, + "897": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.errorSnapshotter" + }, + "901": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.add" + }, + "902": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.add" + }, + "903": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "error" + }, + "904": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.addAsync" + }, + "905": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.addAsync" + }, + "906": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "error" + }, + "907": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "context" + }, + "908": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.getUniqueErrorCount" + }, + "909": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.getUniqueErrorCount" + }, + "910": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.getMostPopularErrors" + }, + "911": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.getMostPopularErrors" + }, + "912": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "count" + }, + "913": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.captureSnapshot" + }, + "914": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.captureSnapshot" + }, + "915": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "storage" + }, + "916": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "error" + }, + "917": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "context" + }, + "918": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.reset" + }, + "919": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker.reset" + }, + "920": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "921": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult.screenshotFileName" + }, + "922": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult.htmlFileName" + }, + "923": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "924": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.MAX_ERROR_CHARACTERS" + }, + "925": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.MAX_HASH_LENGTH" + }, + "926": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.MAX_FILENAME_LENGTH" + }, + "927": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.BASE_MESSAGE" + }, + "928": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.SNAPSHOT_PREFIX" + }, + "931": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.captureSnapshot" + }, + "932": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.captureSnapshot" + }, + "933": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "error" + }, + "934": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "context" + }, + "935": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "__type" + }, + "936": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "__type.screenshotFileName" + }, + "937": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "__type.htmlFileName" + }, + "938": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.contextCaptureSnapshot" + }, + "939": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.contextCaptureSnapshot" + }, + "940": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "context" + }, + "941": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "fileName" + }, + "942": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.saveHTMLSnapshot" + }, + "943": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.saveHTMLSnapshot" + }, + "944": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "html" + }, + "945": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "keyValueStore" + }, + "946": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "fileName" + }, + "947": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.generateFilename" + }, + "948": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter.generateFilename" + }, + "949": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "error" + }, + "950": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "951": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "952": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "options" + }, + "953": { + "sourceFileName": "../node_modules/type-fest/source/simplify.d.ts", + "qualifiedName": "__type" + }, + "954": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "limit" + }, + "955": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "selector" + }, + "956": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "userData" + }, + "957": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "label" + }, + "958": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "skipNavigation" + }, + "959": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "baseUrl" + }, + "960": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "globs" + }, + "961": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "exclude" + }, + "962": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "regexps" + }, + "963": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "pseudoUrls" + }, + "964": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "transformRequestFunction" + }, + "965": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "strategy" + }, + "966": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "forefront" + }, + "968": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "requestQueue" + }, + "969": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "urls" + }, + "973": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "974": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.limit" + }, + "975": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.urls" + }, + "976": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.requestQueue" + }, + "977": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.selector" + }, + "978": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.userData" + }, + "979": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.label" + }, + "980": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.skipNavigation" + }, + "981": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.baseUrl" + }, + "982": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.globs" + }, + "983": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.exclude" + }, + "984": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.regexps" + }, + "985": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.pseudoUrls" + }, + "986": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.transformRequestFunction" + }, + "987": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions.strategy" + }, + "988": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions.forefront" + }, + "990": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "991": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy.All" + }, + "992": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy.SameHostname" + }, + "993": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy.SameDomain" + }, + "994": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy.SameOrigin" + }, + "1022": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "1023": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "1024": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "requests" + }, + "1025": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "patterns" + }, + "1030": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "1031": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "1032": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "href" + }, + "1033": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "baseUrl" + }, + "1034": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "1035": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type" + }, + "1036": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type.glob" + }, + "1037": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type.regexp" + }, + "1038": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "1039": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type" + }, + "1040": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type.purl" + }, + "1041": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "1042": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "1043": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type" + }, + "1044": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type.glob" + }, + "1045": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "1046": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "1047": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type" + }, + "1048": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "__type.regexp" + }, + "1049": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "1050": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "1051": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "1052": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "original" + }, + "1053": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "1054": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType.PERSIST_STATE" + }, + "1055": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType.SYSTEM_INFO" + }, + "1056": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType.MIGRATING" + }, + "1057": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType.ABORTING" + }, + "1058": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType.EXIT" + }, + "1059": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "1060": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "1061": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.__constructor" + }, + "1062": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "1063": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "config" + }, + "1068": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.config" + }, + "1069": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.init" + }, + "1070": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.init" + }, + "1071": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.close" + }, + "1072": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.close" + }, + "1073": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.on" + }, + "1074": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.on" + }, + "1075": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "event" + }, + "1076": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "listener" + }, + "1077": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "__type" + }, + "1078": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "__type" + }, + "1079": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "args" + }, + "1080": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.off" + }, + "1081": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.off" + }, + "1082": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "event" + }, + "1083": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "listener" + }, + "1084": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "__type" + }, + "1085": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "__type" + }, + "1086": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "args" + }, + "1087": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.emit" + }, + "1088": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.emit" + }, + "1089": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "event" + }, + "1090": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "args" + }, + "1091": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.isInitialized" + }, + "1092": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.isInitialized" + }, + "1103": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "1104": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.__constructor" + }, + "1105": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "1106": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "config" + }, + "1111": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager.init" + }, + "1112": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager.init" + }, + "1113": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager.close" + }, + "1114": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager.close" + }, + "1150": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.config" + }, + "1151": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.on" + }, + "1152": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.on" + }, + "1153": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "event" + }, + "1154": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "listener" + }, + "1155": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "__type" + }, + "1156": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "__type" + }, + "1157": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "args" + }, + "1158": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.off" + }, + "1159": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.off" + }, + "1160": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "event" + }, + "1161": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "listener" + }, + "1162": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "__type" + }, + "1163": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "__type" + }, + "1164": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "args" + }, + "1165": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.emit" + }, + "1166": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.emit" + }, + "1167": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "event" + }, + "1168": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "args" + }, + "1169": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.isInitialized" + }, + "1170": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager.isInitialized" + }, + "1181": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "log" + }, + "1182": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log" + }, + "1183": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.__constructor" + }, + "1184": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log" + }, + "1185": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1186": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.LEVELS" + }, + "1190": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.getLevel" + }, + "1191": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.getLevel" + }, + "1192": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.setLevel" + }, + "1193": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.setLevel" + }, + "1194": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1195": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.internal" + }, + "1196": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.internal" + }, + "1197": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1198": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1199": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1200": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "exception" + }, + "1201": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.setOptions" + }, + "1202": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.setOptions" + }, + "1203": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1204": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.getOptions" + }, + "1205": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.getOptions" + }, + "1206": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.child" + }, + "1207": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.child" + }, + "1208": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1209": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.error" + }, + "1210": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.error" + }, + "1211": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1212": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1213": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.exception" + }, + "1214": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.exception" + }, + "1215": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "exception" + }, + "1216": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1217": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1218": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.softFail" + }, + "1219": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.softFail" + }, + "1220": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1221": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1222": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.warning" + }, + "1223": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.warning" + }, + "1224": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1225": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1226": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.info" + }, + "1227": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.info" + }, + "1228": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1229": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1230": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.debug" + }, + "1231": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.debug" + }, + "1232": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1233": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1234": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.perf" + }, + "1235": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.perf" + }, + "1236": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1237": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1238": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.warningOnce" + }, + "1239": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.warningOnce" + }, + "1240": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1241": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.deprecated" + }, + "1242": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Log.deprecated" + }, + "1243": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1244": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerOptions" + }, + "1245": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerOptions.level" + }, + "1246": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerOptions.maxDepth" + }, + "1247": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerOptions.maxStringLength" + }, + "1248": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerOptions.prefix" + }, + "1249": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerOptions.suffix" + }, + "1250": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerOptions.logger" + }, + "1251": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerOptions.data" + }, + "1252": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LogLevel" + }, + "1253": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LogLevel.OFF" + }, + "1254": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LogLevel.ERROR" + }, + "1255": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LogLevel.SOFT_FAIL" + }, + "1256": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LogLevel.WARNING" + }, + "1257": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LogLevel.INFO" + }, + "1258": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LogLevel.DEBUG" + }, + "1259": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LogLevel.PERF" + }, + "1260": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger" + }, + "1261": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1262": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1263": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1264": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1265": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1266": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1267": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1268": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1269": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1270": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "1271": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "1272": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1273": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1274": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1275": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "1276": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "1277": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1278": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1279": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "1280": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "1281": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1282": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "name" + }, + "1283": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "1284": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "1285": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1286": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "1287": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "1288": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "1289": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventTargets" + }, + "1290": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "1291": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "1292": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "signal" + }, + "1293": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "resource" + }, + "1294": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1295": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1296": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "1297": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.errorMonitor" + }, + "1298": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + }, + "1299": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejections" + }, + "1300": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.defaultMaxListeners" + }, + "1301": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.__constructor" + }, + "1302": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger" + }, + "1303": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1305": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.setOptions" + }, + "1306": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.setOptions" + }, + "1307": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1308": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.getOptions" + }, + "1309": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.getOptions" + }, + "1310": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger._outputWithConsole" + }, + "1311": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger._outputWithConsole" + }, + "1312": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1313": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "line" + }, + "1314": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger._log" + }, + "1315": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger._log" + }, + "1316": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1317": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1318": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1319": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "exception" + }, + "1320": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "opts" + }, + "1321": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.log" + }, + "1322": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.log" + }, + "1323": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1324": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1325": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "args" + }, + "1326": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "1327": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "1328": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1329": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "error" + }, + "1330": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "1331": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1332": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "1333": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "1334": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1335": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1336": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1337": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1338": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1339": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1340": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "1341": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "1342": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1343": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1344": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1345": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1346": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1347": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1348": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "1349": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "1350": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1351": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1352": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1353": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1354": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1355": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1356": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "1357": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "1358": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1359": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1360": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1361": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1362": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1363": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1364": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "1365": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "1366": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1367": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1368": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1369": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1370": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1371": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1372": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "1373": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "1374": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1375": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "1376": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "1377": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "1378": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "1379": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "1380": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "1381": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "1382": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1383": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1384": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "1385": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "1386": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1387": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1388": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "1389": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "1390": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1391": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1392": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1393": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "1394": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "1395": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1396": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1397": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1398": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "1399": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "1400": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1401": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1402": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1403": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1404": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1405": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1406": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "1407": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "1408": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1409": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1410": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1411": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1412": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1413": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1414": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "1415": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "1416": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerJson" + }, + "1417": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1418": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1419": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1420": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1421": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1422": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1423": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1424": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1425": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1426": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "1427": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "1428": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1429": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1430": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1431": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "1432": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "1433": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1434": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1435": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "1436": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "1437": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1438": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "name" + }, + "1439": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "1440": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "1441": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1442": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "1443": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "1444": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "1445": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventTargets" + }, + "1446": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "1447": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "1448": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "signal" + }, + "1449": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "resource" + }, + "1450": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1451": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1452": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "1453": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.errorMonitor" + }, + "1454": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + }, + "1455": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejections" + }, + "1456": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.defaultMaxListeners" + }, + "1457": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerJson.__constructor" + }, + "1458": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerJson" + }, + "1459": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1460": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "1461": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerJson._log" + }, + "1462": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerJson._log" + }, + "1463": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1464": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1465": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1466": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "exception" + }, + "1467": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "opts" + }, + "1469": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.setOptions" + }, + "1470": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.setOptions" + }, + "1471": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1472": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.getOptions" + }, + "1473": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.getOptions" + }, + "1474": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger._outputWithConsole" + }, + "1475": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger._outputWithConsole" + }, + "1476": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1477": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "line" + }, + "1478": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.log" + }, + "1479": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.log" + }, + "1480": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1481": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1482": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "args" + }, + "1483": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "1484": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "1485": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1486": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "error" + }, + "1487": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "1488": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1489": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "1490": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "1491": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1492": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1493": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1494": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1495": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1496": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1497": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "1498": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "1499": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1500": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1501": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1502": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1503": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1504": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1505": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "1506": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "1507": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1508": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1509": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1510": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1511": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1512": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1513": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "1514": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "1515": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1516": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1517": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1518": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1519": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1520": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1521": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "1522": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "1523": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1524": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1525": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1526": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1527": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1528": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1529": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "1530": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "1531": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1532": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "1533": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "1534": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "1535": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "1536": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "1537": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "1538": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "1539": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1540": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1541": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "1542": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "1543": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1544": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1545": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "1546": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "1547": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1548": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1549": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1550": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "1551": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "1552": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1553": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1554": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1555": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "1556": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "1557": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1558": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1559": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1560": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1561": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1562": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1563": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "1564": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "1565": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1566": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1567": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1568": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1569": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1570": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1571": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "1572": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "1573": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerText" + }, + "1574": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1575": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1576": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1577": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1578": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1579": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "1580": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1581": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1582": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1583": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "1584": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "1585": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1586": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1587": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "1588": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "1589": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "1590": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1591": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1592": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "1593": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "1594": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1595": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "name" + }, + "1596": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "1597": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "1598": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "1599": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "1600": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "1601": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "1602": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventTargets" + }, + "1603": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "1604": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "1605": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "signal" + }, + "1606": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "resource" + }, + "1607": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1608": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1609": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "1610": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.errorMonitor" + }, + "1611": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + }, + "1612": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejections" + }, + "1613": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.defaultMaxListeners" + }, + "1614": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerText.__constructor" + }, + "1615": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerText" + }, + "1616": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1617": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "1618": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerText._log" + }, + "1619": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "LoggerText._log" + }, + "1620": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1621": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1622": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "data" + }, + "1623": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "exception" + }, + "1624": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "opts" + }, + "1631": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.setOptions" + }, + "1632": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.setOptions" + }, + "1633": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "options" + }, + "1634": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.getOptions" + }, + "1635": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.getOptions" + }, + "1636": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger._outputWithConsole" + }, + "1637": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger._outputWithConsole" + }, + "1638": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1639": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "line" + }, + "1640": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.log" + }, + "1641": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "Logger.log" + }, + "1642": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "level" + }, + "1643": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "message" + }, + "1644": { + "sourceFileName": "../node_modules/@apify/log/cjs/index.d.ts", + "qualifiedName": "args" + }, + "1645": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "1646": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "1647": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1648": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "error" + }, + "1649": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "1650": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1651": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "1652": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "1653": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1654": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1655": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1656": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1657": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1658": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1659": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "1660": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "1661": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1662": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1663": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1664": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1665": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1666": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1667": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "1668": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "1669": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1670": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1671": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1672": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1673": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1674": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1675": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "1676": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "1677": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1678": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1679": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1680": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1681": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1682": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1683": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "1684": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "1685": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1686": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1687": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1688": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1689": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1690": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1691": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "1692": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "1693": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1694": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "1695": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "1696": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "1697": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "1698": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "1699": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "1700": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "1701": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1702": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1703": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "1704": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "1705": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1706": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1707": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "1708": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "1709": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1710": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1711": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1712": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "1713": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "1714": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1715": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1716": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1717": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "1718": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "1719": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1720": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1721": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1722": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1723": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1724": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1725": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "1726": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "1727": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "1728": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "1729": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "1730": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1731": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "1732": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "1733": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "1734": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "1735": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "1736": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "1737": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "sessionId" + }, + "1738": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "options" + }, + "1739": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "__type" + }, + "1740": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "__type.request" + }, + "1741": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "1742": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions.proxyUrls" + }, + "1743": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions.newUrlFunction" + }, + "1744": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions.tieredProxyUrls" + }, + "1745": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "1746": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy.proxyUrl" + }, + "1747": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy.proxyTier" + }, + "1748": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "1749": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo.sessionId" + }, + "1750": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo.url" + }, + "1751": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo.username" + }, + "1752": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo.password" + }, + "1753": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo.hostname" + }, + "1754": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo.port" + }, + "1755": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo.proxyTier" + }, + "1756": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "1757": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration.__constructor" + }, + "1758": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "1759": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "options" + }, + "1760": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration.isManInTheMiddle" + }, + "1768": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration.newProxyInfo" + }, + "1769": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration.newProxyInfo" + }, + "1770": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "sessionId" + }, + "1771": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "options" + }, + "1779": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration.newUrl" + }, + "1780": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration.newUrl" + }, + "1781": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "sessionId" + }, + "1782": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "options" + }, + "1799": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "1800": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState.UNPROCESSED" + }, + "1801": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState.BEFORE_NAV" + }, + "1802": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState.AFTER_NAV" + }, + "1803": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState.REQUEST_HANDLER" + }, + "1804": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState.DONE" + }, + "1805": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState.ERROR_HANDLER" + }, + "1806": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState.ERROR" + }, + "1807": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState.SKIPPED" + }, + "1808": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "1815": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.__constructor" + }, + "1816": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "1817": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.UserData" + }, + "1818": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "options" + }, + "1819": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.id" + }, + "1820": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.url" + }, + "1821": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.loadedUrl" + }, + "1822": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.uniqueKey" + }, + "1823": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.method" + }, + "1824": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.payload" + }, + "1825": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.noRetry" + }, + "1826": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.retryCount" + }, + "1827": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.errorMessages" + }, + "1828": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.headers" + }, + "1830": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.userData" + }, + "1831": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.handledAt" + }, + "1832": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.skipNavigation" + }, + "1833": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.skipNavigation" + }, + "1834": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.skipNavigation" + }, + "1835": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "value" + }, + "1836": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.sessionRotationCount" + }, + "1837": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.sessionRotationCount" + }, + "1838": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.sessionRotationCount" + }, + "1839": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "value" + }, + "1840": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.label" + }, + "1841": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.label" + }, + "1842": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.label" + }, + "1843": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "value" + }, + "1844": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.maxRetries" + }, + "1845": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.maxRetries" + }, + "1846": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.maxRetries" + }, + "1847": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "value" + }, + "1848": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.state" + }, + "1849": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.state" + }, + "1850": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.state" + }, + "1851": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "value" + }, + "1856": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.pushErrorMessage" + }, + "1857": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.pushErrorMessage" + }, + "1858": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "errorOrMessage" + }, + "1859": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "options" + }, + "1866": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request.UserData" + }, + "1867": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "1868": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.url" + }, + "1869": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.uniqueKey" + }, + "1870": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.method" + }, + "1871": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.payload" + }, + "1872": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.headers" + }, + "1873": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.userData" + }, + "1874": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.label" + }, + "1875": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.keepUrlFragment" + }, + "1876": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.useExtendedUniqueKey" + }, + "1877": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.noRetry" + }, + "1878": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.skipNavigation" + }, + "1879": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.maxRetries" + }, + "1884": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions.UserData" + }, + "1885": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "1886": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions.omitStack" + }, + "1887": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "1888": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "1889": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "1890": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "1894": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "1895": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.addHandler" + }, + "1896": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.addHandler" + }, + "1897": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "UserData" + }, + "1898": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "label" + }, + "1899": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "handler" + }, + "1900": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1901": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1902": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1903": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1904": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type.request" + }, + "1905": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.addDefaultHandler" + }, + "1906": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.addDefaultHandler" + }, + "1907": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "UserData" + }, + "1908": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "handler" + }, + "1909": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1910": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1911": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1912": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1913": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type.request" + }, + "1914": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.use" + }, + "1915": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.use" + }, + "1916": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "middleware" + }, + "1917": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1918": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1919": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1920": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.getHandler" + }, + "1921": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.getHandler" + }, + "1922": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "label" + }, + "1923": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1924": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1925": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1926": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler.Context" + }, + "1927": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "1928": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1929": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "1930": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "T" + }, + "1931": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "1932": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1933": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1934": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1935": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1936": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type.request" + }, + "1937": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Context" + }, + "1938": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "UserData" + }, + "1939": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "1940": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.create" + }, + "1941": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.create" + }, + "1942": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Context" + }, + "1943": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "UserData" + }, + "1944": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "routes" + }, + "1956": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.addHandler" + }, + "1957": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.addHandler" + }, + "1958": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "UserData" + }, + "1959": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "label" + }, + "1960": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "handler" + }, + "1961": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1962": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1963": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1964": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1965": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type.request" + }, + "1966": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.addDefaultHandler" + }, + "1967": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.addDefaultHandler" + }, + "1968": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "UserData" + }, + "1969": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "handler" + }, + "1970": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1971": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1972": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1973": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1974": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type.request" + }, + "1975": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.use" + }, + "1976": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.use" + }, + "1977": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "middleware" + }, + "1978": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1979": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1980": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1981": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.getHandler" + }, + "1982": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.getHandler" + }, + "1983": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "label" + }, + "1984": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1985": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "__type" + }, + "1986": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "ctx" + }, + "1990": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router.Context" + }, + "2022": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "2023": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.id" + }, + "2024": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.cookieJar" + }, + "2025": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.userData" + }, + "2026": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.errorScore" + }, + "2027": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.maxErrorScore" + }, + "2028": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.errorScoreDecrement" + }, + "2029": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.usageCount" + }, + "2030": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.maxUsageCount" + }, + "2031": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.expiresAt" + }, + "2032": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState.createdAt" + }, + "2033": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "2034": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.id" + }, + "2035": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.maxAgeSecs" + }, + "2036": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.userData" + }, + "2037": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.maxErrorScore" + }, + "2038": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.errorScoreDecrement" + }, + "2039": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.createdAt" + }, + "2040": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.expiresAt" + }, + "2041": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.usageCount" + }, + "2042": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.maxUsageCount" + }, + "2043": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.sessionPool" + }, + "2044": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.log" + }, + "2045": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.errorScore" + }, + "2046": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions.cookieJar" + }, + "2047": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "2048": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.__constructor" + }, + "2049": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "2050": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "options" + }, + "2051": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.id" + }, + "2053": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.userData" + }, + "2064": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.isBlocked" + }, + "2065": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.isBlocked" + }, + "2066": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.isExpired" + }, + "2067": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.isExpired" + }, + "2068": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.isMaxUsageCountReached" + }, + "2069": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.isMaxUsageCountReached" + }, + "2070": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.isUsable" + }, + "2071": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.isUsable" + }, + "2072": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.markGood" + }, + "2073": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.markGood" + }, + "2074": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.getState" + }, + "2075": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.getState" + }, + "2076": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.retire" + }, + "2077": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.retire" + }, + "2078": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.markBad" + }, + "2079": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.markBad" + }, + "2080": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.retireOnBlockedStatusCodes" + }, + "2081": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.retireOnBlockedStatusCodes" + }, + "2082": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "statusCode" + }, + "2083": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.retireOnBlockedStatusCodes" + }, + "2084": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "statusCode" + }, + "2085": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "additionalBlockedStatusCodes" + }, + "2086": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.setCookiesFromResponse" + }, + "2087": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.setCookiesFromResponse" + }, + "2088": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "response" + }, + "2089": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "__type" + }, + "2090": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "__type.headers" + }, + "2091": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "__type.url" + }, + "2092": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.setCookies" + }, + "2093": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.setCookies" + }, + "2094": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "cookies" + }, + "2095": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "url" + }, + "2096": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.getCookies" + }, + "2097": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.getCookies" + }, + "2098": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "url" + }, + "2099": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.getCookieString" + }, + "2100": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.getCookieString" + }, + "2101": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "url" + }, + "2102": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.setCookie" + }, + "2103": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session.setCookie" + }, + "2104": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "rawCookie" + }, + "2105": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "url" + }, + "2112": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "2113": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "2114": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "sessionPool" + }, + "2115": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "options" + }, + "2116": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "__type" + }, + "2117": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "__type.sessionOptions" + }, + "2118": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "2119": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions.maxPoolSize" + }, + "2120": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions.sessionOptions" + }, + "2121": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions.persistStateKeyValueStoreId" + }, + "2122": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions.persistStateKey" + }, + "2123": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions.createSessionFunction" + }, + "2124": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions.blockedStatusCodes" + }, + "2126": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions.persistenceOptions" + }, + "2127": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "2128": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.open" + }, + "2129": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.open" + }, + "2130": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "options" + }, + "2131": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "config" + }, + "2132": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "2133": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "2134": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "2135": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2136": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "2137": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "2138": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "2139": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2140": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "2141": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "2142": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "2143": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "2144": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2145": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "2146": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "2147": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "2148": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "2149": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2150": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "2151": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "2152": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "2153": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "name" + }, + "2154": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "2155": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "2156": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "2157": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "2158": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "2159": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "2160": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventTargets" + }, + "2161": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "2162": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "2163": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "signal" + }, + "2164": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "resource" + }, + "2165": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2166": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2167": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "2168": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.errorMonitor" + }, + "2169": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + }, + "2170": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejections" + }, + "2171": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.defaultMaxListeners" + }, + "2193": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.config" + }, + "2194": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.usableSessionsCount" + }, + "2195": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.usableSessionsCount" + }, + "2196": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.retiredSessionsCount" + }, + "2197": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.retiredSessionsCount" + }, + "2198": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.initialize" + }, + "2199": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.initialize" + }, + "2200": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.addSession" + }, + "2201": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.addSession" + }, + "2202": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "options" + }, + "2203": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.getSession" + }, + "2204": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.getSession" + }, + "2205": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.getSession" + }, + "2206": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "sessionId" + }, + "2207": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.resetStore" + }, + "2208": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.resetStore" + }, + "2209": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "options" + }, + "2210": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.getState" + }, + "2211": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.getState" + }, + "2212": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "__object" + }, + "2213": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "__object.usableSessionsCount" + }, + "2214": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "__object.retiredSessionsCount" + }, + "2215": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "__object.sessions" + }, + "2216": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.persistState" + }, + "2217": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.persistState" + }, + "2218": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "options" + }, + "2219": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.teardown" + }, + "2220": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool.teardown" + }, + "2244": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "2245": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "2246": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2247": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "error" + }, + "2248": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "2249": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2250": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "2251": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "2252": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2253": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2254": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "2255": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2256": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2257": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2258": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "2259": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "2260": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2261": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2262": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "2263": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2264": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2265": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2266": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "2267": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "2268": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2269": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2270": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "2271": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2272": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2273": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2274": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "2275": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "2276": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2277": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2278": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "2279": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2280": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2281": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2282": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "2283": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "2284": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2285": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2286": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "2287": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2288": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2289": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2290": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "2291": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "2292": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2293": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "2294": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "2295": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "2296": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "2297": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "2298": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "2299": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "2300": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2301": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2302": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "2303": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "2304": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2305": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2306": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "2307": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "2308": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2309": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2310": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2311": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "2312": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "2313": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2314": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2315": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "2316": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "2317": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "2318": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2319": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2320": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "2321": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2322": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2323": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2324": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "2325": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "2326": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "2327": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "2328": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "2329": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2330": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "2331": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "2332": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "2333": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "2334": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "2335": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "2336": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "2337": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue" + }, + "2338": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.open" + }, + "2339": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.open" + }, + "2340": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "args" + }, + "2353": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.fetchNextRequest" + }, + "2354": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.fetchNextRequest" + }, + "2355": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "T" + }, + "2363": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.isFinished" + }, + "2364": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.isFinished" + }, + "2365": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.addRequest" + }, + "2366": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.addRequest" + }, + "2367": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "args" + }, + "2368": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.addRequests" + }, + "2369": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.addRequests" + }, + "2370": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "args" + }, + "2371": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.addRequestsBatched" + }, + "2372": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.addRequestsBatched" + }, + "2373": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "args" + }, + "2374": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.markRequestHandled" + }, + "2375": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.markRequestHandled" + }, + "2376": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "args" + }, + "2377": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.reclaimRequest" + }, + "2378": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "RequestQueue.reclaimRequest" + }, + "2379": { + "sourceFileName": "../packages/core/src/storages/request_queue.ts", + "qualifiedName": "args" + }, + "2382": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.id" + }, + "2383": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.name" + }, + "2384": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.timeoutSecs" + }, + "2385": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.clientKey" + }, + "2386": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.client" + }, + "2388": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.log" + }, + "2389": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.internalTimeoutMillis" + }, + "2390": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.requestLockSecs" + }, + "2391": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.assumedTotalCount" + }, + "2392": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.assumedHandledCount" + }, + "2398": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.config" + }, + "2401": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getTotalCount" + }, + "2402": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getTotalCount" + }, + "2403": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getRequest" + }, + "2404": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getRequest" + }, + "2405": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "T" + }, + "2406": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "id" + }, + "2407": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isEmpty" + }, + "2408": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isEmpty" + }, + "2417": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.drop" + }, + "2418": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.drop" + }, + "2419": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.handledCount" + }, + "2420": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.handledCount" + }, + "2421": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getInfo" + }, + "2422": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getInfo" + }, + "2431": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue" + }, + "2432": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue.open" + }, + "2433": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue.open" + }, + "2434": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "args" + }, + "2435": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue.__constructor" + }, + "2436": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue" + }, + "2437": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "options" + }, + "2438": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "config" + }, + "2444": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue.fetchNextRequest" + }, + "2445": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue.fetchNextRequest" + }, + "2446": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "T" + }, + "2447": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue.reclaimRequest" + }, + "2448": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "RequestQueue.reclaimRequest" + }, + "2449": { + "sourceFileName": "../packages/core/src/storages/request_queue_v2.ts", + "qualifiedName": "args" + }, + "2467": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.id" + }, + "2468": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.name" + }, + "2469": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.timeoutSecs" + }, + "2470": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.clientKey" + }, + "2471": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.client" + }, + "2473": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.log" + }, + "2474": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.internalTimeoutMillis" + }, + "2475": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.requestLockSecs" + }, + "2476": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.assumedTotalCount" + }, + "2477": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.assumedHandledCount" + }, + "2483": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.config" + }, + "2486": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getTotalCount" + }, + "2487": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getTotalCount" + }, + "2488": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequest" + }, + "2489": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequest" + }, + "2490": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "requestLike" + }, + "2491": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2492": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequests" + }, + "2493": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequests" + }, + "2494": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "requestsLike" + }, + "2495": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2496": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequestsBatched" + }, + "2497": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequestsBatched" + }, + "2498": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "requests" + }, + "2499": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2500": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getRequest" + }, + "2501": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getRequest" + }, + "2502": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "T" + }, + "2503": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "id" + }, + "2504": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.markRequestHandled" + }, + "2505": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.markRequestHandled" + }, + "2506": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "request" + }, + "2507": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isEmpty" + }, + "2508": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isEmpty" + }, + "2509": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isFinished" + }, + "2510": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isFinished" + }, + "2511": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.drop" + }, + "2512": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.drop" + }, + "2513": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.handledCount" + }, + "2514": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.handledCount" + }, + "2515": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getInfo" + }, + "2516": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getInfo" + }, + "2525": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "2537": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "2538": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions.offset" + }, + "2539": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions.limit" + }, + "2540": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions.desc" + }, + "2541": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions.fields" + }, + "2542": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions.unwind" + }, + "2543": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions.clean" + }, + "2544": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions.skipHidden" + }, + "2545": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions.skipEmpty" + }, + "2546": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "2547": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "desc" + }, + "2548": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "fields" + }, + "2549": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "unwind" + }, + "2550": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "clean" + }, + "2551": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "skipHidden" + }, + "2552": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "skipEmpty" + }, + "2553": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "2560": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "desc" + }, + "2561": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "fields" + }, + "2562": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "unwind" + }, + "2563": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "2564": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions.fromDataset" + }, + "2565": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions.toKVS" + }, + "2566": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "desc" + }, + "2567": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "fields" + }, + "2568": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "unwind" + }, + "2569": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "clean" + }, + "2570": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "skipHidden" + }, + "2571": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "skipEmpty" + }, + "2572": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "2573": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportToJSON" + }, + "2574": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportToJSON" + }, + "2575": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "key" + }, + "2576": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2577": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportToCSV" + }, + "2578": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportToCSV" + }, + "2579": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "key" + }, + "2580": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2581": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.open" + }, + "2582": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.open" + }, + "2583": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Data" + }, + "2584": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "datasetIdOrName" + }, + "2585": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2590": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.getData" + }, + "2591": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.getData" + }, + "2592": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Data" + }, + "2593": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2599": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.id" + }, + "2600": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.name" + }, + "2601": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.client" + }, + "2602": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.log" + }, + "2603": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.config" + }, + "2604": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.pushData" + }, + "2605": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.pushData" + }, + "2606": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "data" + }, + "2607": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.getData" + }, + "2608": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.getData" + }, + "2609": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2610": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.export" + }, + "2611": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.export" + }, + "2612": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2613": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportTo" + }, + "2614": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportTo" + }, + "2615": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "key" + }, + "2616": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2617": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "contentType" + }, + "2618": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportToJSON" + }, + "2619": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportToJSON" + }, + "2620": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "key" + }, + "2621": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2622": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportToCSV" + }, + "2623": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.exportToCSV" + }, + "2624": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "key" + }, + "2625": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2626": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.getInfo" + }, + "2627": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.getInfo" + }, + "2628": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.forEach" + }, + "2629": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.forEach" + }, + "2630": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "iteratee" + }, + "2631": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2632": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "index" + }, + "2633": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.map" + }, + "2634": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.map" + }, + "2635": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "R" + }, + "2636": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "iteratee" + }, + "2637": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2638": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.reduce" + }, + "2639": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.reduce" + }, + "2640": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "T" + }, + "2641": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "iteratee" + }, + "2642": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "memo" + }, + "2643": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "options" + }, + "2644": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.drop" + }, + "2645": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.drop" + }, + "2646": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset.Data" + }, + "2647": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "2648": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer.Data" + }, + "2649": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "2650": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "item" + }, + "2651": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "index" + }, + "2652": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "2653": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper.Data" + }, + "2654": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper.R" + }, + "2655": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "2656": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "item" + }, + "2657": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "index" + }, + "2658": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "2659": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer.T" + }, + "2660": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer.Data" + }, + "2661": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "2662": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "memo" + }, + "2663": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "item" + }, + "2664": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "index" + }, + "2665": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "2666": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions.id" + }, + "2667": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions.name" + }, + "2668": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions.client" + }, + "2669": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "2670": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent.total" + }, + "2671": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent.count" + }, + "2672": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent.offset" + }, + "2673": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent.limit" + }, + "2674": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent.items" + }, + "2675": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent.desc" + }, + "2676": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent.Data" + }, + "2684": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "2685": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.open" + }, + "2686": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.open" + }, + "2687": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "storeIdOrName" + }, + "2688": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "options" + }, + "2697": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.recordExists" + }, + "2698": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.recordExists" + }, + "2699": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "key" + }, + "2700": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.getAutoSavedValue" + }, + "2701": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.getAutoSavedValue" + }, + "2702": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "T" + }, + "2703": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "key" + }, + "2704": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "defaultValue" + }, + "2718": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.id" + }, + "2719": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.name" + }, + "2723": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.config" + }, + "2724": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.getValue" + }, + "2725": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.getValue" + }, + "2726": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "T" + }, + "2727": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "key" + }, + "2728": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.getValue" + }, + "2729": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "T" + }, + "2730": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "key" + }, + "2731": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "defaultValue" + }, + "2732": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.recordExists" + }, + "2733": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.recordExists" + }, + "2734": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "key" + }, + "2735": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.getAutoSavedValue" + }, + "2736": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.getAutoSavedValue" + }, + "2737": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "T" + }, + "2738": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "key" + }, + "2739": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "defaultValue" + }, + "2742": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.setValue" + }, + "2743": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.setValue" + }, + "2744": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "T" + }, + "2745": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "key" + }, + "2746": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "value" + }, + "2747": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "options" + }, + "2748": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.drop" + }, + "2749": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.drop" + }, + "2752": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.forEachKey" + }, + "2753": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore.forEachKey" + }, + "2754": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "iteratee" + }, + "2755": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "options" + }, + "2761": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "2762": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "2763": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "key" + }, + "2764": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "index" + }, + "2765": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "info" + }, + "2766": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "__type" + }, + "2767": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "__type.size" + }, + "2768": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "2769": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions.id" + }, + "2770": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions.name" + }, + "2771": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions.client" + }, + "2772": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "2773": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions.contentType" + }, + "2774": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "2775": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions.exclusiveStartKey" + }, + "2778": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "2779": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions.sources" + }, + "2780": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions.sourcesFunction" + }, + "2781": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions.proxyConfiguration" + }, + "2782": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions.persistStateKey" + }, + "2783": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions.persistRequestsKey" + }, + "2784": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions.state" + }, + "2785": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions.keepDuplicateUrls" + }, + "2787": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "2788": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.open" + }, + "2789": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.open" + }, + "2790": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "listNameOrOptions" + }, + "2791": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "sources" + }, + "2792": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "options" + }, + "2822": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.persistState" + }, + "2823": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.persistState" + }, + "2831": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.getState" + }, + "2832": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.getState" + }, + "2833": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.isEmpty" + }, + "2834": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.isEmpty" + }, + "2835": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.isFinished" + }, + "2836": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.isFinished" + }, + "2837": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.fetchNextRequest" + }, + "2838": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.fetchNextRequest" + }, + "2843": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.markRequestHandled" + }, + "2844": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.markRequestHandled" + }, + "2845": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "request" + }, + "2846": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.reclaimRequest" + }, + "2847": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.reclaimRequest" + }, + "2848": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "request" + }, + "2871": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.length" + }, + "2872": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.length" + }, + "2873": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.handledCount" + }, + "2874": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList.handledCount" + }, + "2882": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "2883": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState.nextIndex" + }, + "2884": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState.nextUniqueKey" + }, + "2885": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState.inProgress" + }, + "2886": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "2887": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "__type" + }, + "2888": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "__type" + }, + "2889": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "2890": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.open" + }, + "2891": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.open" + }, + "2892": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "queueIdOrName" + }, + "2893": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2894": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.__constructor" + }, + "2895": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "2896": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2897": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "config" + }, + "2898": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.id" + }, + "2899": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.name" + }, + "2900": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.timeoutSecs" + }, + "2901": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.clientKey" + }, + "2902": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.client" + }, + "2904": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.log" + }, + "2905": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.internalTimeoutMillis" + }, + "2906": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.requestLockSecs" + }, + "2907": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.assumedTotalCount" + }, + "2908": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.assumedHandledCount" + }, + "2915": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.config" + }, + "2918": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getTotalCount" + }, + "2919": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getTotalCount" + }, + "2920": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequest" + }, + "2921": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequest" + }, + "2922": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "requestLike" + }, + "2923": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2924": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequests" + }, + "2925": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequests" + }, + "2926": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "requestsLike" + }, + "2927": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2928": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequestsBatched" + }, + "2929": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.addRequestsBatched" + }, + "2930": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "requests" + }, + "2931": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2932": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getRequest" + }, + "2933": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getRequest" + }, + "2934": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "T" + }, + "2935": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "id" + }, + "2936": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.fetchNextRequest" + }, + "2937": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.fetchNextRequest" + }, + "2938": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "T" + }, + "2939": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2940": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.markRequestHandled" + }, + "2941": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.markRequestHandled" + }, + "2942": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "request" + }, + "2943": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.reclaimRequest" + }, + "2944": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.reclaimRequest" + }, + "2945": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "request" + }, + "2946": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "options" + }, + "2949": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isEmpty" + }, + "2950": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isEmpty" + }, + "2951": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isFinished" + }, + "2952": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.isFinished" + }, + "2963": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.drop" + }, + "2964": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.drop" + }, + "2965": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.handledCount" + }, + "2966": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.handledCount" + }, + "2967": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getInfo" + }, + "2968": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider.getInfo" + }, + "2984": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "2985": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions.id" + }, + "2986": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions.name" + }, + "2987": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions.client" + }, + "2988": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions.proxyConfiguration" + }, + "2989": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "2990": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions.id" + }, + "2991": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions.name" + }, + "2992": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions.client" + }, + "2993": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions.proxyConfiguration" + }, + "3002": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "3003": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions.forefront" + }, + "3010": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "3011": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.waitForAllRequestsToBeAdded" + }, + "3012": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.batchSize" + }, + "3013": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.waitBetweenBatchesMillis" + }, + "3014": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions.forefront" + }, + "3016": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "3017": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult.addedRequests" + }, + "3018": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult.waitForAllRequestsToBeAdded" + }, + "3019": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "3020": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage.id" + }, + "3021": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage.name" + }, + "3092": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "3093": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions.config" + }, + "3094": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions.storageClient" + }, + "3095": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions.proxyConfiguration" + }, + "3096": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "3097": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "3098": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "options" + }, + "3099": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "3100": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "config" + }, + "3101": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "client" + }, + "3102": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "3103": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "3104": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "State" + }, + "3105": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "name" + }, + "3106": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "defaultValue" + }, + "3107": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "options" + }, + "3111": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "3112": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions.config" + }, + "3113": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions.keyValueStoreName" + }, + "3119": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "3120": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "3121": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "3122": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "3123": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "T" + }, + "3124": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkFunction" + }, + "3125": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "__type" + }, + "3126": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "__type" + }, + "3127": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "callback" + }, + "3128": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "__type" + }, + "3129": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "__type" + }, + "3194": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserName" + }, + "3195": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserName.chrome" + }, + "3196": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserName.firefox" + }, + "3197": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserName.safari" + }, + "3198": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserName.edge" + }, + "3199": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "DeviceCategory" + }, + "3200": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "DeviceCategory.mobile" + }, + "3201": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "DeviceCategory.desktop" + }, + "3202": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "OperatingSystemsName" + }, + "3203": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "OperatingSystemsName.linux" + }, + "3204": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "OperatingSystemsName.macos" + }, + "3205": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "OperatingSystemsName.windows" + }, + "3206": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "OperatingSystemsName.android" + }, + "3207": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "OperatingSystemsName.ios" + }, + "3208": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController" + }, + "3209": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.defaultMaxListeners" + }, + "3210": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.__constructor" + }, + "3211": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController" + }, + "3212": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.Library" + }, + "3213": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.LibraryOptions" + }, + "3214": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.LaunchResult" + }, + "3215": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.NewPageOptions" + }, + "3216": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.NewPageResult" + }, + "3217": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "browserPlugin" + }, + "3218": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.id" + }, + "3219": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.browserPlugin" + }, + "3220": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.browser" + }, + "3221": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.launchContext" + }, + "3222": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.proxyTier" + }, + "3223": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.proxyUrl" + }, + "3224": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.isActive" + }, + "3225": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.activePages" + }, + "3226": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.totalPages" + }, + "3227": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.lastPageOpenedAt" + }, + "3242": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.close" + }, + "3243": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.close" + }, + "3244": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.kill" + }, + "3245": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.kill" + }, + "3249": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.setCookies" + }, + "3250": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.setCookies" + }, + "3251": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "page" + }, + "3252": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "cookies" + }, + "3253": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.getCookies" + }, + "3254": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.getCookies" + }, + "3255": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "page" + }, + "3274": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.addListener" + }, + "3275": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.addListener" + }, + "3276": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3277": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3278": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3279": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependListener" + }, + "3280": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependListener" + }, + "3281": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3282": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3283": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3284": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependOnceListener" + }, + "3285": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependOnceListener" + }, + "3286": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3287": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3288": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3289": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeListener" + }, + "3290": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeListener" + }, + "3291": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3292": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3293": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3294": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeAllListeners" + }, + "3295": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeAllListeners" + }, + "3296": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3297": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.once" + }, + "3298": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.once" + }, + "3299": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3300": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3301": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3302": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.on" + }, + "3303": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.on" + }, + "3304": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3305": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3306": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3307": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.off" + }, + "3308": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.off" + }, + "3309": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3310": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3311": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3312": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.emit" + }, + "3313": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.emit" + }, + "3314": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3315": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3316": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "args" + }, + "3317": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.eventNames" + }, + "3318": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.eventNames" + }, + "3319": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3320": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listenerCount" + }, + "3321": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listenerCount" + }, + "3322": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "3323": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listeners" + }, + "3324": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listeners" + }, + "3325": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3326": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "3327": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.rawListeners" + }, + "3328": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.rawListeners" + }, + "3329": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3330": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "3331": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.getMaxListeners" + }, + "3332": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.getMaxListeners" + }, + "3333": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.setMaxListeners" + }, + "3334": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.setMaxListeners" + }, + "3335": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "n" + }, + "3336": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.Library" + }, + "3337": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.LibraryOptions" + }, + "3338": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.LaunchResult" + }, + "3339": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.NewPageOptions" + }, + "3340": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.NewPageResult" + }, + "3341": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserControllerEvents" + }, + "3342": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserControllerEvents.browserClosed" + }, + "3343": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "__type" + }, + "3344": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "__type" + }, + "3345": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "controller" + }, + "3346": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserControllerEvents.Library" + }, + "3347": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserControllerEvents.LibraryOptions" + }, + "3348": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserControllerEvents.LaunchResult" + }, + "3349": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserControllerEvents.NewPageOptions" + }, + "3350": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserControllerEvents.NewPageResult" + }, + "3351": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerController" + }, + "3352": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.defaultMaxListeners" + }, + "3353": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.__constructor" + }, + "3354": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "PuppeteerController" + }, + "3355": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "browserPlugin" + }, + "3356": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerController.normalizeProxyOptions" + }, + "3357": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "PuppeteerController.normalizeProxyOptions" + }, + "3358": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "proxyUrl" + }, + "3359": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-controller.ts", + "qualifiedName": "pageOptions" + }, + "3374": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.id" + }, + "3375": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.browserPlugin" + }, + "3376": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.browser" + }, + "3377": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.launchContext" + }, + "3378": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.proxyTier" + }, + "3379": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.proxyUrl" + }, + "3380": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.isActive" + }, + "3381": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.activePages" + }, + "3382": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.totalPages" + }, + "3383": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.lastPageOpenedAt" + }, + "3390": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.close" + }, + "3391": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.close" + }, + "3392": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.kill" + }, + "3393": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.kill" + }, + "3397": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.setCookies" + }, + "3398": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.setCookies" + }, + "3399": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "page" + }, + "3400": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "cookies" + }, + "3401": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.getCookies" + }, + "3402": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.getCookies" + }, + "3403": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "page" + }, + "3404": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.addListener" + }, + "3405": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.addListener" + }, + "3406": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3407": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3408": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3409": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependListener" + }, + "3410": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependListener" + }, + "3411": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3412": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3413": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3414": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependOnceListener" + }, + "3415": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependOnceListener" + }, + "3416": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3417": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3418": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3419": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeListener" + }, + "3420": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeListener" + }, + "3421": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3422": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3423": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3424": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeAllListeners" + }, + "3425": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeAllListeners" + }, + "3426": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3427": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.once" + }, + "3428": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.once" + }, + "3429": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3430": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3431": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3432": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.on" + }, + "3433": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.on" + }, + "3434": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3435": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3436": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3437": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.off" + }, + "3438": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.off" + }, + "3439": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3440": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3441": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "3442": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.emit" + }, + "3443": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.emit" + }, + "3444": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3445": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "3446": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "args" + }, + "3447": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.eventNames" + }, + "3448": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.eventNames" + }, + "3449": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3450": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listenerCount" + }, + "3451": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listenerCount" + }, + "3452": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "3453": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listeners" + }, + "3454": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listeners" + }, + "3455": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3456": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "3457": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.rawListeners" + }, + "3458": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.rawListeners" + }, + "3459": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "3460": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "3461": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.getMaxListeners" + }, + "3462": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.getMaxListeners" + }, + "3463": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.setMaxListeners" + }, + "3464": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.setMaxListeners" + }, + "3465": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "n" + }, + "3466": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-controller.ts", + "qualifiedName": "PlaywrightController" + }, + "3467": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.defaultMaxListeners" + }, + "3468": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.__constructor" + }, + "3469": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "PlaywrightController" + }, + "3470": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "browserPlugin" + }, + "3471": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "3472": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3473": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "3474": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "3475": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "3476": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "3477": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "3478": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "3479": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3480": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "3482": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "3483": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "3484": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3485": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "3486": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "3487": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "3488": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "3489": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "3490": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3491": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "3492": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "3493": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "3494": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "3495": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "3496": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "3497": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "3498": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "3499": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "3500": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "3501": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "3502": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3503": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "3504": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "3505": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "3506": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "3507": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "3508": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3509": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "3510": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "3511": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "3512": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "3513": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "3514": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "3515": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3516": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "3517": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "3518": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3519": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3520": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3521": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "3522": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "3523": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3524": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3525": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3526": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "3527": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "3528": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3529": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "3530": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3531": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "3532": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "3533": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "3534": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "3535": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "3536": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "3537": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "3538": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "3539": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "3540": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3541": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "3542": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "3543": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3544": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "3545": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "3546": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "3547": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "3548": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "3549": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "3550": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3551": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3552": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3553": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "3554": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "3555": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3556": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3557": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3558": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-controller.ts", + "qualifiedName": "PlaywrightController.normalizeProxyOptions" + }, + "3559": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-controller.ts", + "qualifiedName": "PlaywrightController.normalizeProxyOptions" + }, + "3560": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-controller.ts", + "qualifiedName": "proxyUrl" + }, + "3561": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-controller.ts", + "qualifiedName": "pageOptions" + }, + "3662": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.id" + }, + "3663": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.browserPlugin" + }, + "3664": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "3665": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3666": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "3667": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "3668": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "3669": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "3670": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "3671": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "3672": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3673": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "3675": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "3676": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "3677": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3678": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "3679": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "3680": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "3681": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "3682": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "3683": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3684": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "3685": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "3686": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "3687": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "3688": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "3689": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "3690": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "3691": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "3692": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "3693": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "3694": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "3695": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3696": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "3697": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "3698": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "3699": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "3700": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "3701": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3702": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "3703": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "3704": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "3705": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "3706": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "3707": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "3708": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3709": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "3710": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "3711": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3712": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3713": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3714": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "3715": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "3716": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3717": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3718": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3719": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "3720": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "3721": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3722": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "3723": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3724": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "3725": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "3726": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "3727": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "3728": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "3729": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "3730": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "3731": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "3732": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "3733": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3734": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "3735": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "3736": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3737": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "3738": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "3739": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "3740": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "3741": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "3742": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "3743": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3744": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3745": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3746": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "3747": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "3748": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3749": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3750": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3751": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.browser" + }, + "3752": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.launchContext" + }, + "3753": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "3754": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3755": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "3756": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "3757": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "3758": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "3759": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "3760": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "3761": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3762": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "3764": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "3765": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "3766": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3767": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "3768": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "3769": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "3770": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "3771": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "3772": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3773": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "3774": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "3775": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "3776": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "3777": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "3778": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "3779": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "3780": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "3781": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "3782": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "3783": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "3784": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3785": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "3786": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "3787": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "3788": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "3789": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "3790": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3791": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "3792": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "3793": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "3794": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "3795": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "3796": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "3797": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3798": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "3799": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "3800": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3801": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3802": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3803": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "3804": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "3805": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3806": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3807": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3808": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "3809": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "3810": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3811": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "3812": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3813": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "3814": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "3815": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "3816": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "3817": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "3818": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "3819": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "3820": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "3821": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "3822": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3823": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "3824": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "3825": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3826": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "3827": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "3828": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "3829": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "3830": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "3831": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "3832": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3833": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3834": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3835": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "3836": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "3837": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "3838": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "3839": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "3840": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.proxyTier" + }, + "3841": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.proxyUrl" + }, + "3842": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.isActive" + }, + "3843": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.activePages" + }, + "3844": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.totalPages" + }, + "3845": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.lastPageOpenedAt" + }, + "3939": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.close" + }, + "3940": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.close" + }, + "3941": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.kill" + }, + "3942": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.kill" + }, + "4032": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.setCookies" + }, + "4033": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.setCookies" + }, + "4034": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "page" + }, + "4035": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "cookies" + }, + "4036": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.getCookies" + }, + "4037": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "BrowserController.getCookies" + }, + "4038": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-controller.ts", + "qualifiedName": "page" + }, + "4039": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.addListener" + }, + "4040": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.addListener" + }, + "4041": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4042": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4043": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "4044": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4045": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4046": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4047": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4048": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4049": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4050": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4051": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4052": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4053": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4055": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4056": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4057": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4058": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4059": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4060": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4061": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4062": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4063": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4064": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4065": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4066": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4067": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4068": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4069": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4070": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4071": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4072": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4073": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4074": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4075": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4076": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4077": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4078": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4079": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4080": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4081": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4082": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4083": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4084": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4085": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4086": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4087": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4088": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4089": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4090": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4091": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4092": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4093": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4094": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4095": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4096": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4097": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4098": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4099": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4100": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4101": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4102": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4103": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4104": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4105": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4106": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4107": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4108": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4109": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4110": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4111": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4112": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4113": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4114": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4115": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4116": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4117": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4118": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4119": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4120": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4121": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4122": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4123": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4124": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4125": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4126": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4127": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4128": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4129": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4130": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4131": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependListener" + }, + "4132": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependListener" + }, + "4133": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4134": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4135": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "4136": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4137": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4138": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4139": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4140": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4141": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4142": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4143": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4144": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4145": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4147": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4148": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4149": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4150": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4151": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4152": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4153": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4154": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4155": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4156": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4157": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4158": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4159": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4160": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4161": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4162": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4163": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4164": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4165": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4166": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4167": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4168": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4169": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4170": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4171": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4172": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4173": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4174": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4175": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4176": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4177": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4178": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4179": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4180": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4181": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4182": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4183": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4184": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4185": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4186": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4187": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4188": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4189": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4190": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4191": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4192": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4193": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4194": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4195": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4196": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4197": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4198": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4199": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4200": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4201": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4202": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4203": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4204": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4205": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4206": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4207": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4208": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4209": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4210": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4211": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4212": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4213": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4214": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4215": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4216": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4217": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4218": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4219": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4220": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4221": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4222": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4223": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependOnceListener" + }, + "4224": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependOnceListener" + }, + "4225": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4226": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4227": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "4228": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4229": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4230": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4231": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4232": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4233": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4234": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4235": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4236": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4237": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4239": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4240": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4241": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4242": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4243": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4244": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4245": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4246": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4247": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4248": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4249": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4250": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4251": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4252": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4253": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4254": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4255": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4256": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4257": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4258": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4259": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4260": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4261": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4262": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4263": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4264": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4265": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4266": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4267": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4268": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4269": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4270": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4271": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4272": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4273": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4274": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4275": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4276": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4277": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4278": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4279": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4280": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4281": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4282": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4283": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4284": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4285": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4286": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4287": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4288": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4289": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4290": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4291": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4292": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4293": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4294": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4295": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4296": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4297": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4298": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4299": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4300": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4301": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4302": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4303": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4304": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4305": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4306": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4307": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4308": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4309": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4310": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4311": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4312": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4313": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4314": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4315": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeListener" + }, + "4316": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeListener" + }, + "4317": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4318": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4319": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "4320": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4321": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4322": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4323": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4324": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4325": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4326": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4327": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4328": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4329": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4331": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4332": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4333": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4334": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4335": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4336": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4337": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4338": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4339": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4340": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4341": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4342": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4343": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4344": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4345": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4346": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4347": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4348": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4349": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4350": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4351": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4352": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4353": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4354": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4355": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4356": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4357": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4358": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4359": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4360": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4361": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4362": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4363": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4364": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4365": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4366": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4367": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4368": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4369": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4370": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4371": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4372": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4373": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4374": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4375": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4376": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4377": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4378": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4379": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4380": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4381": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4382": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4383": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4384": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4385": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4386": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4387": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4388": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4389": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4390": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4391": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4392": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4393": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4394": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4395": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4396": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4397": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4398": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4399": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4400": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4401": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4402": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4403": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4404": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4405": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4406": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4407": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeAllListeners" + }, + "4408": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeAllListeners" + }, + "4409": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4410": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.once" + }, + "4411": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.once" + }, + "4412": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4413": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4414": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "4415": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4416": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4417": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4418": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4419": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4420": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4421": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4422": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4423": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4424": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4426": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4427": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4428": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4429": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4430": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4431": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4432": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4433": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4434": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4435": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4436": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4437": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4438": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4439": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4440": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4441": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4442": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4443": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4444": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4445": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4446": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4447": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4448": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4449": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4450": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4451": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4452": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4453": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4454": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4455": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4456": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4457": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4458": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4459": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4460": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4461": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4462": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4463": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4464": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4465": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4466": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4467": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4468": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4469": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4470": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4471": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4472": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4473": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4474": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4475": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4476": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4477": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4478": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4479": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4480": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4481": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4482": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4483": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4484": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4485": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4486": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4487": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4488": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4489": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4490": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4491": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4492": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4493": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4494": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4495": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4496": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4497": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4498": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4499": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4500": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4501": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4502": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.on" + }, + "4503": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.on" + }, + "4504": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4505": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4506": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "4507": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4508": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4509": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4510": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4511": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4512": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4513": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4514": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4515": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4516": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4518": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4519": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4520": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4521": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4522": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4523": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4524": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4525": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4526": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4527": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4528": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4529": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4530": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4531": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4532": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4533": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4534": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4535": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4536": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4537": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4538": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4539": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4540": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4541": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4542": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4543": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4544": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4545": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4546": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4547": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4548": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4549": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4550": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4551": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4552": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4553": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4554": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4555": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4556": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4557": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4558": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4559": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4560": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4561": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4562": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4563": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4564": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4565": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4566": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4567": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4568": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4569": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4570": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4571": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4572": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4573": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4574": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4575": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4576": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4577": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4578": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4579": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4580": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4581": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4582": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4583": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4584": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4585": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4586": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4587": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4588": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4589": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4590": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4591": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4592": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4593": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4594": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.off" + }, + "4595": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.off" + }, + "4596": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4597": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4598": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "4599": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4600": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4601": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4602": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4603": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4604": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4605": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4606": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4607": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4608": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4610": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4611": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4612": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4613": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4614": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4615": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4616": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4617": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4618": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4619": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4620": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4621": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4622": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4623": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4624": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4625": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4626": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4627": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4628": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4629": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4630": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4631": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4632": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4633": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4634": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4635": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4636": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4637": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4638": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4639": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4640": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4641": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4642": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4643": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4644": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4645": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4646": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4647": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4648": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4649": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4650": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4651": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4652": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4653": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4654": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4655": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4656": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4657": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4658": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4659": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4660": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4661": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4662": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4663": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4664": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4665": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4666": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4667": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4668": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4669": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4670": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4671": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4672": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4673": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4674": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4675": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4676": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4677": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4678": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4679": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4680": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4681": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4682": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4683": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4684": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4685": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4686": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.emit" + }, + "4687": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.emit" + }, + "4688": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4689": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "4690": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "args" + }, + "4691": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4692": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4693": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4694": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4695": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4696": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4697": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4698": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4699": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4700": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4702": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4703": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4704": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4705": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4706": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4707": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4708": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4709": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4710": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4711": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4712": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4713": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4714": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4715": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4716": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4717": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4718": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4719": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4720": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4721": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4722": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4723": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4724": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4725": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4726": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4727": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4728": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4729": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4730": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4731": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4732": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4733": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4734": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4735": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4736": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4737": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4738": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4739": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4740": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4741": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4742": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4743": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4744": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4745": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4746": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4747": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4748": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4749": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4750": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4751": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4752": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4753": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4754": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4755": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4756": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4757": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4758": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4759": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4760": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4761": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4762": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4763": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4764": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4765": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4766": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4767": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4768": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4769": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4770": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4771": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4772": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4773": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4774": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4775": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4776": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4777": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4778": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.eventNames" + }, + "4779": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.eventNames" + }, + "4780": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4781": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listenerCount" + }, + "4782": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listenerCount" + }, + "4783": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "4784": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listeners" + }, + "4785": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listeners" + }, + "4786": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4787": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "4788": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4789": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4790": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4791": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4792": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4793": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4794": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4795": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4796": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4797": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4799": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4800": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4801": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4802": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4803": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4804": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4805": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4806": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4807": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4808": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4809": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4810": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4811": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4812": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4813": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4814": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4815": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4816": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4817": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4818": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4819": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4820": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4821": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4822": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4823": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4824": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4825": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4826": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4827": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4828": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4829": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4830": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4831": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4832": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4833": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4834": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4835": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4836": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4837": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4838": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4839": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4840": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4841": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4842": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4843": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4844": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4845": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4846": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4847": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4848": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4849": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4850": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4851": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4852": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4853": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4854": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4855": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4856": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4857": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4858": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4859": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4860": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4861": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4862": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4863": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4864": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4865": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4866": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4867": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4868": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4869": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4870": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4871": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4872": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4873": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4874": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4875": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.rawListeners" + }, + "4876": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.rawListeners" + }, + "4877": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "4878": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "4879": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "4880": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4881": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "4882": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "4883": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "4884": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "4885": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "4886": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "4887": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4888": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "4890": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "4891": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "4892": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4893": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "4894": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "4895": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "4896": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "4897": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "4898": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4899": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4900": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4901": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4902": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "4903": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "4904": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "4905": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "4906": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "4907": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "4908": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "4909": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "4910": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4911": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "4912": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "4913": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "4914": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "4915": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "4916": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4917": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "4918": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "4919": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4920": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "4921": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "4922": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "4923": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4924": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "4925": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "4926": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4927": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4928": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4929": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "4930": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "4931": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4932": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4933": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4934": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "4935": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "4936": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4937": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "4938": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4939": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4940": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4941": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "4942": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "4943": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "4944": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "4945": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "4946": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "4947": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "4948": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4949": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "4950": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "4951": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4952": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "4953": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "4954": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "4955": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "4956": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "4957": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "4958": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4959": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4960": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4961": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "4962": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "4963": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "4964": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "4965": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "4966": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.getMaxListeners" + }, + "4967": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.getMaxListeners" + }, + "4968": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.setMaxListeners" + }, + "4969": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.setMaxListeners" + }, + "4970": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "n" + }, + "4971": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser" + }, + "4972": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "4973": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "4974": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "4975": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "4976": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "4977": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.once" + }, + "4978": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "4979": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "4980": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "4981": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "4982": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.on" + }, + "4983": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "4984": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "4985": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "options" + }, + "4986": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "4987": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.listenerCount" + }, + "4988": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "4989": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "4990": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "4991": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getEventListeners" + }, + "4992": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "4993": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "name" + }, + "4994": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "4995": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.getMaxListeners" + }, + "4996": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "emitter" + }, + "4997": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "4998": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.setMaxListeners" + }, + "4999": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "5000": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventTargets" + }, + "5001": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "5002": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.addAbortListener" + }, + "5003": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "signal" + }, + "5004": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "resource" + }, + "5005": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5006": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5007": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "5008": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.errorMonitor" + }, + "5009": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejectionSymbol" + }, + "5010": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.captureRejections" + }, + "5011": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.defaultMaxListeners" + }, + "5012": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.__constructor" + }, + "5013": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser" + }, + "5014": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "options" + }, + "5020": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.close" + }, + "5021": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.close" + }, + "5022": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.contexts" + }, + "5023": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.contexts" + }, + "5024": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.isConnected" + }, + "5025": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.isConnected" + }, + "5026": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.version" + }, + "5027": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.version" + }, + "5032": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.browserType" + }, + "5033": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.browserType" + }, + "5034": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "5035": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.newPage" + }, + "5036": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.newPage" + }, + "5037": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "args" + }, + "5038": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.newContext" + }, + "5039": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.newContext" + }, + "5040": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.newBrowserCDPSession" + }, + "5041": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.newBrowserCDPSession" + }, + "5042": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.startTracing" + }, + "5043": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.startTracing" + }, + "5044": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.stopTracing" + }, + "5045": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.stopTracing" + }, + "5046": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.[asyncDispose]" + }, + "5047": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-browser.ts", + "qualifiedName": "PlaywrightBrowser.[asyncDispose]" + }, + "5048": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "5049": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "EventEmitter.[captureRejectionSymbol]" + }, + "5050": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5051": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "error" + }, + "5052": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "event" + }, + "5053": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5054": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "5055": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.addListener" + }, + "5056": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5057": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5058": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "5059": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5060": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5061": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5062": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "5063": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.on" + }, + "5064": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5065": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5066": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "5067": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5068": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5069": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5070": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "5071": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.once" + }, + "5072": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5073": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5074": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "5075": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5076": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5077": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5078": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "5079": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeListener" + }, + "5080": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5081": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5082": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "5083": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5084": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5085": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5086": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "5087": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.off" + }, + "5088": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5089": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5090": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "5091": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5092": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5093": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5094": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "5095": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.removeAllListeners" + }, + "5096": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5097": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "5098": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.setMaxListeners" + }, + "5099": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "n" + }, + "5100": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "5101": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.getMaxListeners" + }, + "5102": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "5103": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listeners" + }, + "5104": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5105": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5106": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "5107": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.rawListeners" + }, + "5108": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5109": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5110": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "5111": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.emit" + }, + "5112": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5113": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5114": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5115": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "5116": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.listenerCount" + }, + "5117": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5118": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5119": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "5120": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "5121": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependListener" + }, + "5122": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5123": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5124": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "5125": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5126": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5127": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5128": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "5129": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.prependOnceListener" + }, + "5130": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "K" + }, + "5131": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "eventName" + }, + "5132": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "listener" + }, + "5133": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5134": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__type" + }, + "5135": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "args" + }, + "5136": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "5137": { + "sourceFileName": "../node_modules/@types/node/events.d.ts", + "qualifiedName": "__global.NodeJS.EventEmitter.eventNames" + }, + "5144": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonLibrary" + }, + "5145": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonLibrary.product" + }, + "5146": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonLibrary.launch" + }, + "5147": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonLibrary.launch" + }, + "5148": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "opts" + }, + "5149": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CommonLibrary.name" + }, + "5150": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "__type" + }, + "5151": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "__type" + }, + "5152": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin" + }, + "5153": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.__constructor" + }, + "5154": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin" + }, + "5155": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.Library" + }, + "5156": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.LibraryOptions" + }, + "5157": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.LaunchResult" + }, + "5158": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.NewPageOptions" + }, + "5159": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.NewPageResult" + }, + "5160": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "library" + }, + "5161": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "options" + }, + "5162": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.name" + }, + "5163": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.library" + }, + "5164": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launchOptions" + }, + "5165": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.proxyUrl" + }, + "5166": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.userDataDir" + }, + "5167": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.useIncognitoPages" + }, + "5168": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.experimentalContainers" + }, + "5169": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.browserPerProxy" + }, + "5170": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createLaunchContext" + }, + "5171": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createLaunchContext" + }, + "5172": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "options" + }, + "5173": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createController" + }, + "5174": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createController" + }, + "5175": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launch" + }, + "5176": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launch" + }, + "5177": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "launchContext" + }, + "5198": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.Library" + }, + "5199": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.LibraryOptions" + }, + "5200": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.LaunchResult" + }, + "5201": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.NewPageOptions" + }, + "5202": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.NewPageResult" + }, + "5203": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions" + }, + "5204": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions.launchOptions" + }, + "5205": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions.proxyUrl" + }, + "5206": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions.useIncognitoPages" + }, + "5207": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions.experimentalContainers" + }, + "5208": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions.userDataDir" + }, + "5209": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions.browserPerProxy" + }, + "5210": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions.LibraryOptions" + }, + "5211": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CreateLaunchContextOptions" + }, + "5212": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "id" + }, + "5213": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "launchOptions" + }, + "5214": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "browserPerProxy" + }, + "5215": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "useIncognitoPages" + }, + "5216": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "experimentalContainers" + }, + "5217": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "userDataDir" + }, + "5218": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "proxyUrl" + }, + "5219": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "proxyTier" + }, + "5220": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CreateLaunchContextOptions.Library" + }, + "5221": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CreateLaunchContextOptions.LibraryOptions" + }, + "5222": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CreateLaunchContextOptions.LaunchResult" + }, + "5223": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CreateLaunchContextOptions.NewPageOptions" + }, + "5224": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "CreateLaunchContextOptions.NewPageResult" + }, + "5225": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserLaunchError" + }, + "5226": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "5227": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.captureStackTrace" + }, + "5228": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "targetObject" + }, + "5229": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "constructorOpt" + }, + "5230": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.prepareStackTrace" + }, + "5231": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "5232": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__type" + }, + "5233": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "err" + }, + "5234": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "stackTraces" + }, + "5235": { + "sourceFileName": "../node_modules/@types/node/globals.d.ts", + "qualifiedName": "__global.ErrorConstructor.stackTraceLimit" + }, + "5236": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserLaunchError.__constructor" + }, + "5237": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserLaunchError" + }, + "5238": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "args" + }, + "5239": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.name" + }, + "5240": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.message" + }, + "5241": { + "sourceFileName": "node_modules/typescript/lib/lib.es5.d.ts", + "qualifiedName": "Error.stack" + }, + "5242": { + "sourceFileName": "node_modules/typescript/lib/lib.es2022.error.d.ts", + "qualifiedName": "Error.cause" + }, + "5243": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "DEFAULT_USER_AGENT" + }, + "5244": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext" + }, + "5245": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.__constructor" + }, + "5246": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext" + }, + "5247": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.Library" + }, + "5248": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.LibraryOptions" + }, + "5249": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.LaunchResult" + }, + "5250": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.NewPageOptions" + }, + "5251": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.NewPageResult" + }, + "5252": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "options" + }, + "5253": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.id" + }, + "5254": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.browserPlugin" + }, + "5255": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.launchOptions" + }, + "5256": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.useIncognitoPages" + }, + "5257": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.browserPerProxy" + }, + "5258": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.experimentalContainers" + }, + "5259": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.userDataDir" + }, + "5260": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.proxyTier" + }, + "5263": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.fingerprint" + }, + "5264": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.extend" + }, + "5265": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.extend" + }, + "5266": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "T" + }, + "5267": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "fields" + }, + "5268": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.proxyUrl" + }, + "5269": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.proxyUrl" + }, + "5270": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.proxyUrl" + }, + "5271": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "url" + }, + "5272": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.Library" + }, + "5273": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.LibraryOptions" + }, + "5274": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.LaunchResult" + }, + "5275": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.NewPageOptions" + }, + "5276": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.NewPageResult" + }, + "5277": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContext.__index" + }, + "5279": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions" + }, + "5280": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.id" + }, + "5281": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.browserPlugin" + }, + "5282": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.launchOptions" + }, + "5283": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.browserPerProxy" + }, + "5284": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.useIncognitoPages" + }, + "5285": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.experimentalContainers" + }, + "5286": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.userDataDir" + }, + "5287": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.proxyUrl" + }, + "5288": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.proxyTier" + }, + "5289": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.Library" + }, + "5290": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.LibraryOptions" + }, + "5291": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.LaunchResult" + }, + "5292": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.NewPageOptions" + }, + "5293": { + "sourceFileName": "../packages/browser-pool/src/launch-context.ts", + "qualifiedName": "LaunchContextOptions.NewPageResult" + }, + "5294": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserSpecification" + }, + "5295": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserSpecification.name" + }, + "5296": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserSpecification.minVersion" + }, + "5297": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserSpecification.maxVersion" + }, + "5298": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "BrowserSpecification.httpVersion" + }, + "5299": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGenerator" + }, + "5300": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGenerator.getFingerprint" + }, + "5301": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "__type" + }, + "5302": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "__type" + }, + "5303": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "fingerprintGeneratorOptions" + }, + "5304": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGeneratorOptions" + }, + "5305": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGeneratorOptions.browsers" + }, + "5306": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGeneratorOptions.browserListQuery" + }, + "5307": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGeneratorOptions.operatingSystems" + }, + "5308": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGeneratorOptions.devices" + }, + "5309": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGeneratorOptions.locales" + }, + "5310": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGeneratorOptions.httpVersion" + }, + "5311": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "FingerprintGeneratorOptions.screen" + }, + "5312": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "__type" + }, + "5313": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "__type.minWidth" + }, + "5314": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "__type.maxWidth" + }, + "5315": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "__type.minHeight" + }, + "5316": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "__type.maxHeight" + }, + "5317": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "GetFingerprintReturn" + }, + "5318": { + "sourceFileName": "../packages/browser-pool/src/fingerprinting/types.ts", + "qualifiedName": "GetFingerprintReturn.fingerprint" + }, + "5319": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "InferBrowserPluginArray" + }, + "5320": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "Input" + }, + "5321": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "Result" + }, + "5322": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "UnwrapPromise" + }, + "5323": { + "sourceFileName": "../packages/browser-pool/src/utils.ts", + "qualifiedName": "T" + }, + "5324": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolEvents" + }, + "5325": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolEvents.pageCreated" + }, + "5326": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5327": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5328": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "page" + }, + "5329": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolEvents.pageClosed" + }, + "5330": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5331": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5332": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "page" + }, + "5333": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolEvents.browserRetired" + }, + "5334": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5335": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5336": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "browserController" + }, + "5337": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolEvents.browserLaunched" + }, + "5338": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5339": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5340": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "browserController" + }, + "5341": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolEvents.BC" + }, + "5342": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolEvents.Page" + }, + "5343": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "FingerprintOptions" + }, + "5344": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "FingerprintOptions.fingerprintGeneratorOptions" + }, + "5345": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "FingerprintOptions.useFingerprintCache" + }, + "5346": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "FingerprintOptions.fingerprintCacheSize" + }, + "5347": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions" + }, + "5348": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.browserPlugins" + }, + "5349": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.maxOpenPagesPerBrowser" + }, + "5350": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.retireBrowserAfterPageCount" + }, + "5351": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.operationTimeoutSecs" + }, + "5352": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.closeInactiveBrowserAfterSecs" + }, + "5353": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.retireInactiveBrowserAfterSecs" + }, + "5354": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.useFingerprints" + }, + "5355": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.fingerprintOptions" + }, + "5356": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolOptions.Plugin" + }, + "5357": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "PreLaunchHook" + }, + "5358": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5359": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5360": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "pageId" + }, + "5361": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "launchContext" + }, + "5362": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "LC" + }, + "5363": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "PostLaunchHook" + }, + "5364": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5365": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5366": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "pageId" + }, + "5367": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "browserController" + }, + "5368": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BC" + }, + "5369": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "PrePageCreateHook" + }, + "5370": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5371": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5372": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "pageId" + }, + "5373": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "browserController" + }, + "5374": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "pageOptions" + }, + "5375": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BC" + }, + "5376": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "PO" + }, + "5377": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "PostPageCreateHook" + }, + "5378": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5379": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5380": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "page" + }, + "5381": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "browserController" + }, + "5382": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BC" + }, + "5383": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "Page" + }, + "5384": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "PrePageCloseHook" + }, + "5385": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5386": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5387": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "page" + }, + "5388": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "browserController" + }, + "5389": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BC" + }, + "5390": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "Page" + }, + "5391": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "PostPageCloseHook" + }, + "5392": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5393": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "__type" + }, + "5394": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "pageId" + }, + "5395": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "browserController" + }, + "5396": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BC" + }, + "5397": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks" + }, + "5398": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.preLaunchHooks" + }, + "5399": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.postLaunchHooks" + }, + "5400": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.prePageCreateHooks" + }, + "5401": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.postPageCreateHooks" + }, + "5402": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.prePageCloseHooks" + }, + "5403": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.postPageCloseHooks" + }, + "5404": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.BC" + }, + "5405": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.LC" + }, + "5406": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolHooks.PR" + }, + "5407": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool" + }, + "5408": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.defaultMaxListeners" + }, + "5409": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.__constructor" + }, + "5410": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool" + }, + "5411": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.Options" + }, + "5412": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.BrowserPlugins" + }, + "5413": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.BrowserControllerReturn" + }, + "5414": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.LaunchContextReturn" + }, + "5415": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.PageOptions" + }, + "5416": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.PageReturn" + }, + "5417": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "options" + }, + "5418": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.browserPlugins" + }, + "5419": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.maxOpenPagesPerBrowser" + }, + "5420": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.retireBrowserAfterPageCount" + }, + "5421": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.operationTimeoutMillis" + }, + "5422": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.closeInactiveBrowserAfterMillis" + }, + "5423": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.useFingerprints" + }, + "5424": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.fingerprintOptions" + }, + "5425": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.preLaunchHooks" + }, + "5426": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.postLaunchHooks" + }, + "5427": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.prePageCreateHooks" + }, + "5428": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.postPageCreateHooks" + }, + "5429": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.prePageCloseHooks" + }, + "5430": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.postPageCloseHooks" + }, + "5431": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.pageCounter" + }, + "5432": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.pages" + }, + "5433": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.pageIds" + }, + "5434": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.activeBrowserControllers" + }, + "5435": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.retiredBrowserControllers" + }, + "5436": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.pageToBrowserController" + }, + "5437": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.fingerprintInjector" + }, + "5438": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.fingerprintGenerator" + }, + "5439": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.fingerprintCache" + }, + "5443": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.newPage" + }, + "5444": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.newPage" + }, + "5445": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "options" + }, + "5446": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.newPageInNewBrowser" + }, + "5447": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.newPageInNewBrowser" + }, + "5448": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "options" + }, + "5449": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.newPageWithEachPlugin" + }, + "5450": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.newPageWithEachPlugin" + }, + "5451": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "optionsList" + }, + "5452": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.getBrowserControllerByPage" + }, + "5453": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.getBrowserControllerByPage" + }, + "5454": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "page" + }, + "5455": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.getPage" + }, + "5456": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.getPage" + }, + "5457": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "id" + }, + "5458": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.getPageId" + }, + "5459": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.getPageId" + }, + "5460": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "page" + }, + "5467": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.retireBrowserController" + }, + "5468": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.retireBrowserController" + }, + "5469": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "browserController" + }, + "5470": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.retireBrowserByPage" + }, + "5471": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.retireBrowserByPage" + }, + "5472": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "page" + }, + "5473": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.retireAllBrowsers" + }, + "5474": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.retireAllBrowsers" + }, + "5475": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.closeAllBrowsers" + }, + "5476": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.closeAllBrowsers" + }, + "5477": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.destroy" + }, + "5478": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.destroy" + }, + "5512": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.addListener" + }, + "5513": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.addListener" + }, + "5514": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5515": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5516": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "5517": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependListener" + }, + "5518": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependListener" + }, + "5519": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5520": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5521": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "5522": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependOnceListener" + }, + "5523": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.prependOnceListener" + }, + "5524": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5525": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5526": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "5527": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeListener" + }, + "5528": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeListener" + }, + "5529": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5530": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5531": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "5532": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeAllListeners" + }, + "5533": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.removeAllListeners" + }, + "5534": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5535": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.once" + }, + "5536": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.once" + }, + "5537": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5538": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5539": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "5540": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.on" + }, + "5541": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.on" + }, + "5542": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5543": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5544": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "5545": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.off" + }, + "5546": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.off" + }, + "5547": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5548": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5549": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "listener" + }, + "5550": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.emit" + }, + "5551": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.emit" + }, + "5552": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5553": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "event" + }, + "5554": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "args" + }, + "5555": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.eventNames" + }, + "5556": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.eventNames" + }, + "5557": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5558": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listenerCount" + }, + "5559": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listenerCount" + }, + "5560": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "5561": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listeners" + }, + "5562": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.listeners" + }, + "5563": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5564": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "5565": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.rawListeners" + }, + "5566": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.rawListeners" + }, + "5567": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "U" + }, + "5568": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "type" + }, + "5569": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.getMaxListeners" + }, + "5570": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.getMaxListeners" + }, + "5571": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.setMaxListeners" + }, + "5572": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "TypedEmitter.setMaxListeners" + }, + "5573": { + "sourceFileName": "../node_modules/tiny-typed-emitter/lib/index.d.ts", + "qualifiedName": "n" + }, + "5574": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.Options" + }, + "5575": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.BrowserPlugins" + }, + "5576": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.BrowserControllerReturn" + }, + "5577": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.LaunchContextReturn" + }, + "5578": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.PageOptions" + }, + "5579": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPool.PageReturn" + }, + "5580": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageOptions" + }, + "5581": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageOptions.id" + }, + "5582": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageOptions.pageOptions" + }, + "5583": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageOptions.browserPlugin" + }, + "5584": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageOptions.proxyUrl" + }, + "5585": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageOptions.proxyTier" + }, + "5586": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageOptions.PageOptions" + }, + "5587": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageOptions.BP" + }, + "5588": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions" + }, + "5589": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.id" + }, + "5590": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.pageOptions" + }, + "5591": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.browserPlugin" + }, + "5592": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.launchOptions" + }, + "5593": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.PageOptions" + }, + "5594": { + "sourceFileName": "../packages/browser-pool/src/browser-pool.ts", + "qualifiedName": "BrowserPoolNewPageInNewBrowserOptions.BP" + }, + "5595": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-plugin.ts", + "qualifiedName": "PlaywrightPlugin" + }, + "5596": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.__constructor" + }, + "5597": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "PlaywrightPlugin" + }, + "5598": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "library" + }, + "5599": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "5600": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "options" + }, + "5602": { + "sourceFileName": "../packages/browser-pool/src/playwright/playwright-plugin.ts", + "qualifiedName": "PlaywrightPlugin._containerProxyServer" + }, + "5603": { + "sourceFileName": "../packages/browser-pool/src/container-proxy-server.ts", + "qualifiedName": "__object" + }, + "5604": { + "sourceFileName": "../packages/browser-pool/src/container-proxy-server.ts", + "qualifiedName": "__object.port" + }, + "5605": { + "sourceFileName": "../packages/browser-pool/src/container-proxy-server.ts", + "qualifiedName": "__object.ipToProxy" + }, + "5606": { + "sourceFileName": "../packages/browser-pool/src/container-proxy-server.ts", + "qualifiedName": "__object.close" + }, + "5607": { + "sourceFileName": "../packages/browser-pool/src/container-proxy-server.ts", + "qualifiedName": "__object.close" + }, + "5608": { + "sourceFileName": "../packages/browser-pool/src/container-proxy-server.ts", + "qualifiedName": "closeConnections" + }, + "5971": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.name" + }, + "5972": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.library" + }, + "5973": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "5974": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launchOptions" + }, + "5975": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.proxyUrl" + }, + "5976": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.userDataDir" + }, + "5977": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.useIncognitoPages" + }, + "5978": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.experimentalContainers" + }, + "5979": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.browserPerProxy" + }, + "5980": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createLaunchContext" + }, + "5981": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createLaunchContext" + }, + "5982": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "options" + }, + "5983": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "5984": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "5985": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "5986": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "5987": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "5988": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "5989": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "5990": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "5991": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "5992": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "5994": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "5995": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "5996": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "5997": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "5998": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "5999": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "6000": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "6001": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "6002": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6003": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "6004": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "6005": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "6006": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "6007": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "6008": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "6009": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "6010": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "6011": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "6012": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "6013": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "6014": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6015": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "6016": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "6017": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "6018": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "6019": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "6020": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6021": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "6022": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "6023": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "6024": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "6025": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "6026": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "6027": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6028": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "6029": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "6030": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6031": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6032": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6033": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "6034": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "6035": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6036": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6037": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6038": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "6039": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "6040": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6041": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "6042": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6043": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "6044": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "6045": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "6046": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "6047": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "6048": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "6049": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "6050": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "6051": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "6052": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6053": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "6054": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "6055": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6056": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "6057": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "6058": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "6059": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "6060": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "6061": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "6062": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6063": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6064": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6065": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "6066": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "6067": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6068": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6069": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6070": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "6071": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6072": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "6073": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "6074": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "6075": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "6076": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "6077": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "6078": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6079": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "6081": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "6082": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "6083": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6084": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "6085": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "6086": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "6087": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "6088": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "6089": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6090": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "6091": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "6092": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "6093": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "6094": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "6095": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "6096": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "6097": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "6098": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "6099": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "6100": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "6101": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6102": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "6103": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "6104": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "6105": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "6106": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "6107": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6108": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "6109": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "6110": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "6111": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "6112": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "6113": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "6114": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6115": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "6116": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "6117": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6118": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6119": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6120": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "6121": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "6122": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6123": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6124": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6125": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "6126": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "6127": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6128": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "6129": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6130": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "6131": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "6132": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "6133": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "6134": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "6135": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "6136": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "6137": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "6138": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "6139": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6140": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "6141": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "6142": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6143": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "6144": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "6145": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "6146": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "6147": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "6148": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "6149": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6150": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6151": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6152": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "6153": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "6154": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6155": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6156": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6157": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createController" + }, + "6158": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createController" + }, + "6159": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "6160": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6161": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "6162": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "6163": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "6164": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "6165": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "6166": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "6167": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6168": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "6170": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "6171": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "6172": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6173": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "6174": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "6175": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "6176": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "6177": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "6178": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6179": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "6180": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "6181": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "6182": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "6183": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "6184": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "6185": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "6186": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "6187": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "6188": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "6189": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "6190": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6191": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "6192": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "6193": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "6194": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "6195": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "6196": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6197": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "6198": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "6199": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "6200": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "6201": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "6202": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "6203": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6204": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "6205": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "6206": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6207": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6208": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6209": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "6210": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "6211": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6212": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6213": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6214": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "6215": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "6216": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6217": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "6218": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6219": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "6220": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "6221": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "6222": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "6223": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "6224": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "6225": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "6226": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "6227": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "6228": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6229": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "6230": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "6231": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6232": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "6233": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "6234": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "6235": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "6236": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "6237": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "6238": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6239": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6240": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6241": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "6242": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "6243": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6244": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6245": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6246": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launch" + }, + "6247": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launch" + }, + "6248": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "launchContext" + }, + "6249": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "6250": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6251": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "6252": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "6253": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "6254": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "6255": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "6256": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "6257": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6258": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "6260": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "6261": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "6262": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6263": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "6264": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "6265": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "6266": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "6267": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "6268": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6269": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "6270": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "6271": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "6272": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "6273": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "6274": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "6275": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "6276": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "6277": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "6278": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "6279": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "6280": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6281": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "6282": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "6283": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "6284": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "6285": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "6286": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6287": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "6288": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "6289": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "6290": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "6291": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "6292": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "6293": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6294": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "6295": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "6296": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6297": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6298": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6299": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "6300": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "6301": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6302": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6303": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6304": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "6305": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "6306": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6307": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "6308": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6309": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "6310": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "6311": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "6312": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "6313": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "6314": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "6315": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "6316": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "6317": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "6318": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6319": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "6320": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "6321": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6322": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "6323": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "6324": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "6325": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "6326": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "6327": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "6328": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6329": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6330": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6331": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "6332": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "6333": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "6334": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "6335": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "6342": { + "sourceFileName": "../packages/browser-pool/src/puppeteer/puppeteer-plugin.ts", + "qualifiedName": "PuppeteerPlugin" + }, + "6343": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.__constructor" + }, + "6344": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "PuppeteerPlugin" + }, + "6345": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "library" + }, + "6346": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "options" + }, + "6358": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.name" + }, + "6359": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.library" + }, + "6360": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launchOptions" + }, + "6361": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.proxyUrl" + }, + "6362": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.userDataDir" + }, + "6363": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.useIncognitoPages" + }, + "6364": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.experimentalContainers" + }, + "6365": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.browserPerProxy" + }, + "6366": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createLaunchContext" + }, + "6367": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createLaunchContext" + }, + "6368": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "options" + }, + "6369": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createController" + }, + "6370": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.createController" + }, + "6371": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launch" + }, + "6372": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPlugin.launch" + }, + "6373": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "launchContext" + }, + "6380": { + "sourceFileName": "../packages/browser-pool/src/events.ts", + "qualifiedName": "BROWSER_POOL_EVENTS" + }, + "6381": { + "sourceFileName": "../packages/browser-pool/src/events.ts", + "qualifiedName": "BROWSER_POOL_EVENTS.BROWSER_LAUNCHED" + }, + "6382": { + "sourceFileName": "../packages/browser-pool/src/events.ts", + "qualifiedName": "BROWSER_POOL_EVENTS.BROWSER_RETIRED" + }, + "6383": { + "sourceFileName": "../packages/browser-pool/src/events.ts", + "qualifiedName": "BROWSER_POOL_EVENTS.BROWSER_CLOSED" + }, + "6384": { + "sourceFileName": "../packages/browser-pool/src/events.ts", + "qualifiedName": "BROWSER_POOL_EVENTS.PAGE_CREATED" + }, + "6385": { + "sourceFileName": "../packages/browser-pool/src/events.ts", + "qualifiedName": "BROWSER_POOL_EVENTS.PAGE_CLOSED" + }, + "6386": { + "sourceFileName": "../packages/browser-pool/src/events.ts", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS" + }, + "6387": { + "sourceFileName": "../packages/browser-pool/src/events.ts", + "qualifiedName": "BROWSER_CONTROLLER_EVENTS.BROWSER_CLOSED" + }, + "6388": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "PseudoUrl" + }, + "6392": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "StorageClient" + }, + "6393": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "Cookie" + }, + "6394": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "QueueOperationInfo" + }, + "6395": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "6396": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "6398": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "6399": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "6400": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "6401": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "6402": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "6403": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "6404": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "6405": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "6406": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "6407": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "6408": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "6409": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "6410": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "6411": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "6412": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "6413": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "6416": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "6417": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "6418": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "6419": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "6420": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "6421": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "6422": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "6423": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "6424": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "6425": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "6426": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "6428": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "6429": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "6437": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "6439": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "6440": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "6441": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "6442": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "6443": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "6444": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "6445": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "6446": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "6447": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "6448": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "6449": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "6450": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "6451": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "6452": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "log" + }, + "6453": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Log" + }, + "6454": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerOptions" + }, + "6455": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LogLevel" + }, + "6456": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Logger" + }, + "6457": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerJson" + }, + "6458": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerText" + }, + "6459": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "6460": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "6461": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "6462": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "6463": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "6464": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "6465": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "6466": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "6467": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "6468": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "6470": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "6471": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "6472": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "6473": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "6479": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "6480": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "6481": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "6482": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "6483": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "6484": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "6485": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "6486": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "6487": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "6488": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV1" + }, + "6489": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueue" + }, + "6490": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "6494": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "6495": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "6496": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "6497": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "6498": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "6499": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "6500": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "6501": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "6502": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "6503": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "6505": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "6506": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "6507": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "6508": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "6509": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "6512": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "6513": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "6514": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "6515": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "6516": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "6517": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "6518": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "6520": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "6522": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "6523": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "6524": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "6526": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "6527": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "6528": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "6530": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "6536": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "6537": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "6545": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "6546": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "6547": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Context" + }, + "6548": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "UserData" + }, + "6549": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "routes" + }, + "6550": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext" + }, + "6551": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext.enqueueLinks" + }, + "6552": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext.enqueueLinks" + }, + "6553": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "6554": { + "sourceFileName": "../node_modules/type-fest/source/simplify.d.ts", + "qualifiedName": "__type" + }, + "6555": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "limit" + }, + "6556": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "requestQueue" + }, + "6557": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "selector" + }, + "6558": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "userData" + }, + "6559": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "label" + }, + "6560": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "skipNavigation" + }, + "6561": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "baseUrl" + }, + "6562": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "globs" + }, + "6563": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "exclude" + }, + "6564": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "regexps" + }, + "6565": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "pseudoUrls" + }, + "6566": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "transformRequestFunction" + }, + "6567": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "strategy" + }, + "6568": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "forefront" + }, + "6570": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "urls" + }, + "6571": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "6572": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "6573": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "6574": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "6575": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "6576": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "6577": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "6578": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "6579": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "6580": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "6581": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "6582": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "6583": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "6584": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "6585": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "6586": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "6587": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "6588": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "6589": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "6590": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "6591": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "6592": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "6593": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "6594": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "6595": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "6596": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "6597": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "6598": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "6599": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "6600": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "6601": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "6602": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext.UserData" + }, + "6603": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "RequestHandler" + }, + "6604": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "__type" + }, + "6605": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "__type" + }, + "6606": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "inputs" + }, + "6607": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Context" + }, + "6608": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "ErrorHandler" + }, + "6609": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "__type" + }, + "6610": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "__type" + }, + "6611": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "inputs" + }, + "6612": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "error" + }, + "6613": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Context" + }, + "6614": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams" + }, + "6615": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams.state" + }, + "6616": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams.crawler" + }, + "6617": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams.previousState" + }, + "6618": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams.message" + }, + "6619": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams.Context" + }, + "6620": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams.Crawler" + }, + "6621": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallback" + }, + "6622": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "__type" + }, + "6623": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "__type" + }, + "6624": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "params" + }, + "6625": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Context" + }, + "6626": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Crawler" + }, + "6627": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions" + }, + "6628": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandler" + }, + "6630": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestList" + }, + "6631": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestQueue" + }, + "6632": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandlerTimeoutSecs" + }, + "6634": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.errorHandler" + }, + "6635": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.failedRequestHandler" + }, + "6637": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestRetries" + }, + "6638": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sameDomainDelaySecs" + }, + "6639": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxSessionRotations" + }, + "6640": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerCrawl" + }, + "6641": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.autoscaledPoolOptions" + }, + "6642": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.minConcurrency" + }, + "6643": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxConcurrency" + }, + "6644": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerMinute" + }, + "6645": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.keepAlive" + }, + "6646": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.useSessionPool" + }, + "6647": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sessionPoolOptions" + }, + "6648": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageLoggingInterval" + }, + "6649": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageCallback" + }, + "6650": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.retryOnBlocked" + }, + "6652": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.experiments" + }, + "6653": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statisticsOptions" + }, + "6654": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.Context" + }, + "6655": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments" + }, + "6656": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments.requestLocking" + }, + "6657": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "6687": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.__constructor" + }, + "6688": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "6689": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.Context" + }, + "6690": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "6691": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "config" + }, + "6692": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "6693": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "6694": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "6695": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "6696": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "6697": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "6698": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "6699": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "6722": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.config" + }, + "6729": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "6730": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "6731": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "6732": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "6742": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "6743": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "6744": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "6745": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "6746": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "6747": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "6748": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "6749": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "6750": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "6751": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "6752": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "6753": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "6754": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "6755": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "6756": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "6757": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "6758": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "6759": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "6760": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "6761": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "6762": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "6763": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "6764": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "6765": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "6766": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "6767": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "6768": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "6769": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "6770": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "6771": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "6862": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.Context" + }, + "6863": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions" + }, + "6864": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions.request" + }, + "6865": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions.session" + }, + "6866": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions.proxyInfo" + }, + "6867": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsOptions" + }, + "6868": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.waitForAllRequestsToBeAdded" + }, + "6869": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.batchSize" + }, + "6870": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.waitBetweenBatchesMillis" + }, + "6871": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions.forefront" + }, + "6873": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsResult" + }, + "6874": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult.addedRequests" + }, + "6875": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult.waitForAllRequestsToBeAdded" + }, + "6876": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions" + }, + "6877": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions.purgeRequestQueue" + }, + "6878": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.waitForAllRequestsToBeAdded" + }, + "6879": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.batchSize" + }, + "6880": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions.waitBetweenBatchesMillis" + }, + "6881": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions.forefront" + }, + "6883": { + "sourceFileName": "../packages/basic-crawler/src/internals/constants.ts", + "qualifiedName": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS" + }, + "6884": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "PseudoUrl" + }, + "6888": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "StorageClient" + }, + "6889": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "Cookie" + }, + "6890": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "QueueOperationInfo" + }, + "6891": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "6892": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "6894": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "6895": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "6896": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "6897": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "6898": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "6899": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "6900": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "6901": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "6902": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "6903": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "6904": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "6905": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "6906": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "6907": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "6908": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "6909": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "6912": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "6913": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "6914": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "6915": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "6916": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "6917": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "6918": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "6919": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "6920": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "6921": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "6922": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "6924": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "6925": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "6933": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "6935": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "6936": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "6937": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "6938": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "6939": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "6940": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "6941": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "6942": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "6943": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "6944": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "6945": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "6946": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "6947": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "6948": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "log" + }, + "6949": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Log" + }, + "6950": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerOptions" + }, + "6951": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LogLevel" + }, + "6952": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Logger" + }, + "6953": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerJson" + }, + "6954": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerText" + }, + "6955": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "6956": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "6957": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "6958": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "6959": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "6960": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "6961": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "6962": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "6963": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "6964": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "6966": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "6967": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "6968": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "6969": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "6975": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "6976": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "6977": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "6978": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "6979": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "6980": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "6981": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "6982": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "6983": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "6984": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV1" + }, + "6985": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueue" + }, + "6986": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "6990": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "6991": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "6992": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "6993": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "6994": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "6995": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "6996": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "6997": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "6998": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "6999": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "7001": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "7002": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "7003": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "7004": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "7005": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "7008": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "7009": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "7010": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "7011": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "7012": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "7013": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "7014": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "7016": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "7018": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "7019": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "7020": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "7022": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "7023": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "7024": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "7026": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "7032": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "7033": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "7041": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "7042": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext" + }, + "7043": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "RequestHandler" + }, + "7044": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "ErrorHandler" + }, + "7045": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams" + }, + "7046": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallback" + }, + "7047": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions" + }, + "7048": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments" + }, + "7049": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "7050": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions" + }, + "7051": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsOptions" + }, + "7052": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsResult" + }, + "7053": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions" + }, + "7054": { + "sourceFileName": "../packages/basic-crawler/src/internals/constants.ts", + "qualifiedName": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS" + }, + "7065": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext" + }, + "7066": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.browserController" + }, + "7067": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.page" + }, + "7068": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.response" + }, + "7069": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "7070": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "7071": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "7072": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "7073": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "7074": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "7075": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "7076": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "7077": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7078": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7079": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "7080": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "7081": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "7082": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "7083": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "7084": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "7085": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "7086": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "7087": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "7088": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "7089": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "7090": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7091": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7092": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "7093": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "7094": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "7095": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "7096": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "7097": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "7098": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7099": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7100": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "7101": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "7102": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "7103": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.Crawler" + }, + "7104": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.Page" + }, + "7105": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.Response" + }, + "7106": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.ProvidedController" + }, + "7107": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.UserData" + }, + "7108": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserRequestHandler" + }, + "7109": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "Context" + }, + "7110": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserErrorHandler" + }, + "7111": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "Context" + }, + "7112": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserHook" + }, + "7113": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "__type" + }, + "7114": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "__type" + }, + "7115": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "crawlingContext" + }, + "7116": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "gotoOptions" + }, + "7117": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "Context" + }, + "7118": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "GoToOptions" + }, + "7119": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions" + }, + "7120": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.launchContext" + }, + "7121": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.requestHandler" + }, + "7123": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.errorHandler" + }, + "7124": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.failedRequestHandler" + }, + "7126": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.browserPoolOptions" + }, + "7127": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.proxyConfiguration" + }, + "7128": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.preNavigationHooks" + }, + "7129": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.postNavigationHooks" + }, + "7130": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.navigationTimeoutSecs" + }, + "7131": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.persistCookiesPerSession" + }, + "7132": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.headless" + }, + "7133": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.ignoreShadowRoots" + }, + "7134": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestQueue" + }, + "7136": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestList" + }, + "7137": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestHandlerTimeoutSecs" + }, + "7139": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestRetries" + }, + "7140": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "sameDomainDelaySecs" + }, + "7141": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxSessionRotations" + }, + "7142": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestsPerCrawl" + }, + "7143": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "autoscaledPoolOptions" + }, + "7144": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "minConcurrency" + }, + "7145": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxConcurrency" + }, + "7146": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestsPerMinute" + }, + "7147": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "keepAlive" + }, + "7148": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "useSessionPool" + }, + "7149": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "sessionPoolOptions" + }, + "7150": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statusMessageLoggingInterval" + }, + "7151": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statusMessageCallback" + }, + "7152": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "retryOnBlocked" + }, + "7153": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "experiments" + }, + "7154": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statisticsOptions" + }, + "7155": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.Context" + }, + "7156": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.InternalBrowserPoolOptions" + }, + "7157": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.__BrowserPlugins" + }, + "7158": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.__BrowserControllerReturn" + }, + "7159": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.__LaunchContextReturn" + }, + "7160": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler" + }, + "7207": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.proxyConfiguration" + }, + "7208": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.browserPool" + }, + "7209": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.launchContext" + }, + "7216": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.config" + }, + "7267": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "7268": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "7269": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "7270": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "7271": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "7272": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "7273": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "7274": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "7297": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "7298": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "7299": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "7300": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "7301": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "7302": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "7303": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "7304": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "7305": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "7306": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "7307": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "7308": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "7309": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "7310": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "7311": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "7312": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "7313": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "7314": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "7315": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "7316": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "7317": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "7318": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "7319": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "7320": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "7321": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "7322": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "7323": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "7324": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "7325": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "7326": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "7327": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "7328": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "7329": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "7330": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "7408": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.InternalBrowserPoolOptions" + }, + "7409": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.LaunchOptions" + }, + "7410": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.Context" + }, + "7411": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.GoToOptions" + }, + "7412": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext" + }, + "7413": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.proxyUrl" + }, + "7414": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.useChrome" + }, + "7415": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.browserPerProxy" + }, + "7416": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.useIncognitoPages" + }, + "7417": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.experimentalContainers" + }, + "7418": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.userDataDir" + }, + "7419": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.userAgent" + }, + "7420": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.launcher" + }, + "7421": { + "sourceFileName": "../packages/browser-pool/src/abstract-classes/browser-plugin.ts", + "qualifiedName": "BrowserPluginOptions.launchOptions" + }, + "7422": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.TOptions" + }, + "7423": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.Launcher" + }, + "7477": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "PseudoUrl" + }, + "7481": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "StorageClient" + }, + "7482": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "Cookie" + }, + "7483": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "QueueOperationInfo" + }, + "7484": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "7485": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "7487": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "7488": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "7489": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "7490": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "7491": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "7492": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "7493": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "7494": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "7495": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "7496": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "7497": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "7498": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "7499": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "7500": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "7501": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "7502": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "7505": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "7506": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "7507": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "7508": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "7509": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "7510": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "7511": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "7512": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "7513": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "7514": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "7515": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "7517": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "7518": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "7526": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "7528": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "7529": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "7530": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "7531": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "7532": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "7533": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "7534": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "7535": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "7536": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "7537": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "7538": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "7539": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "7540": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "7541": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "log" + }, + "7542": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Log" + }, + "7543": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerOptions" + }, + "7544": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LogLevel" + }, + "7545": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Logger" + }, + "7546": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerJson" + }, + "7547": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerText" + }, + "7548": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "7549": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "7550": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "7551": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "7552": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "7553": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "7554": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "7555": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "7556": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "7557": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "7559": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "7560": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "7561": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "7562": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "7568": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "7569": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "7570": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "7571": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "7572": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "7573": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "7574": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "7575": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "7576": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "7577": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV1" + }, + "7578": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueue" + }, + "7579": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "7583": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "7584": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "7585": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "7586": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "7587": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "7588": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "7589": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "7590": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "7591": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "7592": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "7594": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "7595": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "7596": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "7597": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "7598": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "7601": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "7602": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "7603": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "7604": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "7605": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "7606": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "7607": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "7609": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "7611": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "7612": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "7613": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "7615": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "7616": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "7617": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "7619": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "7625": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "7626": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "7634": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "7635": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext" + }, + "7636": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "RequestHandler" + }, + "7637": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "ErrorHandler" + }, + "7638": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams" + }, + "7639": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallback" + }, + "7640": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions" + }, + "7641": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments" + }, + "7642": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "7643": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions" + }, + "7644": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsOptions" + }, + "7645": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsResult" + }, + "7646": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions" + }, + "7647": { + "sourceFileName": "../packages/basic-crawler/src/internals/constants.ts", + "qualifiedName": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS" + }, + "7648": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "createHttpRouter" + }, + "7649": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "createHttpRouter" + }, + "7650": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "Context" + }, + "7651": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "UserData" + }, + "7652": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "routes" + }, + "7653": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpErrorHandler" + }, + "7654": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "UserData" + }, + "7655": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "JSONData" + }, + "7656": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions" + }, + "7657": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.handlePageFunction" + }, + "7658": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.navigationTimeoutSecs" + }, + "7659": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.ignoreSslErrors" + }, + "7660": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.proxyConfiguration" + }, + "7661": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.preNavigationHooks" + }, + "7662": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.postNavigationHooks" + }, + "7663": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.additionalMimeTypes" + }, + "7664": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.suggestResponseEncoding" + }, + "7665": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.forceResponseEncoding" + }, + "7666": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.persistCookiesPerSession" + }, + "7667": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.ignoreHttpErrorStatusCodes" + }, + "7668": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.additionalHttpErrorStatusCodes" + }, + "7669": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandler" + }, + "7671": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestList" + }, + "7672": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestQueue" + }, + "7673": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandlerTimeoutSecs" + }, + "7675": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.errorHandler" + }, + "7676": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.failedRequestHandler" + }, + "7678": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestRetries" + }, + "7679": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sameDomainDelaySecs" + }, + "7680": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxSessionRotations" + }, + "7681": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerCrawl" + }, + "7682": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.autoscaledPoolOptions" + }, + "7683": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.minConcurrency" + }, + "7684": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxConcurrency" + }, + "7685": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerMinute" + }, + "7686": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.keepAlive" + }, + "7687": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.useSessionPool" + }, + "7688": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sessionPoolOptions" + }, + "7689": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageLoggingInterval" + }, + "7690": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageCallback" + }, + "7691": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.retryOnBlocked" + }, + "7693": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.experiments" + }, + "7694": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statisticsOptions" + }, + "7695": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.Context" + }, + "7702": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpHook" + }, + "7703": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "UserData" + }, + "7704": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "JSONData" + }, + "7752": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlingContext" + }, + "7753": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.body" + }, + "7754": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.json" + }, + "7755": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.contentType" + }, + "7756": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type" + }, + "7757": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.type" + }, + "7758": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.encoding" + }, + "7759": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.response" + }, + "7760": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.parseWithCheerio" + }, + "7761": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.parseWithCheerio" + }, + "7762": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "7763": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "7764": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "7765": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "7766": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "7767": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "7768": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "7769": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "7770": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7771": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7772": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "7773": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "7774": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "7775": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "7776": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "7777": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "7778": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "7779": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "7780": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "7781": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "7782": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "7783": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7784": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7785": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "7786": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "7787": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "7788": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "7789": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "7790": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "7791": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7792": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "7793": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "7794": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "7795": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "7796": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlingContext.UserData" + }, + "7797": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlingContext.JSONData" + }, + "7798": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpRequestHandler" + }, + "7799": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "UserData" + }, + "7800": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "JSONData" + }, + "7801": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler" + }, + "7843": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.__constructor" + }, + "7844": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler" + }, + "7845": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.Context" + }, + "7846": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "options" + }, + "7847": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "config" + }, + "7848": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.proxyConfiguration" + }, + "7860": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.config" + }, + "7861": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "7862": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "7863": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "extension" + }, + "7950": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "7951": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "7952": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "7953": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "7954": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "7955": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "7956": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "7957": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "7980": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "7981": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "7982": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "7983": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "7984": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "7985": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "7986": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "7987": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "7988": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "7989": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "7990": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "7991": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "7992": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "7993": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "7994": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "7995": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "7996": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "7997": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "7998": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "7999": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "8000": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "8001": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "8002": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "8003": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "8004": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "8005": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "8006": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "8007": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "8008": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "8009": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "8010": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "8011": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "8012": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "8013": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "8096": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.Context" + }, + "8097": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "createFileRouter" + }, + "8098": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "createFileRouter" + }, + "8099": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "Context" + }, + "8100": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "UserData" + }, + "8101": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "routes" + }, + "8102": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadErrorHandler" + }, + "8103": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "UserData" + }, + "8104": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "JSONData" + }, + "8105": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "StreamHandlerContext" + }, + "8106": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "__type" + }, + "8107": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "__type.stream" + }, + "8108": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadOptions" + }, + "8109": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "__type" + }, + "8110": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "__type.requestHandler" + }, + "8111": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "__type.streamHandler" + }, + "8112": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "__type" + }, + "8113": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "__type.requestHandler" + }, + "8114": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "__type.streamHandler" + }, + "8115": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "UserData" + }, + "8116": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "JSONData" + }, + "8117": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadHook" + }, + "8118": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "UserData" + }, + "8119": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "JSONData" + }, + "8120": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadCrawlingContext" + }, + "8121": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.body" + }, + "8122": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.json" + }, + "8123": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.contentType" + }, + "8124": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type" + }, + "8125": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.type" + }, + "8126": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.encoding" + }, + "8127": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.response" + }, + "8128": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.parseWithCheerio" + }, + "8129": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.parseWithCheerio" + }, + "8130": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "8131": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "8132": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "8133": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "8134": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "8135": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "8136": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "8137": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "8138": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8139": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8140": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "8141": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "8142": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "8143": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "8144": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "8145": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "8146": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "8147": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "8148": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "8149": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "8150": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "8151": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8152": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8153": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "8154": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "8155": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "8156": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "8157": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "8158": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "8159": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8160": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8161": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "8162": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "8163": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "8164": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadCrawlingContext.UserData" + }, + "8165": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadCrawlingContext.JSONData" + }, + "8166": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadRequestHandler" + }, + "8167": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "UserData" + }, + "8168": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "JSONData" + }, + "8169": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownload" + }, + "8211": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownload.__constructor" + }, + "8212": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownload" + }, + "8213": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "options" + }, + "8221": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.proxyConfiguration" + }, + "8233": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.config" + }, + "8234": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "8235": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "8236": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "extension" + }, + "8307": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "8308": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "8309": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "8310": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "8311": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "8312": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "8313": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "8314": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "8337": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "8338": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "8339": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "8340": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "8341": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "8342": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "8343": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "8344": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "8345": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "8346": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "8347": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "8348": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "8349": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "8350": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "8351": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "8352": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "8353": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "8354": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "8355": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "8356": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "8357": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "8358": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "8359": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "8360": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "8361": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "8362": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "8363": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "8364": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "8365": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "8366": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "8367": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "8368": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "8369": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "8370": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "8453": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "PseudoUrl" + }, + "8457": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "StorageClient" + }, + "8458": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "Cookie" + }, + "8459": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "QueueOperationInfo" + }, + "8460": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "8461": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "8463": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "8464": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "8465": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "8466": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "8467": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "8468": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "8469": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "8470": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "8471": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "8472": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "8473": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "8474": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "8475": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "8476": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "8477": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "8478": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "8481": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "8482": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "8483": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "8484": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "8485": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "8486": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "8487": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "8488": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "8489": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "8490": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "8491": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "8493": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "8494": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "8502": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "8504": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "8505": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "8506": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "8507": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "8508": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "8509": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "8510": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "8511": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "8512": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "8513": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "8514": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "8515": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "8516": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "8517": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "log" + }, + "8518": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Log" + }, + "8519": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerOptions" + }, + "8520": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LogLevel" + }, + "8521": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Logger" + }, + "8522": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerJson" + }, + "8523": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerText" + }, + "8524": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "8525": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "8526": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "8527": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "8528": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "8529": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "8530": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "8531": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "8532": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "8533": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "8535": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "8536": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "8537": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "8538": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "8544": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "8545": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "8546": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "8547": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "8548": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "8549": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "8550": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "8551": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "8552": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "8553": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV1" + }, + "8554": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueue" + }, + "8555": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "8559": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "8560": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "8561": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "8562": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "8563": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "8564": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "8565": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "8566": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "8567": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "8568": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "8570": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "8571": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "8572": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "8573": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "8574": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "8577": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "8578": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "8579": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "8580": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "8581": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "8582": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "8583": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "8585": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "8587": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "8588": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "8589": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "8591": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "8592": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "8593": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "8595": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "8601": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "8602": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "8610": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "8611": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext" + }, + "8612": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "RequestHandler" + }, + "8613": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "ErrorHandler" + }, + "8614": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams" + }, + "8615": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallback" + }, + "8616": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions" + }, + "8617": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments" + }, + "8618": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "8619": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions" + }, + "8620": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsOptions" + }, + "8621": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsResult" + }, + "8622": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions" + }, + "8623": { + "sourceFileName": "../packages/basic-crawler/src/internals/constants.ts", + "qualifiedName": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS" + }, + "8624": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "createHttpRouter" + }, + "8625": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpErrorHandler" + }, + "8626": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions" + }, + "8628": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpHook" + }, + "8630": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlingContext" + }, + "8631": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpRequestHandler" + }, + "8632": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler" + }, + "8633": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "createFileRouter" + }, + "8634": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadErrorHandler" + }, + "8635": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "StreamHandlerContext" + }, + "8636": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadOptions" + }, + "8637": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadHook" + }, + "8638": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadCrawlingContext" + }, + "8639": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadRequestHandler" + }, + "8640": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownload" + }, + "8644": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "createCheerioRouter" + }, + "8645": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "createCheerioRouter" + }, + "8646": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "Context" + }, + "8647": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "UserData" + }, + "8648": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "routes" + }, + "8649": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioErrorHandler" + }, + "8650": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "UserData" + }, + "8651": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "JSONData" + }, + "8652": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlerOptions" + }, + "8653": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.handlePageFunction" + }, + "8654": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.navigationTimeoutSecs" + }, + "8655": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.ignoreSslErrors" + }, + "8656": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.proxyConfiguration" + }, + "8657": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.preNavigationHooks" + }, + "8658": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.postNavigationHooks" + }, + "8659": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.additionalMimeTypes" + }, + "8660": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.suggestResponseEncoding" + }, + "8661": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.forceResponseEncoding" + }, + "8662": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.persistCookiesPerSession" + }, + "8663": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.ignoreHttpErrorStatusCodes" + }, + "8664": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.additionalHttpErrorStatusCodes" + }, + "8665": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandler" + }, + "8667": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestList" + }, + "8668": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestQueue" + }, + "8669": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandlerTimeoutSecs" + }, + "8671": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.errorHandler" + }, + "8672": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.failedRequestHandler" + }, + "8674": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestRetries" + }, + "8675": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sameDomainDelaySecs" + }, + "8676": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxSessionRotations" + }, + "8677": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerCrawl" + }, + "8678": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.autoscaledPoolOptions" + }, + "8679": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.minConcurrency" + }, + "8680": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxConcurrency" + }, + "8681": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerMinute" + }, + "8682": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.keepAlive" + }, + "8683": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.useSessionPool" + }, + "8684": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sessionPoolOptions" + }, + "8685": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageLoggingInterval" + }, + "8686": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageCallback" + }, + "8687": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.retryOnBlocked" + }, + "8689": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.experiments" + }, + "8690": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statisticsOptions" + }, + "8691": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlerOptions.UserData" + }, + "8692": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlerOptions.JSONData" + }, + "8693": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioHook" + }, + "8694": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "UserData" + }, + "8695": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "JSONData" + }, + "8696": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlingContext" + }, + "8697": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlingContext.$" + }, + "8698": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlingContext.parseWithCheerio" + }, + "8699": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlingContext.parseWithCheerio" + }, + "8700": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.body" + }, + "8701": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.json" + }, + "8702": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.contentType" + }, + "8703": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type" + }, + "8704": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.type" + }, + "8705": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.encoding" + }, + "8706": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.response" + }, + "8707": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "8708": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "8709": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "8710": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "8711": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "8712": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "8713": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "8714": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "8715": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8716": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8717": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "8718": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "8719": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "8720": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "8721": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "8722": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "8723": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "8724": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "8725": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "8726": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "8727": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "8728": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8729": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8730": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "8731": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "8732": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "8733": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "8734": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "8735": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "8736": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8737": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "8738": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "8739": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "8740": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "8741": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlingContext.UserData" + }, + "8742": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawlingContext.JSONData" + }, + "8743": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioRequestHandler" + }, + "8744": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "UserData" + }, + "8745": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "JSONData" + }, + "8746": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawler" + }, + "8788": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawler.__constructor" + }, + "8789": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "CheerioCrawler" + }, + "8790": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "options" + }, + "8791": { + "sourceFileName": "../packages/cheerio-crawler/src/internals/cheerio-crawler.ts", + "qualifiedName": "config" + }, + "8813": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.proxyConfiguration" + }, + "8825": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.config" + }, + "8826": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "8827": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "8828": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "extension" + }, + "8894": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "8895": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "8896": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "8897": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "8898": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "8899": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "8900": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "8901": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "8924": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "8925": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "8926": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "8927": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "8928": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "8929": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "8930": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "8931": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "8932": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "8933": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "8934": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "8935": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "8936": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "8937": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "8938": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "8939": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "8940": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "8941": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "8942": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "8943": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "8944": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "8945": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "8946": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "8947": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "8948": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "8949": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "8950": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "8951": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "8952": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "8953": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "8954": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "8955": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "8956": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "8957": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "9040": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "" + }, + "9041": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "addInterceptRequestHandler" + }, + "9042": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "addInterceptRequestHandler" + }, + "9043": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "page" + }, + "9044": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "handler" + }, + "9045": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "removeInterceptRequestHandler" + }, + "9046": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "removeInterceptRequestHandler" + }, + "9047": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "page" + }, + "9048": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "handler" + }, + "9049": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "InterceptHandler" + }, + "9050": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "__type" + }, + "9051": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "__type" + }, + "9052": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_request_interception.ts", + "qualifiedName": "request" + }, + "9053": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "InterceptHandler" + }, + "9054": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "" + }, + "9055": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "injectFile" + }, + "9056": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "injectFile" + }, + "9057": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9058": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "filePath" + }, + "9059": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9060": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "injectJQuery" + }, + "9061": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "injectJQuery" + }, + "9062": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9063": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9064": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "__type" + }, + "9065": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "__type.surviveNavigations" + }, + "9066": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "parseWithCheerio" + }, + "9067": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "parseWithCheerio" + }, + "9068": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9069": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "ignoreShadowRoots" + }, + "9070": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "blockRequests" + }, + "9071": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "blockRequests" + }, + "9072": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9073": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9080": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "cacheResponses" + }, + "9081": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "cacheResponses" + }, + "9082": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9083": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "cache" + }, + "9084": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "responseUrlRules" + }, + "9085": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "compileScript" + }, + "9086": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "compileScript" + }, + "9087": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "scriptString" + }, + "9088": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "context" + }, + "9089": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "gotoExtended" + }, + "9090": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "gotoExtended" + }, + "9091": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9092": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "request" + }, + "9093": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "gotoOptions" + }, + "9094": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "infiniteScroll" + }, + "9095": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "infiniteScroll" + }, + "9096": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9097": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9098": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "saveSnapshot" + }, + "9099": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "saveSnapshot" + }, + "9100": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9101": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9102": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "closeCookieModals" + }, + "9103": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "closeCookieModals" + }, + "9104": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9109": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "DirectNavigationOptions" + }, + "9110": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "DirectNavigationOptions.timeout" + }, + "9111": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "DirectNavigationOptions.waitUntil" + }, + "9112": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "DirectNavigationOptions.referer" + }, + "9113": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InjectFileOptions" + }, + "9114": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InjectFileOptions.surviveNavigations" + }, + "9115": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "BlockRequestsOptions" + }, + "9116": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "BlockRequestsOptions.urlPatterns" + }, + "9117": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "BlockRequestsOptions.extraUrlPatterns" + }, + "9118": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "CompiledScriptParams" + }, + "9119": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "CompiledScriptParams.page" + }, + "9120": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "CompiledScriptParams.request" + }, + "9121": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "CompiledScriptFunction" + }, + "9122": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "__type" + }, + "9123": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "__type" + }, + "9124": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "params" + }, + "9125": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "blockResources" + }, + "9126": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "blockResources" + }, + "9127": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "page" + }, + "9128": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "resourceTypes" + }, + "9129": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InfiniteScrollOptions" + }, + "9130": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InfiniteScrollOptions.timeoutSecs" + }, + "9131": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InfiniteScrollOptions.maxScrollHeight" + }, + "9132": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InfiniteScrollOptions.waitForSecs" + }, + "9133": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InfiniteScrollOptions.scrollDownAndUp" + }, + "9134": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InfiniteScrollOptions.buttonSelector" + }, + "9135": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "InfiniteScrollOptions.stopScrollCallback" + }, + "9136": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "__type" + }, + "9137": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "__type" + }, + "9138": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "SaveSnapshotOptions" + }, + "9139": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "SaveSnapshotOptions.key" + }, + "9140": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "SaveSnapshotOptions.screenshotQuality" + }, + "9141": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "SaveSnapshotOptions.saveScreenshot" + }, + "9142": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "SaveSnapshotOptions.saveHtml" + }, + "9143": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "SaveSnapshotOptions.keyValueStoreName" + }, + "9144": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "SaveSnapshotOptions.config" + }, + "9185": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "enqueueLinksByClickingElements" + }, + "9186": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "enqueueLinksByClickingElements" + }, + "9187": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "options" + }, + "9188": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "addInterceptRequestHandler" + }, + "9189": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "removeInterceptRequestHandler" + }, + "9265": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "BlockRequestsOptions" + }, + "9266": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "CompiledScriptFunction" + }, + "9267": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "CompiledScriptParams" + }, + "9268": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "PuppeteerDirectNavigationOptions" + }, + "9269": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "InfiniteScrollOptions" + }, + "9270": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "InjectFileOptions" + }, + "9271": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "SaveSnapshotOptions" + }, + "9272": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "" + }, + "9273": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "enqueueLinksByClickingElements" + }, + "9277": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "isTargetRelevant" + }, + "9278": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "isTargetRelevant" + }, + "9279": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "page" + }, + "9280": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "target" + }, + "9286": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions" + }, + "9287": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.page" + }, + "9288": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.requestQueue" + }, + "9289": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.selector" + }, + "9290": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.userData" + }, + "9291": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.label" + }, + "9292": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.clickOptions" + }, + "9293": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.globs" + }, + "9294": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.regexps" + }, + "9295": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.pseudoUrls" + }, + "9296": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.transformRequestFunction" + }, + "9297": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.waitForPageIdleSecs" + }, + "9298": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.maxWaitForPageIdleSecs" + }, + "9299": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.forefront" + }, + "9300": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.skipNavigation" + }, + "9301": { + "sourceFileName": "../packages/puppeteer-crawler/src/index.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions" + }, + "9302": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "PseudoUrl" + }, + "9306": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "StorageClient" + }, + "9307": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "Cookie" + }, + "9308": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "QueueOperationInfo" + }, + "9309": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "9310": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "9312": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "9313": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "9314": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "9315": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "9316": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "9317": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "9318": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "9319": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "9320": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "9321": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "9322": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "9323": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "9324": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "9325": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "9326": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "9327": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "9330": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "9331": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "9332": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "9333": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "9334": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "9335": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "9336": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "9337": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "9338": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "9339": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "9340": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "9342": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "9343": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "9351": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "9353": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "9354": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "9355": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "9356": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "9357": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "9358": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "9359": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "9360": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "9361": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "9362": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "9363": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "9364": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "9365": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "9366": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "log" + }, + "9367": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Log" + }, + "9368": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerOptions" + }, + "9369": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LogLevel" + }, + "9370": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Logger" + }, + "9371": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerJson" + }, + "9372": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerText" + }, + "9373": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "9374": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "9375": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "9376": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "9377": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "9378": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "9379": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "9380": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "9381": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "9382": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "9384": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "9385": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "9386": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "9387": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "9393": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "9394": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "9395": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "9396": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "9397": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "9398": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "9399": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "9400": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "9401": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "9402": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV1" + }, + "9403": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueue" + }, + "9404": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "9408": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "9409": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "9410": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "9411": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "9412": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "9413": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "9414": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "9415": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "9416": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "9417": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "9419": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "9420": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "9421": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "9422": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "9423": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "9426": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "9427": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "9428": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "9429": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "9430": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "9431": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "9432": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "9434": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "9436": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "9437": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "9438": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "9440": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "9441": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "9442": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "9444": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "9450": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "9451": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "9459": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "9460": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext" + }, + "9461": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "RequestHandler" + }, + "9462": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "ErrorHandler" + }, + "9463": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams" + }, + "9464": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallback" + }, + "9465": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions" + }, + "9466": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments" + }, + "9467": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "9468": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions" + }, + "9469": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsOptions" + }, + "9470": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsResult" + }, + "9471": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions" + }, + "9472": { + "sourceFileName": "../packages/basic-crawler/src/internals/constants.ts", + "qualifiedName": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS" + }, + "9475": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext" + }, + "9476": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserRequestHandler" + }, + "9477": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserErrorHandler" + }, + "9478": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserHook" + }, + "9479": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions" + }, + "9480": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler" + }, + "9481": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext" + }, + "9483": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "createPuppeteerRouter" + }, + "9484": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "createPuppeteerRouter" + }, + "9485": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "Context" + }, + "9486": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "UserData" + }, + "9487": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "routes" + }, + "9488": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawlingContext" + }, + "9489": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.browserController" + }, + "9490": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.page" + }, + "9491": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.response" + }, + "9492": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "9493": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "9494": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "9495": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "9496": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "9497": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "9498": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "9499": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "9500": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "9501": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "9502": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "9503": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "9504": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "9505": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "9506": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "9507": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "9508": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "9509": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "9510": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "9511": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "9512": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "9513": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "9514": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "9515": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "9516": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "9517": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "9518": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "9519": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "9520": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "9521": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "9522": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "9523": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "9524": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "9525": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "9526": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.injectFile" + }, + "9527": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.injectFile" + }, + "9528": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "filePath" + }, + "9529": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9530": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.injectJQuery" + }, + "9531": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.injectJQuery" + }, + "9532": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.parseWithCheerio" + }, + "9533": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.parseWithCheerio" + }, + "9534": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.enqueueLinksByClickingElements" + }, + "9535": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.enqueueLinksByClickingElements" + }, + "9536": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9537": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.blockRequests" + }, + "9538": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.blockRequests" + }, + "9539": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9540": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.blockResources" + }, + "9541": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.blockResources" + }, + "9542": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "resourceTypes" + }, + "9543": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.cacheResponses" + }, + "9544": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.cacheResponses" + }, + "9545": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "cache" + }, + "9546": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "responseUrlRules" + }, + "9547": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.compileScript" + }, + "9548": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.compileScript" + }, + "9549": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "scriptString" + }, + "9550": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "ctx" + }, + "9551": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.addInterceptRequestHandler" + }, + "9552": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.addInterceptRequestHandler" + }, + "9553": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "handler" + }, + "9554": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.removeInterceptRequestHandler" + }, + "9555": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.removeInterceptRequestHandler" + }, + "9556": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "handler" + }, + "9557": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.infiniteScroll" + }, + "9558": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.infiniteScroll" + }, + "9559": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9560": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.saveSnapshot" + }, + "9561": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.saveSnapshot" + }, + "9562": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "options" + }, + "9563": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.closeCookieModals" + }, + "9564": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/utils/puppeteer_utils.ts", + "qualifiedName": "PuppeteerContextUtils.closeCookieModals" + }, + "9565": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawlingContext.UserData" + }, + "9566": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerHook" + }, + "9567": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "PuppeteerHook" + }, + "9568": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "crawlingContext" + }, + "9569": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "gotoOptions" + }, + "9570": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerRequestHandler" + }, + "9571": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "PuppeteerRequestHandler" + }, + "9572": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "inputs" + }, + "9573": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerGoToOptions" + }, + "9574": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawlerOptions" + }, + "9575": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "__type" + }, + "9576": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "__type.browserPlugins" + }, + "9577": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawlerOptions.launchContext" + }, + "9578": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawlerOptions.preNavigationHooks" + }, + "9579": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawlerOptions.postNavigationHooks" + }, + "9580": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.requestHandler" + }, + "9582": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.errorHandler" + }, + "9583": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.failedRequestHandler" + }, + "9585": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.browserPoolOptions" + }, + "9586": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.proxyConfiguration" + }, + "9587": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.navigationTimeoutSecs" + }, + "9588": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.persistCookiesPerSession" + }, + "9589": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.headless" + }, + "9590": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.ignoreShadowRoots" + }, + "9591": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestQueue" + }, + "9593": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestList" + }, + "9594": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestHandlerTimeoutSecs" + }, + "9596": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestRetries" + }, + "9597": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "sameDomainDelaySecs" + }, + "9598": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxSessionRotations" + }, + "9599": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestsPerCrawl" + }, + "9600": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "autoscaledPoolOptions" + }, + "9601": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "minConcurrency" + }, + "9602": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxConcurrency" + }, + "9603": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestsPerMinute" + }, + "9604": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "keepAlive" + }, + "9605": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "useSessionPool" + }, + "9606": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "sessionPoolOptions" + }, + "9607": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statusMessageLoggingInterval" + }, + "9608": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statusMessageCallback" + }, + "9609": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "retryOnBlocked" + }, + "9610": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "experiments" + }, + "9611": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statisticsOptions" + }, + "9612": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawler" + }, + "9613": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "__type" + }, + "9614": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "__type.browserPlugins" + }, + "9653": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawler.__constructor" + }, + "9654": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawler" + }, + "9655": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "options" + }, + "9656": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "config" + }, + "9658": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "PuppeteerCrawler.config" + }, + "9666": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.proxyConfiguration" + }, + "9667": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.browserPool" + }, + "9668": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "__type" + }, + "9669": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-crawler.ts", + "qualifiedName": "__type.browserPlugins" + }, + "9670": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.launchContext" + }, + "9716": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "9717": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "9718": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "9719": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "9720": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "9721": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "9722": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "9723": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "9746": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "9747": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "9748": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "9749": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "9750": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "9751": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "9752": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "9753": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "9754": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "9755": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "9756": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "9757": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "9758": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "9759": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "9760": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "9761": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "9762": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "9763": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "9764": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "9765": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "9766": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "9767": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "9768": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "9769": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "9770": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "9771": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "9772": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "9773": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "9774": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "9775": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "9776": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "9777": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "9778": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "9779": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "9857": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "launchPuppeteer" + }, + "9858": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "launchPuppeteer" + }, + "9859": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "launchContext" + }, + "9860": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "config" + }, + "9861": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "PuppeteerLaunchContext" + }, + "9862": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "PuppeteerLaunchContext.launchOptions" + }, + "9863": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "PuppeteerLaunchContext.proxyUrl" + }, + "9864": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "PuppeteerLaunchContext.useChrome" + }, + "9865": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "PuppeteerLaunchContext.launcher" + }, + "9866": { + "sourceFileName": "../packages/puppeteer-crawler/src/internals/puppeteer-launcher.ts", + "qualifiedName": "PuppeteerLaunchContext.useIncognitoPages" + }, + "9867": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.browserPerProxy" + }, + "9868": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.experimentalContainers" + }, + "9869": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.userDataDir" + }, + "9870": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.userAgent" + }, + "9915": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "" + }, + "9916": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "injectFile" + }, + "9917": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "injectFile" + }, + "9918": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "page" + }, + "9919": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "filePath" + }, + "9920": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "9921": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "injectJQuery" + }, + "9922": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "injectJQuery" + }, + "9923": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "page" + }, + "9924": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "9925": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "__type" + }, + "9926": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "__type.surviveNavigations" + }, + "9927": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "gotoExtended" + }, + "9928": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "gotoExtended" + }, + "9929": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "page" + }, + "9930": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "request" + }, + "9931": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "gotoOptions" + }, + "9932": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "blockRequests" + }, + "9933": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "blockRequests" + }, + "9934": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "page" + }, + "9935": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "9936": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "compileScript" + }, + "9937": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "compileScript" + }, + "9938": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "scriptString" + }, + "9939": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "context" + }, + "9940": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "infiniteScroll" + }, + "9941": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "infiniteScroll" + }, + "9942": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "page" + }, + "9943": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "9944": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "saveSnapshot" + }, + "9945": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "saveSnapshot" + }, + "9946": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "page" + }, + "9947": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "9948": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "parseWithCheerio" + }, + "9949": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "parseWithCheerio" + }, + "9950": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "page" + }, + "9951": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "ignoreShadowRoots" + }, + "9952": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "closeCookieModals" + }, + "9953": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "closeCookieModals" + }, + "9954": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "page" + }, + "9955": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "registerUtilsToContext" + }, + "9956": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "registerUtilsToContext" + }, + "9957": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "context" + }, + "9958": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "crawlerOptions" + }, + "9959": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InjectFileOptions" + }, + "9960": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InjectFileOptions.surviveNavigations" + }, + "9961": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "BlockRequestsOptions" + }, + "9962": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "BlockRequestsOptions.urlPatterns" + }, + "9963": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "BlockRequestsOptions.extraUrlPatterns" + }, + "9964": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "DirectNavigationOptions" + }, + "9965": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "DirectNavigationOptions.timeout" + }, + "9966": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "DirectNavigationOptions.waitUntil" + }, + "9967": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "DirectNavigationOptions.referer" + }, + "9968": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "CompiledScriptParams" + }, + "9969": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "CompiledScriptParams.page" + }, + "9970": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "CompiledScriptParams.request" + }, + "9971": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "CompiledScriptFunction" + }, + "9972": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "__type" + }, + "9973": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "__type" + }, + "9974": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "params" + }, + "9975": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InfiniteScrollOptions" + }, + "9976": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InfiniteScrollOptions.timeoutSecs" + }, + "9977": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InfiniteScrollOptions.maxScrollHeight" + }, + "9978": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InfiniteScrollOptions.waitForSecs" + }, + "9979": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InfiniteScrollOptions.scrollDownAndUp" + }, + "9980": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InfiniteScrollOptions.buttonSelector" + }, + "9981": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "InfiniteScrollOptions.stopScrollCallback" + }, + "9982": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "__type" + }, + "9983": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "__type" + }, + "9984": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "SaveSnapshotOptions" + }, + "9985": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "SaveSnapshotOptions.key" + }, + "9986": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "SaveSnapshotOptions.screenshotQuality" + }, + "9987": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "SaveSnapshotOptions.saveScreenshot" + }, + "9988": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "SaveSnapshotOptions.saveHtml" + }, + "9989": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "SaveSnapshotOptions.keyValueStoreName" + }, + "9990": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "SaveSnapshotOptions.config" + }, + "10018": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "enqueueLinksByClickingElements" + }, + "10019": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "enqueueLinksByClickingElements" + }, + "10020": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "options" + }, + "10076": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "" + }, + "10077": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "enqueueLinksByClickingElements" + }, + "10100": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions" + }, + "10101": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.page" + }, + "10102": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.requestQueue" + }, + "10103": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.selector" + }, + "10104": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.userData" + }, + "10105": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.label" + }, + "10106": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.clickOptions" + }, + "10107": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10108": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.button" + }, + "10109": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.clickCount" + }, + "10110": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.delay" + }, + "10111": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.force" + }, + "10112": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.modifiers" + }, + "10113": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.noWaitAfter" + }, + "10114": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.position" + }, + "10115": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10116": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.x" + }, + "10117": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.y" + }, + "10118": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strict" + }, + "10119": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timeout" + }, + "10120": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.trial" + }, + "10121": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.globs" + }, + "10122": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.regexps" + }, + "10123": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.pseudoUrls" + }, + "10124": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.transformRequestFunction" + }, + "10125": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.waitForPageIdleSecs" + }, + "10126": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.maxWaitForPageIdleSecs" + }, + "10127": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.forefront" + }, + "10128": { + "sourceFileName": "../packages/playwright-crawler/src/internals/enqueue-links/click-elements.ts", + "qualifiedName": "EnqueueLinksByClickingElementsOptions.skipNavigation" + }, + "10129": { + "sourceFileName": "../packages/playwright-crawler/src/index.ts", + "qualifiedName": "PlaywrightDirectNavigationOptions" + }, + "10130": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/rendering-type-prediction.ts", + "qualifiedName": "RenderingType" + }, + "10131": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "PseudoUrl" + }, + "10135": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "StorageClient" + }, + "10136": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "Cookie" + }, + "10137": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "QueueOperationInfo" + }, + "10138": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "10139": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "10141": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "10142": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "10143": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "10144": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "10145": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "10146": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "10147": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "10148": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "10149": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "10150": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "10151": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "10152": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "10153": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "10154": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "10155": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "10156": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "10159": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "10160": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "10161": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "10162": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "10163": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "10164": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "10165": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "10166": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "10167": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "10168": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "10169": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "10171": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "10172": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "10180": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "10182": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "10183": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "10184": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "10185": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "10186": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "10187": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "10188": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "10189": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "10190": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "10191": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "10192": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "10193": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "10194": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "10195": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "log" + }, + "10196": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Log" + }, + "10197": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerOptions" + }, + "10198": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LogLevel" + }, + "10199": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Logger" + }, + "10200": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerJson" + }, + "10201": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerText" + }, + "10202": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "10203": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "10204": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "10205": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "10206": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "10207": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "10208": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "10209": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "10210": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "10211": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "10213": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "10214": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "10215": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "10216": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "10222": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "10223": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "10224": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "10225": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "10226": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "10227": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "10228": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "10229": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "10230": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "10231": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV1" + }, + "10232": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueue" + }, + "10233": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "10237": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "10238": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "10239": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "10240": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "10241": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "10242": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "10243": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "10244": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "10245": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "10246": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "10248": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "10249": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "10250": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "10251": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "10252": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "10255": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "10256": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "10257": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "10258": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "10259": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "10260": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "10261": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "10263": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "10265": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "10266": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "10267": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "10269": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "10270": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "10271": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "10273": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "10279": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "10280": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "10288": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "10289": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext" + }, + "10290": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "RequestHandler" + }, + "10291": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "ErrorHandler" + }, + "10292": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams" + }, + "10293": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallback" + }, + "10294": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions" + }, + "10295": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments" + }, + "10296": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "10297": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions" + }, + "10298": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsOptions" + }, + "10299": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsResult" + }, + "10300": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions" + }, + "10301": { + "sourceFileName": "../packages/basic-crawler/src/internals/constants.ts", + "qualifiedName": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS" + }, + "10304": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext" + }, + "10305": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserRequestHandler" + }, + "10306": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserErrorHandler" + }, + "10307": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserHook" + }, + "10308": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions" + }, + "10309": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler" + }, + "10310": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext" + }, + "10312": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "createPlaywrightRouter" + }, + "10313": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "createPlaywrightRouter" + }, + "10314": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "Context" + }, + "10315": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "UserData" + }, + "10316": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "routes" + }, + "10317": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawlingContext" + }, + "10318": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.browserController" + }, + "10319": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.page" + }, + "10320": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlingContext.response" + }, + "10321": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "10322": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "10323": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "10324": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "10325": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "10326": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "10327": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "10328": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "10329": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "10330": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "10331": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "10332": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "10333": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "10334": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "10335": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "10336": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "10337": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "10338": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "10339": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "10340": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "10341": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "10342": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "10343": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "10344": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "10345": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "10346": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "10347": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "10348": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "10349": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "10350": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "10351": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "10352": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "10353": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "10354": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "10355": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.injectFile" + }, + "10356": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.injectFile" + }, + "10357": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "filePath" + }, + "10358": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "10359": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.injectJQuery" + }, + "10360": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.injectJQuery" + }, + "10361": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.blockRequests" + }, + "10362": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.blockRequests" + }, + "10363": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "10364": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.parseWithCheerio" + }, + "10365": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.parseWithCheerio" + }, + "10366": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.infiniteScroll" + }, + "10367": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.infiniteScroll" + }, + "10368": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "10369": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.saveSnapshot" + }, + "10370": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.saveSnapshot" + }, + "10371": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "10372": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.enqueueLinksByClickingElements" + }, + "10373": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.enqueueLinksByClickingElements" + }, + "10374": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "options" + }, + "10375": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.compileScript" + }, + "10376": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.compileScript" + }, + "10377": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "scriptString" + }, + "10378": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "ctx" + }, + "10379": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.closeCookieModals" + }, + "10380": { + "sourceFileName": "../packages/playwright-crawler/src/internals/utils/playwright-utils.ts", + "qualifiedName": "PlaywrightContextUtils.closeCookieModals" + }, + "10381": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawlingContext.UserData" + }, + "10382": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightHook" + }, + "10383": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "PlaywrightHook" + }, + "10384": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "crawlingContext" + }, + "10385": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "gotoOptions" + }, + "10386": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10387": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.referer" + }, + "10388": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timeout" + }, + "10389": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.waitUntil" + }, + "10390": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightRequestHandler" + }, + "10391": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "PlaywrightRequestHandler" + }, + "10392": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "inputs" + }, + "10393": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightGotoOptions" + }, + "10394": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawlerOptions" + }, + "10395": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "__type" + }, + "10396": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "__type.browserPlugins" + }, + "10397": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawlerOptions.launchContext" + }, + "10398": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawlerOptions.requestHandler" + }, + "10400": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawlerOptions.preNavigationHooks" + }, + "10401": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawlerOptions.postNavigationHooks" + }, + "10402": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.errorHandler" + }, + "10403": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.failedRequestHandler" + }, + "10405": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.browserPoolOptions" + }, + "10406": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "10407": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10408": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "10409": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "10410": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "10411": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "10412": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "10413": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "10414": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10415": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "10417": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "10418": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "10419": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10420": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "10421": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "10422": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "10423": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "10424": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "10425": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10426": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10427": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10428": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10429": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "10430": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "10431": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "10432": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "10433": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "10434": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "10435": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "10436": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "10437": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10438": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "10439": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "10440": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10441": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10442": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "10443": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10444": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "10445": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "10446": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10447": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "10448": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "10449": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "10450": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10451": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "10452": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "10453": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10454": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10455": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10456": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "10457": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "10458": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10459": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10460": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10461": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "10462": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "10463": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10464": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "10465": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10466": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "10467": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "10468": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "10469": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10470": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "10471": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "10472": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "10473": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "10474": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "10475": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10476": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10477": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "10478": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "10479": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "10480": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "10481": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "10482": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10483": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10484": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10485": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "10486": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "10487": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10488": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10489": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10490": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "10491": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10492": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "10493": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "10494": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "10495": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "10496": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "10497": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "10498": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10499": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "10501": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "10502": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "10503": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10504": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "10505": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "10506": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "10507": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "10508": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "10509": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10510": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10511": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10512": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10513": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "10514": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "10515": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "10516": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "10517": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "10518": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "10519": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "10520": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "10521": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10522": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "10523": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "10524": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10525": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10526": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "10527": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10528": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "10529": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "10530": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10531": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "10532": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "10533": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "10534": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10535": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "10536": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "10537": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10538": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10539": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10540": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "10541": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "10542": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10543": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10544": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10545": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "10546": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "10547": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10548": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "10549": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10550": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "10551": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "10552": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "10553": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10554": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "10555": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "10556": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "10557": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "10558": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "10559": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10560": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10561": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "10562": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "10563": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "10564": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "10565": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "10566": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10567": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10568": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10569": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "10570": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "10571": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10572": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10573": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10574": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.proxyConfiguration" + }, + "10575": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.navigationTimeoutSecs" + }, + "10576": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.persistCookiesPerSession" + }, + "10577": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.headless" + }, + "10578": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawlerOptions.ignoreShadowRoots" + }, + "10579": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestQueue" + }, + "10581": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestList" + }, + "10582": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestHandlerTimeoutSecs" + }, + "10584": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestRetries" + }, + "10585": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "sameDomainDelaySecs" + }, + "10586": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxSessionRotations" + }, + "10587": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestsPerCrawl" + }, + "10588": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "autoscaledPoolOptions" + }, + "10589": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "minConcurrency" + }, + "10590": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxConcurrency" + }, + "10591": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestsPerMinute" + }, + "10592": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "keepAlive" + }, + "10593": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "useSessionPool" + }, + "10594": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "sessionPoolOptions" + }, + "10595": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statusMessageLoggingInterval" + }, + "10596": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statusMessageCallback" + }, + "10597": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "retryOnBlocked" + }, + "10598": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "experiments" + }, + "10599": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statisticsOptions" + }, + "10600": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawler" + }, + "10601": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "__type" + }, + "10602": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "__type.browserPlugins" + }, + "10642": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawler.__constructor" + }, + "10643": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawler" + }, + "10644": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "options" + }, + "10645": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "config" + }, + "10647": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "PlaywrightCrawler.config" + }, + "10655": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.proxyConfiguration" + }, + "10656": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.browserPool" + }, + "10657": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "__type" + }, + "10658": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "__type.browserPlugins" + }, + "10659": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "10660": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10661": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "10662": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "10663": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "10664": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "10665": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "10666": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "10667": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10668": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "10670": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "10671": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "10672": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10673": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "10674": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "10675": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "10676": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "10677": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "10678": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10679": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10680": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10681": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10682": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "10683": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "10684": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "10685": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "10686": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "10687": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "10688": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "10689": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "10690": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10691": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "10692": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "10693": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10694": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10695": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "10696": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10697": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "10698": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "10699": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10700": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "10701": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "10702": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "10703": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10704": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "10705": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "10706": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10707": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10708": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10709": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "10710": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "10711": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10712": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10713": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10714": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "10715": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "10716": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10717": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "10718": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10719": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "10720": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "10721": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "10722": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10723": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "10724": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "10725": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "10726": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "10727": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "10728": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10729": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10730": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "10731": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10732": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "10733": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "10734": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "10735": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "10736": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "10737": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "10738": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10739": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10740": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10741": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "10742": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "10743": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10744": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10745": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10746": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "10747": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10748": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "10749": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "10750": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "10751": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "10752": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "10753": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "10754": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10755": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "10757": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "10758": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "10759": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10760": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "10761": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "10762": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "10763": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "10764": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "10765": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10766": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10767": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10768": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10769": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "10770": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "10771": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "10772": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "10773": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "10774": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "10775": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "10776": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "10777": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10778": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "10779": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "10780": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10781": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10782": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "10783": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10784": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "10785": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "10786": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10787": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "10788": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "10789": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "10790": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10791": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "10792": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "10793": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10794": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10795": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10796": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "10797": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "10798": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10799": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10800": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10801": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "10802": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "10803": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10804": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "10805": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10806": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "10807": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "10808": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "10809": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10810": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "10811": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "10812": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "10813": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "10814": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "10815": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10816": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10817": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "10818": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10819": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "10820": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "10821": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "10822": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "10823": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "10824": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "10825": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10826": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10827": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10828": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "10829": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "10830": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10831": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10832": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10833": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10834": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "10835": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "10836": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "10837": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "10838": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "10839": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "10840": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10841": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "10843": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "10844": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "10845": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10846": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "10847": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "10848": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "10849": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "10850": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "10851": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10852": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10853": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10854": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10855": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "10856": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "10857": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "10858": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "10859": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "10860": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "10861": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "10862": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "10863": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10864": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "10865": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "10866": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "10867": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "10868": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "10869": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10870": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "10871": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "10872": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10873": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "10874": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "10875": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "10876": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10877": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "10878": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "10879": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10880": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10881": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10882": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "10883": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "10884": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10885": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10886": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10887": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "10888": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "10889": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10890": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "10891": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10892": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "10893": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "10894": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "10895": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "10896": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "10897": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "10898": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "10899": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "10900": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "10901": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10902": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "10903": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "10904": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10905": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "10906": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "10907": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "10908": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "10909": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "10910": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "10911": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10912": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10913": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10914": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "10915": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "10916": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "10917": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "10918": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "10919": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.launchContext" + }, + "10965": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "10966": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "10967": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "10968": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "10969": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "10970": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "10971": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "10972": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "10995": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "10996": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "10997": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "10998": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "10999": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "11000": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "11001": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "11002": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "11003": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "11004": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "11005": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "11006": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "11007": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "11008": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "11009": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "11010": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "11011": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "11012": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "11013": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "11014": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "11015": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "11016": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "11017": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "11018": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "11019": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "11020": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "11021": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "11022": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "11023": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "11024": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "11025": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "11026": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "11027": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "11028": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "11106": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "launchPlaywright" + }, + "11107": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "launchPlaywright" + }, + "11108": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "launchContext" + }, + "11109": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "config" + }, + "11110": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "PlaywrightLaunchContext" + }, + "11111": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "PlaywrightLaunchContext.launchOptions" + }, + "11112": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "PlaywrightLaunchContext.proxyUrl" + }, + "11113": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "PlaywrightLaunchContext.useChrome" + }, + "11114": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "PlaywrightLaunchContext.useIncognitoPages" + }, + "11115": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "PlaywrightLaunchContext.experimentalContainers" + }, + "11116": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "PlaywrightLaunchContext.userDataDir" + }, + "11117": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-launcher.ts", + "qualifiedName": "PlaywrightLaunchContext.launcher" + }, + "11118": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "11119": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.browserPerProxy" + }, + "11120": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-launcher.ts", + "qualifiedName": "BrowserLaunchContext.userAgent" + }, + "11166": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "createAdaptivePlaywrightRouter" + }, + "11167": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "createAdaptivePlaywrightRouter" + }, + "11168": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "Context" + }, + "11169": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "UserData" + }, + "11170": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "routes" + }, + "11171": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerContext" + }, + "11172": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerContext.querySelector" + }, + "11173": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11174": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11175": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "selector" + }, + "11176": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "timeoutMs" + }, + "11177": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "11178": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "11179": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "11180": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "11181": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "11182": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.enqueueLinks" + }, + "11183": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "11184": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "11185": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "11186": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "11187": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "11188": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "11189": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "11190": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "11191": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "11192": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "11193": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "11194": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "11195": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "11196": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "11197": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "11198": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "11199": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.getKeyValueStore" + }, + "11200": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "11201": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "11202": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "11203": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "11204": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerOptions" + }, + "11205": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerOptions.requestHandler" + }, + "11206": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11207": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11208": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "crawlingContext" + }, + "11209": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerOptions.renderingTypeDetectionRatio" + }, + "11210": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerOptions.resultChecker" + }, + "11211": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11212": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11213": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "result" + }, + "11214": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerOptions.resultComparator" + }, + "11215": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11216": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11217": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "resultA" + }, + "11218": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "resultB" + }, + "11219": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawlerOptions.renderingTypePredictor" + }, + "11220": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "headless" + }, + "11221": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestQueue" + }, + "11223": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "failedRequestHandler" + }, + "11225": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "errorHandler" + }, + "11226": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestList" + }, + "11227": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requestHandlerTimeoutSecs" + }, + "11229": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestRetries" + }, + "11230": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "sameDomainDelaySecs" + }, + "11231": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxSessionRotations" + }, + "11232": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestsPerCrawl" + }, + "11233": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "autoscaledPoolOptions" + }, + "11234": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "minConcurrency" + }, + "11235": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxConcurrency" + }, + "11236": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "maxRequestsPerMinute" + }, + "11237": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "keepAlive" + }, + "11238": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "useSessionPool" + }, + "11239": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "sessionPoolOptions" + }, + "11240": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statusMessageLoggingInterval" + }, + "11241": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statusMessageCallback" + }, + "11242": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "retryOnBlocked" + }, + "11243": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "experiments" + }, + "11244": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "statisticsOptions" + }, + "11245": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "navigationTimeoutSecs" + }, + "11246": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "proxyConfiguration" + }, + "11247": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "preNavigationHooks" + }, + "11248": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "postNavigationHooks" + }, + "11249": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "persistCookiesPerSession" + }, + "11250": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "launchContext" + }, + "11251": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "browserPoolOptions" + }, + "11252": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "11253": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11254": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "11255": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "11256": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "11257": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "11258": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "11259": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "11260": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11261": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "11263": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "11264": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "11265": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11266": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "11267": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "11268": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "11269": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "11270": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "11271": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11272": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11273": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11274": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11275": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "11276": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "11277": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "11278": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "11279": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "11280": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "11281": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "11282": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "11283": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11284": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "11285": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "11286": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11287": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11288": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "11289": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11290": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "11291": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "11292": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11293": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "11294": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "11295": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "11296": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11297": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "11298": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "11299": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11300": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11301": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11302": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "11303": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "11304": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11305": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11306": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11307": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "11308": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "11309": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11310": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "11311": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11312": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "11313": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "11314": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "11315": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11316": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "11317": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "11318": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "11319": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "11320": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "11321": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11322": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11323": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "11324": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "11325": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "11326": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "11327": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "11328": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11329": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11330": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11331": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "11332": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "11333": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11334": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11335": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11336": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "11337": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11338": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "11339": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "11340": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "11341": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "11342": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "11343": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "11344": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11345": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "11347": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "11348": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "11349": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11350": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "11351": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "11352": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "11353": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "11354": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "11355": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11356": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11357": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11358": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11359": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "11360": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "11361": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "11362": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "11363": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "11364": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "11365": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "11366": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "11367": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11368": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "11369": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "11370": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11371": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11372": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "11373": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11374": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "11375": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "11376": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11377": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "11378": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "11379": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "11380": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11381": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "11382": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "11383": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11384": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11385": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11386": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "11387": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "11388": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11389": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11390": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11391": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "11392": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "11393": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11394": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "11395": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11396": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "11397": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "11398": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "11399": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11400": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "11401": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "11402": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "11403": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "11404": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "11405": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11406": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11407": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "11408": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "11409": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "11410": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "11411": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "11412": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11413": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11414": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11415": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "11416": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "11417": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11418": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11419": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11420": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "ignoreShadowRoots" + }, + "11421": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawler" + }, + "11461": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawler.__constructor" + }, + "11462": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawler" + }, + "11463": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "__0" + }, + "11464": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "config" + }, + "11479": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawler.stats" + }, + "11480": { + "sourceFileName": "../packages/playwright-crawler/src/internals/adaptive-playwright-crawler.ts", + "qualifiedName": "AdaptivePlaywrightCrawler.config" + }, + "11509": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.proxyConfiguration" + }, + "11510": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.browserPool" + }, + "11511": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "__type" + }, + "11512": { + "sourceFileName": "../packages/playwright-crawler/src/internals/playwright-crawler.ts", + "qualifiedName": "__type.browserPlugins" + }, + "11513": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "11514": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11515": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "11516": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "11517": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "11518": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "11519": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "11520": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "11521": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11522": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "11524": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "11525": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "11526": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11527": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "11528": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "11529": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "11530": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "11531": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "11532": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11533": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11534": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11535": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11536": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "11537": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "11538": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "11539": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "11540": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "11541": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "11542": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "11543": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "11544": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11545": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "11546": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "11547": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11548": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11549": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "11550": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11551": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "11552": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "11553": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11554": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "11555": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "11556": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "11557": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11558": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "11559": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "11560": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11561": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11562": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11563": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "11564": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "11565": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11566": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11567": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11568": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "11569": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "11570": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11571": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "11572": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11573": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "11574": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "11575": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "11576": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11577": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "11578": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "11579": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "11580": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "11581": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "11582": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11583": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11584": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "11585": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11586": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "11587": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "11588": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "11589": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "11590": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "11591": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "11592": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11593": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11594": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11595": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "11596": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "11597": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11598": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11599": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11600": { + "sourceFileName": "", + "qualifiedName": "__type" + }, + "11601": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11602": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "11603": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "11604": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "11605": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "11606": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "11607": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "11608": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11609": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "11611": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "11612": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "11613": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11614": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "11615": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "11616": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "11617": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "11618": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "11619": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11620": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11621": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11622": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11623": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "11624": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "11625": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "11626": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "11627": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "11628": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "11629": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "11630": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "11631": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11632": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "11633": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "11634": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11635": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11636": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "11637": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11638": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "11639": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "11640": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11641": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "11642": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "11643": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "11644": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11645": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "11646": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "11647": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11648": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11649": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11650": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "11651": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "11652": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11653": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11654": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11655": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "11656": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "11657": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11658": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "11659": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11660": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "11661": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "11662": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "11663": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11664": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "11665": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "11666": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "11667": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "11668": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "11669": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11670": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11671": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "11672": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11673": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "11674": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "11675": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "11676": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "11677": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "11678": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "11679": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11680": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11681": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11682": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "11683": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "11684": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11685": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11686": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11687": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11688": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.acceptDownloads" + }, + "11689": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.baseURL" + }, + "11690": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypassCSP" + }, + "11691": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.colorScheme" + }, + "11692": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.deviceScaleFactor" + }, + "11693": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.extraHTTPHeaders" + }, + "11694": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11695": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.__index" + }, + "11697": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.forcedColors" + }, + "11698": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.geolocation" + }, + "11699": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11700": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.latitude" + }, + "11701": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.longitude" + }, + "11702": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.accuracy" + }, + "11703": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.hasTouch" + }, + "11704": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpCredentials" + }, + "11705": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11706": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11707": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11708": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11709": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.ignoreHTTPSErrors" + }, + "11710": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.isMobile" + }, + "11711": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.javaScriptEnabled" + }, + "11712": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.locale" + }, + "11713": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.logger" + }, + "11714": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.offline" + }, + "11715": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.permissions" + }, + "11716": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.proxy" + }, + "11717": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11718": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.server" + }, + "11719": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.bypass" + }, + "11720": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.username" + }, + "11721": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.password" + }, + "11722": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordHar" + }, + "11723": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11724": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.omitContent" + }, + "11725": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.content" + }, + "11726": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11727": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.mode" + }, + "11728": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.urlFilter" + }, + "11729": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.recordVideo" + }, + "11730": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11731": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.dir" + }, + "11732": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.size" + }, + "11733": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11734": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11735": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11736": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.reducedMotion" + }, + "11737": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.screen" + }, + "11738": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11739": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11740": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11741": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.serviceWorkers" + }, + "11742": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.storageState" + }, + "11743": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11744": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.cookies" + }, + "11745": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11746": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "11747": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "11748": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.domain" + }, + "11749": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.path" + }, + "11750": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.expires" + }, + "11751": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.httpOnly" + }, + "11752": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.secure" + }, + "11753": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.sameSite" + }, + "11754": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origins" + }, + "11755": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11756": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.origin" + }, + "11757": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.localStorage" + }, + "11758": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11759": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.name" + }, + "11760": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.value" + }, + "11761": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.strictSelectors" + }, + "11762": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.timezoneId" + }, + "11763": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.userAgent" + }, + "11764": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videoSize" + }, + "11765": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11766": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11767": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11768": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.videosPath" + }, + "11769": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.viewport" + }, + "11770": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type" + }, + "11771": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.width" + }, + "11772": { + "sourceFileName": "../node_modules/playwright-core/types/types.d.ts", + "qualifiedName": "__type.height" + }, + "11773": { + "sourceFileName": "../packages/browser-crawler/src/internals/browser-crawler.ts", + "qualifiedName": "BrowserCrawler.launchContext" + }, + "11819": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "11820": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "11821": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "11822": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "11823": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "11824": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "11825": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "11848": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "11849": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "11850": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "11851": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "11852": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "11853": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "11854": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "11855": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "11856": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "11857": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "11858": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "11859": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "11860": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "11861": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "11862": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "11863": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "11864": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "11865": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "11866": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "11867": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "11868": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "11869": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "11870": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "11871": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "11872": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "11873": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "11874": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "11875": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "11876": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "11877": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "11878": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "11879": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "11880": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "11881": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "11959": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "PseudoUrl" + }, + "11963": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "StorageClient" + }, + "11964": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "Cookie" + }, + "11965": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "QueueOperationInfo" + }, + "11966": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "11967": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "11969": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "11970": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "11971": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "11972": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "11973": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "11974": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "11975": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "11976": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "11977": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "11978": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "11979": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "11980": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "11981": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "11982": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "11983": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "11984": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "11987": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "11988": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "11989": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "11990": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "11991": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "11992": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "11993": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "11994": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "11995": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "11996": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "11997": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "11999": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "12000": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "12008": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "12010": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "12011": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "12012": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "12013": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "12014": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "12015": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "12016": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "12017": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "12018": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "12019": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "12020": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "12021": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "12022": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "12023": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "log" + }, + "12024": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Log" + }, + "12025": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerOptions" + }, + "12026": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LogLevel" + }, + "12027": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Logger" + }, + "12028": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerJson" + }, + "12029": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerText" + }, + "12030": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "12031": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "12032": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "12033": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "12034": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "12035": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "12036": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "12037": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "12038": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "12039": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "12041": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "12042": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "12043": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "12044": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "12050": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "12051": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "12052": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "12053": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "12054": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "12055": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "12056": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "12057": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "12058": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "12059": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV1" + }, + "12060": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueue" + }, + "12061": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "12065": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "12066": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "12067": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "12068": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "12069": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "12070": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "12071": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "12072": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "12073": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "12074": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "12076": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "12077": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "12078": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "12079": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "12080": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "12083": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "12084": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "12085": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "12086": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "12087": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "12088": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "12089": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "12091": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "12093": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "12094": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "12095": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "12097": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "12098": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "12099": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "12101": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "12107": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "12108": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "12116": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "12117": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext" + }, + "12118": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "RequestHandler" + }, + "12119": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "ErrorHandler" + }, + "12120": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams" + }, + "12121": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallback" + }, + "12122": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions" + }, + "12123": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments" + }, + "12124": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "12125": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions" + }, + "12126": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsOptions" + }, + "12127": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsResult" + }, + "12128": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions" + }, + "12129": { + "sourceFileName": "../packages/basic-crawler/src/internals/constants.ts", + "qualifiedName": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS" + }, + "12130": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "createHttpRouter" + }, + "12131": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpErrorHandler" + }, + "12132": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions" + }, + "12134": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpHook" + }, + "12136": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlingContext" + }, + "12137": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpRequestHandler" + }, + "12138": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler" + }, + "12139": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "createFileRouter" + }, + "12140": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadErrorHandler" + }, + "12141": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "StreamHandlerContext" + }, + "12142": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadOptions" + }, + "12143": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadHook" + }, + "12144": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadCrawlingContext" + }, + "12145": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadRequestHandler" + }, + "12146": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownload" + }, + "12150": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "createJSDOMRouter" + }, + "12151": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "createJSDOMRouter" + }, + "12152": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "Context" + }, + "12153": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "UserData" + }, + "12154": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "routes" + }, + "12155": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMErrorHandler" + }, + "12156": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "UserData" + }, + "12157": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSONData" + }, + "12158": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlerOptions" + }, + "12159": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlerOptions.runScripts" + }, + "12160": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlerOptions.hideInternalConsole" + }, + "12161": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.handlePageFunction" + }, + "12162": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.navigationTimeoutSecs" + }, + "12163": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.ignoreSslErrors" + }, + "12164": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.proxyConfiguration" + }, + "12165": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.preNavigationHooks" + }, + "12166": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.postNavigationHooks" + }, + "12167": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.additionalMimeTypes" + }, + "12168": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.suggestResponseEncoding" + }, + "12169": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.forceResponseEncoding" + }, + "12170": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.persistCookiesPerSession" + }, + "12171": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.ignoreHttpErrorStatusCodes" + }, + "12172": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.additionalHttpErrorStatusCodes" + }, + "12173": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandler" + }, + "12175": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestList" + }, + "12176": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestQueue" + }, + "12177": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandlerTimeoutSecs" + }, + "12179": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.errorHandler" + }, + "12180": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.failedRequestHandler" + }, + "12182": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestRetries" + }, + "12183": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sameDomainDelaySecs" + }, + "12184": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxSessionRotations" + }, + "12185": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerCrawl" + }, + "12186": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.autoscaledPoolOptions" + }, + "12187": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.minConcurrency" + }, + "12188": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxConcurrency" + }, + "12189": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerMinute" + }, + "12190": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.keepAlive" + }, + "12191": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.useSessionPool" + }, + "12192": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sessionPoolOptions" + }, + "12193": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageLoggingInterval" + }, + "12194": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageCallback" + }, + "12195": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.retryOnBlocked" + }, + "12197": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.experiments" + }, + "12198": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statisticsOptions" + }, + "12199": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlerOptions.UserData" + }, + "12200": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlerOptions.JSONData" + }, + "12201": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMHook" + }, + "12202": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "UserData" + }, + "12203": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSONData" + }, + "12204": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlingContext" + }, + "12205": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlingContext.window" + }, + "12206": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlingContext.document" + }, + "12207": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlingContext.parseWithCheerio" + }, + "12208": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlingContext.parseWithCheerio" + }, + "12209": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.body" + }, + "12210": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.json" + }, + "12211": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.contentType" + }, + "12212": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type" + }, + "12213": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.type" + }, + "12214": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.encoding" + }, + "12215": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.response" + }, + "12216": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "12217": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "12218": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "12219": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "12220": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "12221": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "12222": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "12223": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "12224": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12225": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12226": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "12227": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "12228": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "12229": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "12230": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "12231": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "12232": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "12233": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "12234": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "12235": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "12236": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "12237": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12238": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12239": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "12240": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "12241": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "12242": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "12243": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "12244": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "12245": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12246": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12247": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "12248": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "12249": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "12250": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlingContext.UserData" + }, + "12251": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawlingContext.JSONData" + }, + "12252": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMRequestHandler" + }, + "12253": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "UserData" + }, + "12254": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSONData" + }, + "12255": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawler" + }, + "12299": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawler.__constructor" + }, + "12300": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawler" + }, + "12301": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "options" + }, + "12302": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "config" + }, + "12306": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawler.getVirtualConsole" + }, + "12307": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawler.getVirtualConsole" + }, + "12329": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawler._runRequestHandler" + }, + "12330": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "JSDOMCrawler._runRequestHandler" + }, + "12331": { + "sourceFileName": "../packages/jsdom-crawler/src/internals/jsdom-crawler.ts", + "qualifiedName": "context" + }, + "12332": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.proxyConfiguration" + }, + "12344": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.config" + }, + "12345": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "12346": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "12347": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "extension" + }, + "12413": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "12414": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "12415": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "12416": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "12417": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "12418": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "12419": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "12420": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "12443": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "12444": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "12445": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "12446": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "12447": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "12448": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "12449": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "12450": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "12451": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "12452": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "12453": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "12454": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "12455": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "12456": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "12457": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "12458": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "12459": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "12460": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "12461": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "12462": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "12463": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "12464": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "12465": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "12466": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "12467": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "12468": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "12469": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "12470": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "12471": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "12472": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "12473": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "12474": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "12475": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "12476": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "12556": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "PseudoUrl" + }, + "12560": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "StorageClient" + }, + "12561": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "Cookie" + }, + "12562": { + "sourceFileName": "../packages/core/src/index.ts", + "qualifiedName": "QueueOperationInfo" + }, + "12563": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "NonRetryableError" + }, + "12564": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "CriticalError" + }, + "12566": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "RetryRequestError" + }, + "12567": { + "sourceFileName": "../packages/core/src/errors.ts", + "qualifiedName": "SessionError" + }, + "12568": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPoolOptions" + }, + "12569": { + "sourceFileName": "../packages/core/src/autoscaling/autoscaled_pool.ts", + "qualifiedName": "AutoscaledPool" + }, + "12570": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "SnapshotterOptions" + }, + "12571": { + "sourceFileName": "../packages/core/src/autoscaling/snapshotter.ts", + "qualifiedName": "Snapshotter" + }, + "12572": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemInfo" + }, + "12573": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatusOptions" + }, + "12574": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "ClientInfo" + }, + "12575": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "FinalStatistics" + }, + "12576": { + "sourceFileName": "../packages/core/src/autoscaling/system_status.ts", + "qualifiedName": "SystemStatus" + }, + "12577": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "ConfigurationOptions" + }, + "12578": { + "sourceFileName": "../packages/core/src/configuration.ts", + "qualifiedName": "Configuration" + }, + "12579": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext" + }, + "12580": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext" + }, + "12581": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RequestHandlerResult" + }, + "12584": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "PersistenceOptions" + }, + "12585": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "Statistics" + }, + "12586": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticsOptions" + }, + "12587": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticPersistedState" + }, + "12588": { + "sourceFileName": "../packages/core/src/crawlers/statistics.ts", + "qualifiedName": "StatisticState" + }, + "12589": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrnoException" + }, + "12590": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTrackerOptions" + }, + "12591": { + "sourceFileName": "../packages/core/src/crawlers/error_tracker.ts", + "qualifiedName": "ErrorTracker" + }, + "12592": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "SnapshotResult" + }, + "12593": { + "sourceFileName": "../packages/core/src/crawlers/error_snapshotter.ts", + "qualifiedName": "ErrorSnapshotter" + }, + "12594": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "enqueueLinks" + }, + "12596": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueLinksOptions" + }, + "12597": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "EnqueueStrategy" + }, + "12605": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "filterRequestsByPatterns" + }, + "12607": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "12608": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "UrlPatternObject" + }, + "12609": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlObject" + }, + "12610": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "PseudoUrlInput" + }, + "12611": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobObject" + }, + "12612": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "GlobInput" + }, + "12613": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpObject" + }, + "12614": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RegExpInput" + }, + "12615": { + "sourceFileName": "../packages/core/src/enqueue_links/shared.ts", + "qualifiedName": "RequestTransform" + }, + "12616": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventType" + }, + "12617": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventTypeName" + }, + "12618": { + "sourceFileName": "../packages/core/src/events/event_manager.ts", + "qualifiedName": "EventManager" + }, + "12619": { + "sourceFileName": "../packages/core/src/events/local_event_manager.ts", + "qualifiedName": "LocalEventManager" + }, + "12620": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "log" + }, + "12621": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Log" + }, + "12622": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerOptions" + }, + "12623": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LogLevel" + }, + "12624": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "Logger" + }, + "12625": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerJson" + }, + "12626": { + "sourceFileName": "../packages/core/src/log.ts", + "qualifiedName": "LoggerText" + }, + "12627": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationFunction" + }, + "12628": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfigurationOptions" + }, + "12629": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "TieredProxy" + }, + "12630": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyInfo" + }, + "12631": { + "sourceFileName": "../packages/core/src/proxy_configuration.ts", + "qualifiedName": "ProxyConfiguration" + }, + "12632": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestState" + }, + "12633": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Request" + }, + "12634": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "RequestOptions" + }, + "12635": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "PushErrorMessageOptions" + }, + "12636": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "Source" + }, + "12638": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterHandler" + }, + "12639": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "GetUserDataFromRequest" + }, + "12640": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "RouterRoutes" + }, + "12641": { + "sourceFileName": "../packages/core/src/router.ts", + "qualifiedName": "Router" + }, + "12647": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionState" + }, + "12648": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "SessionOptions" + }, + "12649": { + "sourceFileName": "../packages/core/src/session_pool/session.ts", + "qualifiedName": "Session" + }, + "12650": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "CreateSession" + }, + "12651": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPoolOptions" + }, + "12652": { + "sourceFileName": "../packages/core/src/session_pool/session_pool.ts", + "qualifiedName": "SessionPool" + }, + "12653": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "BLOCKED_STATUS_CODES" + }, + "12654": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "PERSIST_STATE_KEY" + }, + "12655": { + "sourceFileName": "../packages/core/src/session_pool/consts.ts", + "qualifiedName": "MAX_POOL_SIZE" + }, + "12656": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV1" + }, + "12657": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueue" + }, + "12658": { + "sourceFileName": "../packages/core/src/storages/index.ts", + "qualifiedName": "RequestQueueV2" + }, + "12662": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetDataOptions" + }, + "12663": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportOptions" + }, + "12664": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetIteratorOptions" + }, + "12665": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetExportToOptions" + }, + "12666": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "Dataset" + }, + "12667": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetConsumer" + }, + "12668": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetMapper" + }, + "12669": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetReducer" + }, + "12670": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetOptions" + }, + "12671": { + "sourceFileName": "../packages/core/src/storages/dataset.ts", + "qualifiedName": "DatasetContent" + }, + "12673": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStore" + }, + "12674": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyConsumer" + }, + "12675": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreOptions" + }, + "12676": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "RecordOptions" + }, + "12677": { + "sourceFileName": "../packages/core/src/storages/key_value_store.ts", + "qualifiedName": "KeyValueStoreIteratorOptions" + }, + "12680": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListOptions" + }, + "12681": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestList" + }, + "12682": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListState" + }, + "12683": { + "sourceFileName": "../packages/core/src/storages/request_list.ts", + "qualifiedName": "RequestListSourcesFunction" + }, + "12684": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProvider" + }, + "12685": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestProviderOptions" + }, + "12686": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOptions" + }, + "12688": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "RequestQueueOperationOptions" + }, + "12690": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedOptions" + }, + "12691": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "AddRequestsBatchedResult" + }, + "12692": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "IStorage" + }, + "12694": { + "sourceFileName": "../packages/core/src/storages/storage_manager.ts", + "qualifiedName": "StorageManagerOptions" + }, + "12695": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "purgeDefaultStorages" + }, + "12696": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "useState" + }, + "12698": { + "sourceFileName": "../packages/core/src/storages/utils.ts", + "qualifiedName": "UseStateOptions" + }, + "12704": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "checkStorageAccess" + }, + "12705": { + "sourceFileName": "../packages/core/src/storages/access_checking.ts", + "qualifiedName": "withCheckedStorageAccess" + }, + "12713": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "createBasicRouter" + }, + "12714": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlingContext" + }, + "12715": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "RequestHandler" + }, + "12716": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "ErrorHandler" + }, + "12717": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallbackParams" + }, + "12718": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "StatusMessageCallback" + }, + "12719": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions" + }, + "12720": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerExperiments" + }, + "12721": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler" + }, + "12722": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CreateContextOptions" + }, + "12723": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsOptions" + }, + "12724": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerAddRequestsResult" + }, + "12725": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "CrawlerRunOptions" + }, + "12726": { + "sourceFileName": "../packages/basic-crawler/src/internals/constants.ts", + "qualifiedName": "BASIC_CRAWLER_TIMEOUT_BUFFER_SECS" + }, + "12727": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "createHttpRouter" + }, + "12728": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpErrorHandler" + }, + "12729": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions" + }, + "12731": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpHook" + }, + "12733": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlingContext" + }, + "12734": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpRequestHandler" + }, + "12735": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler" + }, + "12736": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "createFileRouter" + }, + "12737": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadErrorHandler" + }, + "12738": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "StreamHandlerContext" + }, + "12739": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadOptions" + }, + "12740": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadHook" + }, + "12741": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadCrawlingContext" + }, + "12742": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownloadRequestHandler" + }, + "12743": { + "sourceFileName": "../packages/http-crawler/src/internals/file-download.ts", + "qualifiedName": "FileDownload" + }, + "12747": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "createLinkeDOMRouter" + }, + "12748": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "createLinkeDOMRouter" + }, + "12749": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "Context" + }, + "12750": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "UserData" + }, + "12751": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "routes" + }, + "12752": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMErrorHandler" + }, + "12753": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "UserData" + }, + "12754": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "JSONData" + }, + "12755": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlerOptions" + }, + "12756": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.handlePageFunction" + }, + "12757": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.navigationTimeoutSecs" + }, + "12758": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.ignoreSslErrors" + }, + "12759": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.proxyConfiguration" + }, + "12760": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.preNavigationHooks" + }, + "12761": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.postNavigationHooks" + }, + "12762": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.additionalMimeTypes" + }, + "12763": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.suggestResponseEncoding" + }, + "12764": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.forceResponseEncoding" + }, + "12765": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.persistCookiesPerSession" + }, + "12766": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.ignoreHttpErrorStatusCodes" + }, + "12767": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawlerOptions.additionalHttpErrorStatusCodes" + }, + "12768": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandler" + }, + "12770": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestList" + }, + "12771": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestQueue" + }, + "12772": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.requestHandlerTimeoutSecs" + }, + "12774": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.errorHandler" + }, + "12775": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.failedRequestHandler" + }, + "12777": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestRetries" + }, + "12778": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sameDomainDelaySecs" + }, + "12779": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxSessionRotations" + }, + "12780": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerCrawl" + }, + "12781": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.autoscaledPoolOptions" + }, + "12782": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.minConcurrency" + }, + "12783": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxConcurrency" + }, + "12784": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.maxRequestsPerMinute" + }, + "12785": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.keepAlive" + }, + "12786": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.useSessionPool" + }, + "12787": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.sessionPoolOptions" + }, + "12788": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageLoggingInterval" + }, + "12789": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statusMessageCallback" + }, + "12790": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.retryOnBlocked" + }, + "12792": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.experiments" + }, + "12793": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawlerOptions.statisticsOptions" + }, + "12794": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlerOptions.UserData" + }, + "12795": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlerOptions.JSONData" + }, + "12796": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlerEnqueueLinksOptions" + }, + "12797": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "limit" + }, + "12798": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "selector" + }, + "12799": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "userData" + }, + "12800": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "label" + }, + "12801": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "skipNavigation" + }, + "12802": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "baseUrl" + }, + "12803": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "globs" + }, + "12804": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "exclude" + }, + "12805": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "regexps" + }, + "12806": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "pseudoUrls" + }, + "12807": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "transformRequestFunction" + }, + "12808": { + "sourceFileName": "../packages/core/src/enqueue_links/enqueue_links.ts", + "qualifiedName": "strategy" + }, + "12809": { + "sourceFileName": "../packages/core/src/storages/request_provider.ts", + "qualifiedName": "forefront" + }, + "12811": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMHook" + }, + "12812": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "UserData" + }, + "12813": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "JSONData" + }, + "12814": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlingContext" + }, + "12815": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlingContext.window" + }, + "12816": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlingContext.document" + }, + "12817": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlingContext.parseWithCheerio" + }, + "12818": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlingContext.parseWithCheerio" + }, + "12819": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.body" + }, + "12820": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.json" + }, + "12821": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.contentType" + }, + "12822": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type" + }, + "12823": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.type" + }, + "12824": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "__type.encoding" + }, + "12825": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "InternalHttpCrawlingContext.response" + }, + "12826": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.id" + }, + "12827": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.session" + }, + "12828": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.proxyInfo" + }, + "12829": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.crawler" + }, + "12830": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "12831": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.enqueueLinks" + }, + "12832": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "12833": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.getKeyValueStore" + }, + "12834": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12835": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12836": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "idOrName" + }, + "12837": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "12838": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "CrawlingContext.sendRequest" + }, + "12839": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "Response" + }, + "12840": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "overrideOptions" + }, + "12841": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.request" + }, + "12842": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "12843": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.pushData" + }, + "12844": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "data" + }, + "12845": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "datasetIdOrName" + }, + "12846": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.addRequests" + }, + "12847": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12848": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12849": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "requestsLike" + }, + "12850": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type" + }, + "12851": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.requestsFromUrl" + }, + "12852": { + "sourceFileName": "../packages/core/src/request.ts", + "qualifiedName": "__type.regex" + }, + "12853": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "options" + }, + "12854": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.useState" + }, + "12855": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12856": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "__type" + }, + "12857": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "State" + }, + "12858": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "defaultValue" + }, + "12859": { + "sourceFileName": "../packages/core/src/crawlers/crawler_commons.ts", + "qualifiedName": "RestrictedCrawlingContext.log" + }, + "12860": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlingContext.UserData" + }, + "12861": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawlingContext.JSONData" + }, + "12862": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMRequestHandler" + }, + "12863": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "UserData" + }, + "12864": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "JSONData" + }, + "12865": { + "sourceFileName": "../packages/linkedom-crawler/src/internals/linkedom-crawler.ts", + "qualifiedName": "LinkeDOMCrawler" + }, + "12908": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.__constructor" + }, + "12909": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "LinkeDOMCrawler" + }, + "12910": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "options" + }, + "12911": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "config" + }, + "12927": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.proxyConfiguration" + }, + "12939": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.config" + }, + "12940": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "12941": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "HttpCrawler.use" + }, + "12942": { + "sourceFileName": "../packages/http-crawler/src/internals/http-crawler.ts", + "qualifiedName": "extension" + }, + "13011": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.stats" + }, + "13012": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestList" + }, + "13013": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.requestQueue" + }, + "13014": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.sessionPool" + }, + "13015": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.autoscaledPool" + }, + "13016": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.router" + }, + "13017": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.running" + }, + "13018": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.hasFinishedBefore" + }, + "13041": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "13042": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.setStatusMessage" + }, + "13043": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "message" + }, + "13044": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "13045": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "13046": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.run" + }, + "13047": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "13048": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "13049": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "13050": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getRequestQueue" + }, + "13051": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "13052": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.useState" + }, + "13053": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "State" + }, + "13054": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "defaultValue" + }, + "13055": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "13056": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.addRequests" + }, + "13057": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "requests" + }, + "13058": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "13059": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "13060": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.pushData" + }, + "13061": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "data" + }, + "13062": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "datasetIdOrName" + }, + "13063": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "13064": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getDataset" + }, + "13065": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "idOrName" + }, + "13066": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "13067": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.getData" + }, + "13068": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "args" + }, + "13069": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "13070": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "BasicCrawler.exportData" + }, + "13071": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "Data" + }, + "13072": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "path" + }, + "13073": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "format" + }, + "13074": { + "sourceFileName": "../packages/basic-crawler/src/internals/basic-crawler.ts", + "qualifiedName": "options" + }, + "13157": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorageOptions" + }, + "13158": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorageOptions.localDataDirectory" + }, + "13159": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorageOptions.writeMetadata" + }, + "13160": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorageOptions.persistStorage" + }, + "13161": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage" + }, + "13162": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.__constructor" + }, + "13163": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage" + }, + "13164": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "options" + }, + "13165": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.localDataDirectory" + }, + "13166": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.datasetsDirectory" + }, + "13167": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.keyValueStoresDirectory" + }, + "13168": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.requestQueuesDirectory" + }, + "13169": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.writeMetadata" + }, + "13170": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.persistStorage" + }, + "13171": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.keyValueStoresHandled" + }, + "13172": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.datasetClientsHandled" + }, + "13173": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.requestQueuesHandled" + }, + "13174": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.datasets" + }, + "13175": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.datasets" + }, + "13176": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.dataset" + }, + "13177": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.dataset" + }, + "13178": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "Data" + }, + "13179": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "id" + }, + "13180": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.keyValueStores" + }, + "13181": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.keyValueStores" + }, + "13182": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.keyValueStore" + }, + "13183": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.keyValueStore" + }, + "13184": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "id" + }, + "13185": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.requestQueues" + }, + "13186": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.requestQueues" + }, + "13187": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.requestQueue" + }, + "13188": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.requestQueue" + }, + "13189": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "id" + }, + "13190": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "options" + }, + "13191": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.setStatusMessage" + }, + "13192": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.setStatusMessage" + }, + "13193": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "message" + }, + "13194": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "options" + }, + "13195": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.purge" + }, + "13196": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.purge" + }, + "13197": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.teardown" + }, + "13198": { + "sourceFileName": "../packages/memory-storage/src/memory-storage.ts", + "qualifiedName": "MemoryStorage.teardown" + }, + "13210": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "" + }, + "13211": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "emailsFromText" + }, + "13212": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "emailsFromText" + }, + "13213": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "text" + }, + "13214": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "emailsFromUrls" + }, + "13215": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "emailsFromUrls" + }, + "13216": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "urls" + }, + "13217": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "phonesFromText" + }, + "13218": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "phonesFromText" + }, + "13219": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "text" + }, + "13220": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "phonesFromUrls" + }, + "13221": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "phonesFromUrls" + }, + "13222": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "urls" + }, + "13223": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "parseHandlesFromHtml" + }, + "13224": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "parseHandlesFromHtml" + }, + "13225": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "html" + }, + "13226": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "data" + }, + "13227": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "EMAIL_REGEX" + }, + "13228": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "EMAIL_REGEX_GLOBAL" + }, + "13229": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles" + }, + "13230": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.emails" + }, + "13231": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.phones" + }, + "13232": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.phonesUncertain" + }, + "13233": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.linkedIns" + }, + "13234": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.twitters" + }, + "13235": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.instagrams" + }, + "13236": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.facebooks" + }, + "13237": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.youtubes" + }, + "13238": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.tiktoks" + }, + "13239": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.pinterests" + }, + "13240": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "SocialHandles.discords" + }, + "13241": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "LINKEDIN_REGEX" + }, + "13242": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "LINKEDIN_REGEX_GLOBAL" + }, + "13243": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "INSTAGRAM_REGEX" + }, + "13244": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "INSTAGRAM_REGEX_GLOBAL" + }, + "13245": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "TWITTER_REGEX" + }, + "13246": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "TWITTER_REGEX_GLOBAL" + }, + "13247": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "FACEBOOK_REGEX" + }, + "13248": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "FACEBOOK_REGEX_GLOBAL" + }, + "13249": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "YOUTUBE_REGEX" + }, + "13250": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "YOUTUBE_REGEX_GLOBAL" + }, + "13251": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "TIKTOK_REGEX" + }, + "13252": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "TIKTOK_REGEX_GLOBAL" + }, + "13253": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "PINTEREST_REGEX" + }, + "13254": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "PINTEREST_REGEX_GLOBAL" + }, + "13255": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "DISCORD_REGEX" + }, + "13256": { + "sourceFileName": "../packages/utils/src/internals/social.ts", + "qualifiedName": "DISCORD_REGEX_GLOBAL" + }, + "13260": { + "sourceFileName": "../packages/utils/src/internals/blocked.ts", + "qualifiedName": "CLOUDFLARE_RETRY_CSS_SELECTORS" + }, + "13261": { + "sourceFileName": "../packages/utils/src/internals/blocked.ts", + "qualifiedName": "RETRY_CSS_SELECTORS" + }, + "13262": { + "sourceFileName": "../packages/utils/src/internals/blocked.ts", + "qualifiedName": "ROTATE_PROXY_ERRORS" + }, + "13263": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "htmlToText" + }, + "13264": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "htmlToText" + }, + "13265": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "htmlOrCheerioElement" + }, + "13266": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "extractUrlsFromCheerio" + }, + "13267": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "extractUrlsFromCheerio" + }, + "13268": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "$" + }, + "13269": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "selector" + }, + "13270": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "baseUrl" + }, + "13271": { + "sourceFileName": "../packages/utils/src/internals/cheerio.ts", + "qualifiedName": "CheerioRoot" + }, + "13272": { + "sourceFileName": "../packages/utils/src/internals/chunk.ts", + "qualifiedName": "chunk" + }, + "13273": { + "sourceFileName": "../packages/utils/src/internals/chunk.ts", + "qualifiedName": "chunk" + }, + "13274": { + "sourceFileName": "../packages/utils/src/internals/chunk.ts", + "qualifiedName": "T" + }, + "13275": { + "sourceFileName": "../packages/utils/src/internals/chunk.ts", + "qualifiedName": "array" + }, + "13276": { + "sourceFileName": "../packages/utils/src/internals/chunk.ts", + "qualifiedName": "chunkSize" + }, + "13277": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "downloadListOfUrls" + }, + "13278": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "downloadListOfUrls" + }, + "13279": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "options" + }, + "13280": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "extractUrls" + }, + "13281": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "extractUrls" + }, + "13282": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "options" + }, + "13283": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "tryAbsoluteURL" + }, + "13284": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "DownloadListOfUrlsOptions" + }, + "13285": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "DownloadListOfUrlsOptions.url" + }, + "13286": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "DownloadListOfUrlsOptions.encoding" + }, + "13287": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "DownloadListOfUrlsOptions.urlRegExp" + }, + "13288": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "DownloadListOfUrlsOptions.proxyUrl" + }, + "13289": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "ExtractUrlsOptions" + }, + "13290": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "ExtractUrlsOptions.string" + }, + "13291": { + "sourceFileName": "../packages/utils/src/internals/extract-urls.ts", + "qualifiedName": "ExtractUrlsOptions.urlRegExp" + }, + "13292": { + "sourceFileName": "../packages/utils/src/internals/general.ts", + "qualifiedName": "isDocker" + }, + "13293": { + "sourceFileName": "../packages/utils/src/internals/general.ts", + "qualifiedName": "isDocker" + }, + "13294": { + "sourceFileName": "../packages/utils/src/internals/general.ts", + "qualifiedName": "forceReset" + }, + "13299": { + "sourceFileName": "../packages/utils/src/internals/general.ts", + "qualifiedName": "sleep" + }, + "13300": { + "sourceFileName": "../packages/utils/src/internals/general.ts", + "qualifiedName": "sleep" + }, + "13301": { + "sourceFileName": "../packages/utils/src/internals/general.ts", + "qualifiedName": "millis" + }, + "13308": { + "sourceFileName": "../packages/utils/src/internals/general.ts", + "qualifiedName": "URL_NO_COMMAS_REGEX" + }, + "13309": { + "sourceFileName": "../packages/utils/src/internals/general.ts", + "qualifiedName": "URL_WITH_COMMAS_REGEX" + }, + "13310": { + "sourceFileName": "../packages/utils/src/internals/memory-info.ts", + "qualifiedName": "getMemoryInfo" + }, + "13311": { + "sourceFileName": "../packages/utils/src/internals/memory-info.ts", + "qualifiedName": "getMemoryInfo" + }, + "13312": { + "sourceFileName": "../packages/utils/src/internals/memory-info.ts", + "qualifiedName": "MemoryInfo" + }, + "13313": { + "sourceFileName": "../packages/utils/src/internals/memory-info.ts", + "qualifiedName": "MemoryInfo.totalBytes" + }, + "13314": { + "sourceFileName": "../packages/utils/src/internals/memory-info.ts", + "qualifiedName": "MemoryInfo.freeBytes" + }, + "13315": { + "sourceFileName": "../packages/utils/src/internals/memory-info.ts", + "qualifiedName": "MemoryInfo.usedBytes" + }, + "13316": { + "sourceFileName": "../packages/utils/src/internals/memory-info.ts", + "qualifiedName": "MemoryInfo.mainProcessBytes" + }, + "13317": { + "sourceFileName": "../packages/utils/src/internals/memory-info.ts", + "qualifiedName": "MemoryInfo.childProcessesBytes" + }, + "13318": { + "sourceFileName": "../packages/utils/src/internals/debug.ts", + "qualifiedName": "createRequestDebugInfo" + }, + "13319": { + "sourceFileName": "../packages/utils/src/internals/debug.ts", + "qualifiedName": "createRequestDebugInfo" + }, + "13320": { + "sourceFileName": "../packages/utils/src/internals/debug.ts", + "qualifiedName": "request" + }, + "13321": { + "sourceFileName": "../packages/utils/src/internals/debug.ts", + "qualifiedName": "response" + }, + "13322": { + "sourceFileName": "../packages/utils/src/internals/debug.ts", + "qualifiedName": "additionalFields" + }, + "13333": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "parseOpenGraph" + }, + "13334": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "parseOpenGraph" + }, + "13335": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "raw" + }, + "13336": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "additionalProperties" + }, + "13337": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "parseOpenGraph" + }, + "13338": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "$" + }, + "13339": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "additionalProperties" + }, + "13340": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "OpenGraphProperty" + }, + "13341": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "OpenGraphProperty.name" + }, + "13342": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "OpenGraphProperty.outputName" + }, + "13343": { + "sourceFileName": "../packages/utils/src/internals/open_graph_parser.ts", + "qualifiedName": "OpenGraphProperty.children" + }, + "13344": { + "sourceFileName": "../packages/utils/src/internals/gotScraping.ts", + "qualifiedName": "gotScraping" + }, + "13345": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13346": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13347": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13348": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13349": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "T" + }, + "13350": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13351": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13352": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13353": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13354": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13355": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13356": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13357": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13358": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13359": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13360": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13361": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "T" + }, + "13362": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13363": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13364": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13365": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13366": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13367": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13368": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13369": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13370": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13371": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "T" + }, + "13372": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13373": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13374": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13375": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13376": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13377": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13378": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13379": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13380": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "T" + }, + "13381": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13382": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13383": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13384": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13385": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13386": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13387": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type" + }, + "13388": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type.isStream" + }, + "13389": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13390": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13391": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type" + }, + "13392": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type.isStream" + }, + "13393": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13394": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13395": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13396": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13397": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13398": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "gotScraping" + }, + "13399": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "url" + }, + "13400": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "options" + }, + "13401": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "defaults" + }, + "13402": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type.stream" + }, + "13403": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type.paginate" + }, + "13404": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type.defaults" + }, + "13405": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type.extend" + }, + "13406": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type" + }, + "13407": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "__type" + }, + "13408": { + "sourceFileName": "../node_modules/got-scraping/dist/index.d.ts", + "qualifiedName": "instancesOrOptions" + }, + "13409": { + "sourceFileName": "", + "qualifiedName": "get" + }, + "13410": { + "sourceFileName": "", + "qualifiedName": "head" + }, + "13411": { + "sourceFileName": "", + "qualifiedName": "post" + }, + "13412": { + "sourceFileName": "", + "qualifiedName": "put" + }, + "13413": { + "sourceFileName": "", + "qualifiedName": "delete" + }, + "13414": { + "sourceFileName": "", + "qualifiedName": "patch" + }, + "13415": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile" + }, + "13416": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.find" + }, + "13417": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.find" + }, + "13418": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "url" + }, + "13419": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "proxyUrl" + }, + "13420": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.from" + }, + "13421": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.from" + }, + "13422": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "url" + }, + "13423": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "content" + }, + "13424": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "proxyUrl" + }, + "13435": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.isAllowed" + }, + "13436": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.isAllowed" + }, + "13437": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "url" + }, + "13438": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "userAgent" + }, + "13439": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.getSitemaps" + }, + "13440": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.getSitemaps" + }, + "13441": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.parseSitemaps" + }, + "13442": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.parseSitemaps" + }, + "13443": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.parseUrlsFromSitemaps" + }, + "13444": { + "sourceFileName": "../packages/utils/src/internals/robots.ts", + "qualifiedName": "RobotsFile.parseUrlsFromSitemaps" + }, + "13445": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "Sitemap" + }, + "13456": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "Sitemap.tryCommonNames" + }, + "13457": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "Sitemap.tryCommonNames" + }, + "13458": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "url" + }, + "13459": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "proxyUrl" + }, + "13460": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "Sitemap.load" + }, + "13461": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "Sitemap.load" + }, + "13462": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "urls" + }, + "13463": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "proxyUrl" + }, + "13464": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "Sitemap.__constructor" + }, + "13465": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "Sitemap" + }, + "13466": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "urls" + }, + "13467": { + "sourceFileName": "../packages/utils/src/internals/sitemap.ts", + "qualifiedName": "Sitemap.urls" + }, + "13468": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueOperationInfo" + }, + "13469": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionClientOptions" + }, + "13470": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionClientOptions.storageDir" + }, + "13471": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData" + }, + "13472": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.id" + }, + "13473": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.name" + }, + "13474": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.createdAt" + }, + "13475": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.modifiedAt" + }, + "13476": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.accessedAt" + }, + "13477": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionClient" + }, + "13478": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionClient.list" + }, + "13479": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionClient.list" + }, + "13480": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionClient.getOrCreate" + }, + "13481": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionClient.getOrCreate" + }, + "13482": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "name" + }, + "13483": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "Dataset" + }, + "13484": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "Dataset.itemCount" + }, + "13485": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.id" + }, + "13486": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.name" + }, + "13487": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.createdAt" + }, + "13488": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.modifiedAt" + }, + "13489": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetCollectionData.accessedAt" + }, + "13490": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClientUpdateOptions" + }, + "13491": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClientUpdateOptions.name" + }, + "13492": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClientListOptions" + }, + "13493": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClientListOptions.desc" + }, + "13494": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClientListOptions.limit" + }, + "13495": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClientListOptions.offset" + }, + "13496": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "PaginatedList" + }, + "13497": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "PaginatedList.total" + }, + "13498": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "PaginatedList.count" + }, + "13499": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "PaginatedList.offset" + }, + "13500": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "PaginatedList.limit" + }, + "13501": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "PaginatedList.desc" + }, + "13502": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "PaginatedList.items" + }, + "13503": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "PaginatedList.Data" + }, + "13504": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo" + }, + "13505": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo.id" + }, + "13506": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo.name" + }, + "13507": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo.createdAt" + }, + "13508": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo.modifiedAt" + }, + "13509": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo.accessedAt" + }, + "13510": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo.itemCount" + }, + "13511": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo.actId" + }, + "13512": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetInfo.actRunId" + }, + "13513": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetStats" + }, + "13514": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetStats.readCount" + }, + "13515": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetStats.writeCount" + }, + "13516": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetStats.deleteCount" + }, + "13517": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetStats.storageBytes" + }, + "13518": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient" + }, + "13519": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.get" + }, + "13520": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.get" + }, + "13521": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.update" + }, + "13522": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.update" + }, + "13523": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "newFields" + }, + "13524": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.delete" + }, + "13525": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.delete" + }, + "13526": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.downloadItems" + }, + "13527": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.downloadItems" + }, + "13528": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "args" + }, + "13529": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.listItems" + }, + "13530": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.listItems" + }, + "13531": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13532": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.pushItems" + }, + "13533": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.pushItems" + }, + "13534": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "items" + }, + "13535": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DatasetClient.Data" + }, + "13536": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo" + }, + "13537": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.id" + }, + "13538": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.name" + }, + "13539": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.userId" + }, + "13540": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.createdAt" + }, + "13541": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.modifiedAt" + }, + "13542": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.accessedAt" + }, + "13543": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.actId" + }, + "13544": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.actRunId" + }, + "13545": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreInfo.stats" + }, + "13546": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreStats" + }, + "13547": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreStats.readCount" + }, + "13548": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreStats.writeCount" + }, + "13549": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreStats.deleteCount" + }, + "13550": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreStats.listCount" + }, + "13551": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreStats.storageBytes" + }, + "13552": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreCollectionClient" + }, + "13553": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreCollectionClient.list" + }, + "13554": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreCollectionClient.list" + }, + "13555": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreCollectionClient.getOrCreate" + }, + "13556": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreCollectionClient.getOrCreate" + }, + "13557": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "name" + }, + "13558": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreRecord" + }, + "13559": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreRecord.key" + }, + "13560": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreRecord.value" + }, + "13561": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreRecord.contentType" + }, + "13562": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientUpdateOptions" + }, + "13563": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientUpdateOptions.name" + }, + "13564": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListOptions" + }, + "13565": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListOptions.limit" + }, + "13566": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListOptions.exclusiveStartKey" + }, + "13567": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreItemData" + }, + "13568": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreItemData.key" + }, + "13569": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreItemData.size" + }, + "13570": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListData" + }, + "13571": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListData.count" + }, + "13572": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListData.limit" + }, + "13573": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListData.exclusiveStartKey" + }, + "13574": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListData.isTruncated" + }, + "13575": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListData.nextExclusiveStartKey" + }, + "13576": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientListData.items" + }, + "13577": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientGetRecordOptions" + }, + "13578": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientGetRecordOptions.buffer" + }, + "13579": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClientGetRecordOptions.stream" + }, + "13580": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient" + }, + "13581": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.get" + }, + "13582": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.get" + }, + "13583": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.update" + }, + "13584": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.update" + }, + "13585": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "newFields" + }, + "13586": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.delete" + }, + "13587": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.delete" + }, + "13588": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.listKeys" + }, + "13589": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.listKeys" + }, + "13590": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13591": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.recordExists" + }, + "13592": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.recordExists" + }, + "13593": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "key" + }, + "13594": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.getRecord" + }, + "13595": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.getRecord" + }, + "13596": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "key" + }, + "13597": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13598": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.setRecord" + }, + "13599": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.setRecord" + }, + "13600": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "record" + }, + "13601": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.deleteRecord" + }, + "13602": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "KeyValueStoreClient.deleteRecord" + }, + "13603": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "key" + }, + "13604": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueCollectionClient" + }, + "13605": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueCollectionClient.list" + }, + "13606": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueCollectionClient.list" + }, + "13607": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueCollectionClient.getOrCreate" + }, + "13608": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueCollectionClient.getOrCreate" + }, + "13609": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "name" + }, + "13610": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead" + }, + "13611": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead.limit" + }, + "13612": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead.queueModifiedAt" + }, + "13613": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead.hadMultipleClients" + }, + "13614": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead.items" + }, + "13615": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueHeadItem" + }, + "13616": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueHeadItem.id" + }, + "13617": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueHeadItem.retryCount" + }, + "13618": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueHeadItem.uniqueKey" + }, + "13619": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueHeadItem.url" + }, + "13620": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueHeadItem.method" + }, + "13621": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo" + }, + "13622": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.id" + }, + "13623": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.name" + }, + "13624": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.userId" + }, + "13625": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.createdAt" + }, + "13626": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.modifiedAt" + }, + "13627": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.accessedAt" + }, + "13628": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.expireAt" + }, + "13629": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.totalRequestCount" + }, + "13630": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.handledRequestCount" + }, + "13631": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.pendingRequestCount" + }, + "13632": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.actId" + }, + "13633": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.actRunId" + }, + "13634": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.hadMultipleClients" + }, + "13635": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueInfo.stats" + }, + "13636": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueStats" + }, + "13637": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueStats.readCount" + }, + "13638": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueStats.writeCount" + }, + "13639": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueStats.deleteCount" + }, + "13640": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueStats.headItemReadCount" + }, + "13641": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueStats.storageBytes" + }, + "13642": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ListOptions" + }, + "13643": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ListOptions.limit" + }, + "13644": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ListAndLockOptions" + }, + "13645": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ListAndLockOptions.lockSecs" + }, + "13646": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ListOptions.limit" + }, + "13647": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ListAndLockHeadResult" + }, + "13648": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ListAndLockHeadResult.lockSecs" + }, + "13649": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead.limit" + }, + "13650": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead.queueModifiedAt" + }, + "13651": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead.hadMultipleClients" + }, + "13652": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "QueueHead.items" + }, + "13653": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProlongRequestLockOptions" + }, + "13654": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProlongRequestLockOptions.lockSecs" + }, + "13655": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProlongRequestLockOptions.forefront" + }, + "13656": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProlongRequestLockResult" + }, + "13657": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProlongRequestLockResult.lockExpiresAt" + }, + "13658": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DeleteRequestLockOptions" + }, + "13659": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "DeleteRequestLockOptions.forefront" + }, + "13660": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestOptions" + }, + "13661": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestOptions.forefront" + }, + "13662": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestOptions.__index" + }, + "13664": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema" + }, + "13665": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.id" + }, + "13666": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.url" + }, + "13667": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.uniqueKey" + }, + "13668": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.method" + }, + "13669": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.payload" + }, + "13670": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.noRetry" + }, + "13671": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.retryCount" + }, + "13672": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.errorMessages" + }, + "13673": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.headers" + }, + "13674": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.userData" + }, + "13675": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.handledAt" + }, + "13676": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.loadedUrl" + }, + "13677": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "UpdateRequestSchema" + }, + "13678": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "UpdateRequestSchema.id" + }, + "13679": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.url" + }, + "13680": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.uniqueKey" + }, + "13681": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.method" + }, + "13682": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.payload" + }, + "13683": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.noRetry" + }, + "13684": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.retryCount" + }, + "13685": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.errorMessages" + }, + "13686": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.headers" + }, + "13687": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.userData" + }, + "13688": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.handledAt" + }, + "13689": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestSchema.loadedUrl" + }, + "13690": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProcessedRequest" + }, + "13691": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProcessedRequest.uniqueKey" + }, + "13692": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProcessedRequest.requestId" + }, + "13693": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProcessedRequest.wasAlreadyPresent" + }, + "13694": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "ProcessedRequest.wasAlreadyHandled" + }, + "13695": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "UnprocessedRequest" + }, + "13696": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "UnprocessedRequest.uniqueKey" + }, + "13697": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "UnprocessedRequest.url" + }, + "13698": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "UnprocessedRequest.method" + }, + "13699": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "BatchAddRequestsResult" + }, + "13700": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "BatchAddRequestsResult.processedRequests" + }, + "13701": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "BatchAddRequestsResult.unprocessedRequests" + }, + "13702": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient" + }, + "13703": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.get" + }, + "13704": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.get" + }, + "13705": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.update" + }, + "13706": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.update" + }, + "13707": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "newFields" + }, + "13708": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "__type" + }, + "13709": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "__type.name" + }, + "13710": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.delete" + }, + "13711": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.delete" + }, + "13712": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.listHead" + }, + "13713": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.listHead" + }, + "13714": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13715": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.addRequest" + }, + "13716": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.addRequest" + }, + "13717": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "request" + }, + "13718": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13719": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.batchAddRequests" + }, + "13720": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.batchAddRequests" + }, + "13721": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "requests" + }, + "13722": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13723": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.getRequest" + }, + "13724": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.getRequest" + }, + "13725": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "id" + }, + "13726": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.updateRequest" + }, + "13727": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.updateRequest" + }, + "13728": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "request" + }, + "13729": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13730": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.deleteRequest" + }, + "13731": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.deleteRequest" + }, + "13732": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "id" + }, + "13733": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.listAndLockHead" + }, + "13734": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.listAndLockHead" + }, + "13735": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13736": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.prolongRequestLock" + }, + "13737": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.prolongRequestLock" + }, + "13738": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "id" + }, + "13739": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13740": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.deleteRequestLock" + }, + "13741": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueClient.deleteRequestLock" + }, + "13742": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "id" + }, + "13743": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "options" + }, + "13744": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueOptions" + }, + "13745": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueOptions.clientKey" + }, + "13746": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "RequestQueueOptions.timeoutSecs" + }, + "13747": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "SetStatusMessageOptions" + }, + "13748": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "SetStatusMessageOptions.isStatusMessageTerminal" + }, + "13749": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "SetStatusMessageOptions.level" + }, + "13750": { + "sourceFileName": "../packages/types/src/storages.ts", + "qualifiedName": "StorageClient" + }, + "13754": { + "sourceFileName": "../packages/types/src/utility-types.ts", + "qualifiedName": "AllowedHttpMethods" + }, + "13755": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "Cookie" + }, + "13756": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "BrowserLikeResponse" + }, + "13757": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "BrowserLikeResponse.url" + }, + "13758": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "BrowserLikeResponse.url" + }, + "13759": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "BrowserLikeResponse.headers" + }, + "13760": { + "sourceFileName": "../packages/types/src/browser.ts", + "qualifiedName": "BrowserLikeResponse.headers" + } + } +} \ No newline at end of file diff --git a/website/versioned_docs/version-3.10/deployment/apify_platform.mdx b/website/versioned_docs/version-3.10/deployment/apify_platform.mdx new file mode 100644 index 000000000000..e5cb39e6a618 --- /dev/null +++ b/website/versioned_docs/version-3.10/deployment/apify_platform.mdx @@ -0,0 +1,305 @@ +--- +id: apify-platform +title: Apify Platform +description: Apify platform - large-scale and high-performance web scraping +--- + +import ApiLink from '@site/src/components/ApiLink'; + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import MainSource from '!!raw-loader!./apify_platform_main.ts'; +import InitExitSource from '!!raw-loader!./apify_platform_init_exit.ts'; + +Apify is a [platform](https://apify.com) built to serve large-scale and high-performance web scraping +and automation needs. It provides easy access to [compute instances (Actors)](#what-is-an-actor), +convenient [request](../guides/request-storage) and [result](../guides/result-storage) storages, [proxies](../guides/proxy-management), +[scheduling](https://docs.apify.com/scheduler), [webhooks](https://docs.apify.com/webhooks) +and [more](https://docs.apify.com/), accessible through a [web interface](https://console.apify.com) +or an [API](https://docs.apify.com/api). + +While we think that the Apify platform is super cool, and it's definitely worth signing up for a +[free account](https://console.apify.com/sign-up), **Crawlee is and will always be open source**, +runnable locally or on any cloud infrastructure. + +:::note + +We do not test Crawlee in other cloud environments such as Lambda or on specific +architectures such as Raspberry PI. We strive to make it work, but there are no guarantees. + +::: + +## Logging into Apify platform from Crawlee + +To access your [Apify account](https://console.apify.com/sign-up) from Crawlee, you must provide +credentials - your [API token](https://console.apify.com/account?tab=integrations). You can do that +either by utilizing [Apify CLI](https://github.com/apify/apify-cli) or with environment +variables. + +Once you provide credentials to your scraper, you will be able to use all the Apify platform +features, such as calling actors, saving to cloud storages, using Apify proxies, +setting up webhooks and so on. + +### Log in with CLI + +Apify CLI allows you to log in to your Apify account on your computer. If you then run your +scraper using the CLI, your credentials will automatically be added. + +```bash +npm install -g apify-cli +apify login -t YOUR_API_TOKEN +``` + +### Log in with environment variables + +Alternatively, you can always provide credentials to your scraper +by setting the [`APIFY_TOKEN`](#apify_token) environment +variable to your API token. + +> There's also the [`APIFY_PROXY_PASSWORD`](#apify_proxy_password) +> environment variable. Actor automatically infers that from your token, but it can be useful +> when you need to access proxies from a different account than your token represents. + +### Log in with Configuration + +Another option is to use the [`Configuration`](https://apify.github.io/apify-sdk-js/api/apify/class/Configuration) instance and set your api token there. + +```javascript +import { Actor } from 'apify'; + +const sdk = new Actor({ token: 'your_api_token' }); +``` + +## What is an actor + +When you deploy your script to the Apify platform, it becomes an [actor](https://apify.com/actors). +An actor is a serverless microservice that accepts an input and produces an output. It can run for +a few seconds, hours or even infinitely. An actor can perform anything from a simple action such +as filling out a web form or sending an email, to complex operations such as crawling an entire website +and removing duplicates from a large dataset. + +Actors can be shared in the [Apify Store](https://apify.com/store) so that other people can use them. +But don't worry, if you share your actor in the store and somebody uses it, it runs under their account, +not yours. + +**Related links** + +- [Store of existing actors](https://apify.com/store) +- [Documentation](https://docs.apify.com/actors) +- [View actors in Apify Console](https://console.apify.com/actors) +- [API reference](https://apify.com/docs/api/v2#/reference/actors) + +## Running an actor locally + +First let's create a boilerplate of the new actor. You could use Apify CLI and just run: + +```bash +apify create my-hello-world +``` + +The CLI will prompt you to select a project boilerplate template - let's pick "Hello world". The tool will create a directory called `my-hello-world` with a Node.js project files. You can run the actor as follows: + +```bash +cd my-hello-world +apify run +``` + +## Running Crawlee code as an actor + +For running Crawlee code as an actor on [Apify platform](https://apify.com/actors) you should either: +- use a combination of [`Actor.init()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#init) and [`Actor.exit()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#exit) functions; +- or wrap it into [`Actor.main()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#main) function. + +:::info NOTE +- Adding [`Actor.init()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#init) and [`Actor.exit()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#exit) to your code are the only two important things needed to run it on Apify platform as an actor. `Actor.init()` is needed to initialize your actor (e.g. to set the correct storage implementation), while without `Actor.exit()` the process will simply never stop. +- [`Actor.main()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#main) is an alternative to `Actor.init()` and `Actor.exit()` as it calls both behind the scenes. +::: + +Let's look at the `CheerioCrawler` example from the [Quick Start](../quick-start) guide: + + + + + {MainSource} + + + + + {InitExitSource} + + + + +Note that you could also run your actor (that is using Crawlee) locally with Apify CLI. You could start it via the following command in your project folder: + +```bash +apify run +``` + +## Deploying an actor to Apify platform + +Now (assuming you are already logged in to your Apify account) you can easily deploy your code to the Apify platform by running: + +```bash +apify push +``` + +Your script will be uploaded to and built on the Apify platform so that it can be run there. For more information, view the +[Apify Actor](https://docs.apify.com/cli) documentation. + +## Usage on Apify platform + +You can also develop your actor in an online code editor directly on the platform (you'll need an Apify Account). Let's go to the [Actors](https://console.apify.com/actors) page in the app, click *Create new* and then go to the *Source* tab and start writing the code or paste one of the examples from the [Examples](../examples) section. + +## Storages + +There are several things worth mentioning here. + +### Helper functions for default Key-Value Store and Dataset + +To simplify access to the _default_ storages, instead of using the helper functions of respective storage classes, you could use: +- [`Actor.setValue()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#setValue), [`Actor.getValue()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#getValue), [`Actor.getInput()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#getInput) for `Key-Value Store` +- [`Actor.pushData()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#pushData) for `Dataset` + +### Using platform storage in a local actor + +When you plan to use the platform storage while developing and running your actor locally, you should use [`Actor.openKeyValueStore()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#openKeyValueStore), [`Actor.openDataset()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#openDataset) and [`Actor.openRequestQueue()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#openRequestQueue) to open the respective storage. + +Using each of these methods allows to pass the [`OpenStorageOptions`](https://apify.github.io/apify-sdk-js/api/apify/interface/OpenStorageOptions) as a second argument, which has only one optional property: [`forceCloud`](https://apify.github.io/apify-sdk-js/api/apify/interface/OpenStorageOptions#forceCloud). If set to `true` - cloud storage will be used instead of the folder on the local disk. + +:::note +If you don't plan to force usage of the platform storages when running the actor locally, there is no need to use the [`Actor`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor) class for it. The Crawlee variants `KeyValueStore.open()`, `Dataset.open()` and `RequestQueue.open()` will work the same. +::: + +### Getting public url of an item in the platform storage + +If you need to share a link to some file stored in a Key-Value Store on Apify Platform, you can use [`getPublicUrl()`](https://apify.github.io/apify-sdk-js/api/apify/class/KeyValueStore#getPublicUrl) method. It accepts only one parameter: `key` - the key of the item you want to share. + +```js +import { KeyValueStore } from 'apify'; + +const store = await KeyValueStore.open(); +await store.setValue('your-file', { foo: 'bar' }); +const url = store.getPublicUrl('your-file'); +// https://api.apify.com/v2/key-value-stores//records/your-file +``` + +### Exporting dataset data + +When the `Dataset` is stored on the [Apify platform](https://apify.com/actors), you can export its data to the following formats: HTML, JSON, CSV, Excel, XML and RSS. The datasets are displayed on the actor run details page and in the [Storage](https://console.apify.com/storage) section in the Apify Console. The actual data is exported using the [Get dataset items](https://apify.com/docs/api/v2#/reference/datasets/item-collection/get-items) Apify API endpoint. This way you can easily share the crawling results. + +**Related links** + +- [Apify platform storage documentation](https://docs.apify.com/storage) +- [View storage in Apify Console](https://console.apify.com/storage) +- [Key-value stores API reference](https://apify.com/docs/api/v2#/reference/key-value-stores) +- [Datasets API reference](https://docs.apify.com/api/v2#/reference/datasets) +- [Request queues API reference](https://docs.apify.com/api/v2#/reference/request-queues) + +## Environment variables + +The following are some additional environment variables specific to Apify platform. More Crawlee specific environment variables could be found in the [Environment Variables](../guides/configuration#environment-variables) guide. + +:::note + +It's important to notice that `CRAWLEE_` environment variables don't need to be replaced with equivalent `APIFY_` ones. Likewise, Crawlee understands `APIFY_` environment variables after calling `Actor.init()` or when using `Actor.main()`. + +::: + +### `APIFY_TOKEN` + +The API token for your Apify account. It is used to access the Apify API, e.g. to access cloud storage +or to run an actor on the Apify platform. You can find your API token on the +[Account Settings / Integrations](https://console.apify.com/account?tab=integrations) page. + +### Combinations of `APIFY_TOKEN` and `CRAWLEE_STORAGE_DIR` + +> `CRAWLEE_STORAGE_DIR` env variable description could be found in [Environment Variables](../guides/configuration#crawlee_storage_dir) guide. + +By combining the env vars in various ways, you can greatly influence the actor's behavior. + +| Env Vars | API | Storages | +| --------------------------------------- | --- | ---------------- | +| none OR `CRAWLEE_STORAGE_DIR` | no | local | +| `APIFY_TOKEN` | yes | Apify platform | +| `APIFY_TOKEN` AND `CRAWLEE_STORAGE_DIR` | yes | local + platform | + +When using both `APIFY_TOKEN` and `CRAWLEE_STORAGE_DIR`, you can use all the Apify platform +features and your data will be stored locally by default. If you want to access platform storages, +you can use the `{ forceCloud: true }` option in their respective functions. + +```js +import { Actor } from 'apify'; +import { Dataset } from 'crawlee'; + +// or Dataset.open('my-local-data') +const localDataset = await Actor.openDataset('my-local-data'); +// but here we need the `Actor` class +const remoteDataset = await Actor.openDataset('my-dataset', { forceCloud: true }); +``` + +### `APIFY_PROXY_PASSWORD` + +Optional password to [Apify Proxy](https://docs.apify.com/proxy) for IP address rotation. +Assuming Apify Account was already created, you can find the password on the [Proxy page](https://console.apify.com/proxy) +in the Apify Console. The password is automatically inferred using the `APIFY_TOKEN` env var, +so in most cases, you don't need to touch it. You should use it when, for some reason, +you need access to Apify Proxy, but not access to Apify API, or when you need access to +proxy from a different account than your token represents. + +## Proxy management + +In addition to your own proxy servers and proxy servers acquired from +third-party providers used together with Crawlee, you can also rely on [Apify Proxy](https://apify.com/proxy) +for your scraping needs. + +### Apify Proxy + +If you are already subscribed to Apify Proxy, you can start using them immediately in only a few lines of code (for local usage you first should be [logged in](#logging-into-apify-platform-from-crawlee) to your Apify account. + +```javascript +import { Actor } from 'apify'; + +const proxyConfiguration = await Actor.createProxyConfiguration(); +const proxyUrl = await proxyConfiguration.newUrl(); +``` + +Note that unlike using your own proxies in Crawlee, you shouldn't use the constructor to create `ProxyConfiguration` instance. For using Apify Proxy you should create an instance using the [`Actor.createProxyConfiguration()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#createProxyConfiguration) function instead. + +### Apify Proxy Configuration + +With Apify Proxy, you can select specific proxy groups to use, or countries to connect from. +This allows you to get better proxy performance after some initial research. + +```javascript +import { Actor } from 'apify'; + +const proxyConfiguration = await Actor.createProxyConfiguration({ + groups: ['RESIDENTIAL'], + countryCode: 'US', +}); +const proxyUrl = await proxyConfiguration.newUrl(); +``` + +Now your crawlers will use only Residential proxies from the US. Note that you must first get access +to a proxy group before you are able to use it. You can check proxy groups available to you +in the [proxy dashboard](https://console.apify.com/proxy). + +### Apify Proxy vs. Own proxies + +The `ProxyConfiguration` class covers both Apify Proxy and custom proxy URLs so that +you can easily switch between proxy providers. However, some features of the class +are available only to Apify Proxy users, mainly because Apify Proxy is what +one would call a super-proxy. It's not a single proxy server, but an API endpoint +that allows connection through millions of different IP addresses. So the class +essentially has two modes: Apify Proxy or Own (third party) proxy. + +The difference is easy to remember. +- If you're using your own proxies - you should create an instance with the ProxyConfiguration `constructor` function based on the provided `ProxyConfigurationOptions`. +- If you are planning to use Apify Proxy - you should create an instance using the [`Actor.createProxyConfiguration()`](https://apify.github.io/apify-sdk-js/api/apify/class/Actor#createProxyConfiguration) function. `ProxyConfigurationOptions.proxyUrls` and `ProxyConfigurationOptions.newUrlFunction` enable use of your custom proxy URLs, whereas all the other options are there to configure Apify Proxy. + +**Related links** + +- [Apify Proxy docs](https://docs.apify.com/proxy) diff --git a/website/versioned_docs/version-3.10/deployment/apify_platform_init_exit.ts b/website/versioned_docs/version-3.10/deployment/apify_platform_init_exit.ts new file mode 100644 index 000000000000..49a10f100f23 --- /dev/null +++ b/website/versioned_docs/version-3.10/deployment/apify_platform_init_exit.ts @@ -0,0 +1,27 @@ +import { Actor } from 'apify'; +import { CheerioCrawler } from 'crawlee'; + +await Actor.init(); + +const crawler = new CheerioCrawler({ + async requestHandler({ request, $, enqueueLinks }) { + const { url } = request; + + // Extract HTML title of the page. + const title = $('title').text(); + console.log(`Title of ${url}: ${title}`); + + // Add URLs that match the provided pattern. + await enqueueLinks({ + globs: ['https://www.iana.org/*'], + }); + + // Save extracted data to dataset. + await Actor.pushData({ url, title }); + }, +}); + +// Enqueue the initial request and run the crawler +await crawler.run(['https://www.iana.org/']); + +await Actor.exit(); diff --git a/website/versioned_docs/version-3.10/deployment/apify_platform_main.ts b/website/versioned_docs/version-3.10/deployment/apify_platform_main.ts new file mode 100644 index 000000000000..a338047e86ea --- /dev/null +++ b/website/versioned_docs/version-3.10/deployment/apify_platform_main.ts @@ -0,0 +1,25 @@ +import { Actor } from 'apify'; +import { CheerioCrawler } from 'crawlee'; + +await Actor.main(async () => { + const crawler = new CheerioCrawler({ + async requestHandler({ request, $, enqueueLinks }) { + const { url } = request; + + // Extract HTML title of the page. + const title = $('title').text(); + console.log(`Title of ${url}: ${title}`); + + // Add URLs that match the provided pattern. + await enqueueLinks({ + globs: ['https://www.iana.org/*'], + }); + + // Save extracted data to dataset. + await Actor.pushData({ url, title }); + }, + }); + + // Enqueue the initial request and run the crawler + await crawler.run(['https://www.iana.org/']); +}); diff --git a/website/versioned_docs/version-3.10/deployment/aws-browsers.md b/website/versioned_docs/version-3.10/deployment/aws-browsers.md new file mode 100644 index 000000000000..e2160fc1f209 --- /dev/null +++ b/website/versioned_docs/version-3.10/deployment/aws-browsers.md @@ -0,0 +1,124 @@ +--- +id: aws-browsers +title: Browsers on AWS Lambda +--- + +Running browser-enabled Crawlee crawlers in AWS Lambda is a bit complicated - but not too much. The main problem is that we have to upload not only our code and the dependencies, but also the **browser binaries**. + +## Managing browser binaries + +Fortunately, there are already some NPM packages that can help us with managing the browser binaries installation: + +- [@sparticuz/chromium](https://www.npmjs.com/package/@sparticuz/chromium) is an NPM package containing brotli-compressed chromium binaries. When run in the Lambda environment, the package unzips the binaries under the `/tmp/` path and returns the path to the executable. + +We just add this package to the project dependencies and zip the `node_modules` folder. + +```bash +# Install the package +npm i -S @sparticuz/chromium + +# Zip the dependencies +zip -r dependencies.zip ./node_modules +``` + +We will now upload the `dependencies.zip` as a Lambda Layer to AWS. Unfortunately, we cannot do this directly - there is a 50MB limit on direct uploads (and the compressed Chromium build is around that size itself). Instead, we'll upload it as an object into an S3 storage and provide the link to that object during the layer creation. + +## Updating the code + +We also have to slightly update the Crawlee code: + +- First, we pass a new `Configuration` instance to the Crawler. This way, every crawler instance we create will have its own storage and won’t interfere with other crawler instances running in your Lambda environment. + +```javascript title="src/main.js" +// For more information, see https://crawlee.dev/ +import { Configuration, PlaywrightCrawler } from 'crawlee'; +import { router } from './routes.js'; + +const startUrls = ['https://crawlee.dev']; + +const crawler = new PlaywrightCrawler({ + requestHandler: router, +// highlight-start +}, new Configuration({ + persistStorage: false, +})); +// highlight-end + +await crawler.run(startUrls); +``` + +- Now, we actually have to supply the code with the Chromium path from the `@sparticuz/chromium` package. AWS Lambda execution also lacks some hardware support for GPU acceleration etc. - you can tell Chrome about this by passing the `aws_chromium.args` to the `args` parameter. + +```javascript title="src/main.js" +// For more information, see https://crawlee.dev/ +import { Configuration, PlaywrightCrawler } from 'crawlee'; +import { router } from './routes.js'; +// highlight-next-line +import aws_chromium from '@sparticuz/chromium'; + +const startUrls = ['https://crawlee.dev']; + +const crawler = new PlaywrightCrawler({ + requestHandler: router, + // highlight-start + launchContext: { + launchOptions: { + executablePath: await aws_chromium.executablePath(), + args: aws_chromium.args, + headless: true + } + } + // highlight-end +}, new Configuration({ + persistStorage: false, +})); + +``` + +- Last but not least, we have to wrap the code in the exported `handler` function - this will become the Lambda AWS will be executing. + +```javascript title="src/main.js" +import { Configuration, PlaywrightCrawler } from 'crawlee'; +import { router } from './routes.js'; +import aws_chromium from '@sparticuz/chromium'; + +const startUrls = ['https://crawlee.dev']; + +// highlight-next-line +export const handler = async (event, context) => { + const crawler = new PlaywrightCrawler({ + requestHandler: router, + launchContext: { + launchOptions: { + executablePath: await aws_chromium.executablePath(), + args: aws_chromium.args, + headless: true + } + } + }, new Configuration({ + persistStorage: false, + })); + + await crawler.run(startUrls); + + // highlight-start + return { + statusCode: 200, + body: await crawler.getData(), + }; +} +// highlight-end + +``` + +## Deploying the code + +Now we can simply pack the code into a zip archive (minus the `node_modules` folder, we have put that in the Lambda Layer, remember?). We upload the code archive to AWS as the Lambda body, set up the Lambda so it uses the dependencies Layer, and test our newly created Lambda. + +:::tip Memory settings + +Since we’re using full-size browsers here, we have to update the Lambda configurations a bit. Most importantly, make sure to set the memory setting to **1024 MB or more** and update the **Lambda timeout**. + +The target timeout value depends on how long your crawler will be running. Try measuring the execution time when running your crawler locally and set the timeout accordingly. + +::: \ No newline at end of file diff --git a/website/versioned_docs/version-3.10/deployment/aws-cheerio.md b/website/versioned_docs/version-3.10/deployment/aws-cheerio.md new file mode 100644 index 000000000000..0a047ead77bb --- /dev/null +++ b/website/versioned_docs/version-3.10/deployment/aws-cheerio.md @@ -0,0 +1,126 @@ +--- +id: aws-cheerio +title: Cheerio on AWS Lambda +--- + +Locally, we can conveniently create a Crawlee project with `npx crawlee create`. In order to run this project on AWS Lambda, however, we need to do a few tweaks. + +## Updating the code + +Whenever we instantiate a new crawler, we have to pass a unique `Configuration` instance to it. By default, all the Crawlee crawler instances share the same storage - this can be convenient, but would also cause “statefulness” of our Lambda, which would lead to hard-to-debug problems. + +Also, when creating this Configuration instance, make sure to pass the `persistStorage: false` option. This tells Crawlee to use in-memory storage, as the Lambda filesystem is read-only. + +```javascript title="src/main.js" +// For more information, see https://crawlee.dev/ +import { CheerioCrawler, Configuration, ProxyConfiguration } from 'crawlee'; +import { router } from './routes.js'; + +const startUrls = ['https://crawlee.dev']; + +const crawler = new CheerioCrawler({ + requestHandler: router, +// highlight-start +}, new Configuration({ + persistStorage: false, +})); +// highlight-end + +await crawler.run(startUrls); +``` + +Now, we wrap all the logic in a `handler` function. This is the actual “Lambda” that AWS will be executing later on. + +```javascript title="src/main.js" +// For more information, see https://crawlee.dev/ +import { CheerioCrawler, Configuration } from 'crawlee'; +import { router } from './routes.js'; + +const startUrls = ['https://crawlee.dev']; + +// highlight-next-line +export const handler = async (event, context) => { + const crawler = new CheerioCrawler({ + requestHandler: router, + }, new Configuration({ + persistStorage: false, + })); + + await crawler.run(startUrls); +// highlight-next-line +}; +``` + +:::tip **Important** + +Make sure to always instantiate a **new crawler instance for every Lambda**. AWS always keeps the environment running for some time after the first Lambda execution (in order to reduce cold-start times) - so any subsequent Lambda calls will access the already-used crawler instance. + +**TLDR: Keep your Lambda stateless.** + +::: + + +Last things last, we also want to return the scraped data from the Lambda when the crawler run ends. + +In the end, your `main.js` script should look something like this: + +```javascript title="src/main.js" +// For more information, see https://crawlee.dev/ +import { CheerioCrawler, Configuration } from 'crawlee'; +import { router } from './routes.js'; + +const startUrls = ['https://crawlee.dev']; + +export const handler = async (event, context) => { + const crawler = new CheerioCrawler({ + requestHandler: router, + }, new Configuration({ + persistStorage: false, + })); + + await crawler.run(startUrls); + + // highlight-start + return { + statusCode: 200, + body: await crawler.getData(), + } + // highlight-end +}; +``` + +## Deploying the project + +Now it’s time to deploy our script on AWS! + +Let’s create a zip archive from our project (including the `node_modules` folder) by running `zip -r package.zip .` in the project folder. + +:::note Large `node_modules` folder? + +AWS has a limit of 50MB for direct file upload. Usually, our Crawlee projects won’t be anywhere near this limit, but we can easily exceed this with large dependency trees. + +A better way to install your project dependencies is by using Lambda Layers. With Layers, we can also share files between multiple Lambdas - and keep the actual “code” part of the Lambdas as slim as possible. + +**To create a Lambda Layer, we need to:** + +- Pack the `node_modules` folder into a separate zip file (the archive should contain one folder named `node_modules`). +- Create a new Lambda layer from this archive. We’ll probably need to upload this file to AWS S3 storage and create the Lambda Layer like this. +- After creating it, we simply tell our new Lambda function to use this layer. + +::: + +To deploy our actual code, we upload the `package.zip` archive as our code source. + +In Lambda Runtime Settings, we point the `handler` to the main function that runs the crawler. You can use slashes to describe directory structure and `.` to denote a named export. Our handler function is called `handler` and is exported from the `src/main.js` file, so we’ll use `src/main.handler` as the handler name. + +Now we’re all set! By clicking the **Test** button, we can send an example testing event to our new Lambda. The actual contents of the event don’t really matter for now - if you want, further parameterize your crawler run by analyzing the `event` object AWS passes as the first argument to the handler. + +:::tip + +In the Configuration tab in the AWS Lambda dashboard, you can configure the amount of memory the Lambda is running with or the size of the ephemeral storage. + +The memory size can greatly affect the execution speed of your Lambda. + +See the [official documentation](https://docs.aws.amazon.com/lambda/latest/operatorguide/computing-power.html) to see how the performance and cost scale with more memory. + +::: \ No newline at end of file diff --git a/website/versioned_docs/version-3.10/deployment/gcp-browsers.md b/website/versioned_docs/version-3.10/deployment/gcp-browsers.md new file mode 100644 index 000000000000..0c6162e34f76 --- /dev/null +++ b/website/versioned_docs/version-3.10/deployment/gcp-browsers.md @@ -0,0 +1,91 @@ +--- +id: gcp-browsers +title: Browsers in GCP Cloud Run +--- + +Running full-size browsers on GCP Cloud Functions is actually a bit different from doing so on AWS Lambda - [apparently](https://pptr.dev/troubleshooting#running-puppeteer-on-google-cloud-functions), the latest runtime versions miss dependencies required to run Chromium. + +If we want to run browser-enabled Crawlee crawlers on GCP, we’ll need to turn towards **Cloud Run.** Cloud Run is GCP’s platform for running Docker containers - other than that, (almost) everything is the same as with Cloud Functions / AWS Lambdas. + +GCP can spin up your containers on demand, so you’re only billed for the time it takes your container to return an HTTP response to the requesting client. In a way, it also provides a slightly better developer experience (than regular FaaS), as you can debug your Docker containers locally and be sure you’re getting the same setup in the cloud. + +## Preparing the project + +As always, we first pass a new `Configuration` instance to the crawler constructor: + +```javascript title="src/main.js" +import { Configuration, PlaywrightCrawler } from 'crawlee'; +import { router } from './routes.js'; + +const startUrls = ['https://crawlee.dev']; + +const crawler = new PlaywrightCrawler({ + requestHandler: router, +// highlight-start +}, new Configuration({ + persistStorage: false, +})); +// highlight-end + +await crawler.run(startUrls); +``` + +All we now need to do is wrap our crawler with an Express HTTP server handler, so it can communicate with the client via HTTP. Because the Cloud Run platform sees only an opaque Docker container, we have to take care of this bit ourselves. + +:::info + +GCP passes you an environment variable called `PORT` - your HTTP server is expected to be listening on this port (GCP exposes this one to the outer world). + +::: + +The `main.js` script should be looking like this in the end: + +```javascript title="src/main.js" +import { Configuration, PlaywrightCrawler } from 'crawlee'; +import { router } from './routes.js'; +// highlight-start +import express from 'express'; +const app = express(); +// highlight-end + +const startUrls = ['https://crawlee.dev']; + + +// highlight-next-line +app.get('/', async (req, res) => { + const crawler = new PlaywrightCrawler({ + requestHandler: router, + }, new Configuration({ + persistStorage: false, + })); + + await crawler.run(startUrls); + + // highlight-next-line + return res.send(await crawler.getData()); +// highlight-next-line +}); + +// highlight-next-line +app.listen(parseInt(process.env.PORT) || 3000); +``` + +:::tip + +Always make sure to keep all the logic in the request handler - as with other FaaS services, your request handlers have to be **stateless.** + +::: + +## Deploying to GCP + +Now, we’re ready to deploy! If you have initialized your project using `npx crawlee create`, the initialization script has prepared a Dockerfile for you. + +All you have to do now is run `gcloud run deploy` in your project folder (the one with your Dockerfile in it). The gcloud CLI application will ask you a few questions, such as what region you want to deploy your application in, or whether you want to make your application public or private. + +After answering those questions, you should be able to see your application in the GCP dashboard and run it using the link you find there. + +:::tip + +In case your first execution of your newly created Cloud Run fails, try editing the Run configuration - mainly setting the available memory to 1GiB or more and updating the request timeout according to the size of the website you are scraping. + +::: \ No newline at end of file diff --git a/website/versioned_docs/version-3.10/deployment/gcp-cheerio.md b/website/versioned_docs/version-3.10/deployment/gcp-cheerio.md new file mode 100644 index 000000000000..918ff29de93f --- /dev/null +++ b/website/versioned_docs/version-3.10/deployment/gcp-cheerio.md @@ -0,0 +1,81 @@ +--- +id: gcp-cheerio +title: Cheerio on GCP Cloud Functions +--- + +Running CheerioCrawler-based project in GCP functions is actually quite easy - you just have to make a few changes to the project code. + +## Updating the project + +Let’s first create the Crawlee project locally with `npx crawlee create`. Set the `"main"` field in the `package.json` file to `"src/main.js"`. + +```json title="package.json" +{ + "name": "my-crawlee-project", + "version": "1.0.0", + // highlight-next-line + "main": "src/main.js", + ... +} +``` + +Now, let’s update the `main.js` file, namely: + +- Pass a separate `Configuration` instance (with the `persistStorage` option set to `false`) to the crawler constructor. + +```javascript title="src/main.js" +import { CheerioCrawler, Configuration } from 'crawlee'; +import { router } from './routes.js'; + +const startUrls = ['https://crawlee.dev']; + +const crawler = new CheerioCrawler({ + requestHandler: router, +// highlight-start +}, new Configuration({ + persistStorage: false, +})); +// highlight-end + +await crawler.run(startUrls); +``` + +- Wrap the crawler call in a separate handler function. This function: + - Can be asynchronous + - Takes two positional arguments - `req` (containing details about the user-made request to your cloud function) and `res` (response object you can modify). + - Call `res.send(data)` to return any data from the cloud function. +- Export this function from the `src/main.js` module as a named export. + +```javascript title="src/main.js" +import { CheerioCrawler, Configuration } from 'crawlee'; +import { router } from './routes.js'; + +const startUrls = ['https://crawlee.dev']; + +// highlight-next-line +export const handler = async (req, res) => { + const crawler = new CheerioCrawler({ + requestHandler: router, + }, new Configuration({ + persistStorage: false, + })); + + await crawler.run(startUrls); + + // highlight-next-line + return res.send(await crawler.getData()) +// highlight-next-line +} +``` + +## Deploying to Google Cloud Platform + +In the Google Cloud dashboard, create a new function, allocate memory and CPUs to it, set region and function timeout. + +When deploying, pick **ZIP Upload**. You have to create a new GCP storage bucket to store the zip packages in. + +Now, for the package - you should zip all the contents of your project folder **excluding the `node_modules` folder** - GCP doesn’t have Layers like AWS Lambda does, but takes care of the project setup for us based on the `package.json` file). + +Also, make sure to set the **Entry point** to the name of the function you’ve exported from the `src/main.js` file. GCP takes the file from the `package.json`'s `main` field. + +After the Function deploys, you can test it by clicking the “Testing” tab. This tab contains a `curl` script that calls your new Cloud Function. To avoid having to install the `gcloud` CLI application locally, you can also run this script in the Cloud Shell by clicking the link above the code block. diff --git a/website/versioned_docs/version-3.10/examples/.eslintrc.json b/website/versioned_docs/version-3.10/examples/.eslintrc.json new file mode 100644 index 000000000000..d41f6dbc8164 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/.eslintrc.json @@ -0,0 +1,13 @@ +{ + "root": true, + "extends": "@apify/ts", + "parserOptions": { + "project": "./tsconfig.eslint.json", + "ecmaVersion": 2022 + }, + "rules": { + "import/extensions": 0, + "import/no-extraneous-dependencies": 0, + "no-console": "off" + } +} diff --git a/website/versioned_docs/version-3.10/examples/accept_user_input.mdx b/website/versioned_docs/version-3.10/examples/accept_user_input.mdx new file mode 100644 index 000000000000..ddd872f0a848 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/accept_user_input.mdx @@ -0,0 +1,23 @@ +--- +id: accept-user-input +title: Accept user input +--- + +import CodeBlock from '@theme/CodeBlock'; +import AcceptInputSource from '!!raw-loader!./accept_user_input.ts'; + +This example accepts and logs user input: + + + {AcceptInputSource} + + +To provide the actor with input, create a `INPUT.json` file inside the "default" key-value store: + +```bash +{PROJECT_FOLDER}/storage/key_value_stores/default/INPUT.json +``` + +Anything in this file will be available to the actor when it runs. + +To learn about other ways to provide an actor with input, refer to the [Apify Platform Documentation](https://apify.com/docs/actor#run). diff --git a/website/versioned_docs/version-3.10/examples/accept_user_input.ts b/website/versioned_docs/version-3.10/examples/accept_user_input.ts new file mode 100644 index 000000000000..25d4b48ddb59 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/accept_user_input.ts @@ -0,0 +1,4 @@ +import { KeyValueStore } from 'crawlee'; + +const input = await KeyValueStore.getInput(); +console.log(input); diff --git a/website/versioned_docs/version-3.10/examples/add_data_to_dataset.mdx b/website/versioned_docs/version-3.10/examples/add_data_to_dataset.mdx new file mode 100644 index 000000000000..0bf29a3d8d37 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/add_data_to_dataset.mdx @@ -0,0 +1,21 @@ +--- +id: add-data-to-dataset +title: Add data to dataset +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import AddDataToDatasetSource from '!!raw-loader!roa-loader!./add_data_to_dataset.ts'; + +This example saves data to the default dataset. If the dataset doesn't exist, it will be created. +You can save data to custom datasets by using `Dataset.open()` + + + {AddDataToDatasetSource} + + +Each item in this dataset will be saved to its own file in the following directory: + +```bash +{PROJECT_FOLDER}/storage/datasets/default/ +``` diff --git a/website/versioned_docs/version-3.10/examples/add_data_to_dataset.ts b/website/versioned_docs/version-3.10/examples/add_data_to_dataset.ts new file mode 100644 index 000000000000..d57a0186e631 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/add_data_to_dataset.ts @@ -0,0 +1,21 @@ +import { Dataset, CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + // Function called for each URL + async requestHandler({ request, body }) { + // Save data to default dataset + await Dataset.pushData({ + url: request.url, + html: body, + }); + }, +}); + +await crawler.addRequests([ + 'http://www.example.com/page-1', + 'http://www.example.com/page-2', + 'http://www.example.com/page-3', +]); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/basic_crawler.mdx b/website/versioned_docs/version-3.10/examples/basic_crawler.mdx new file mode 100644 index 000000000000..81a53ee9fc15 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/basic_crawler.mdx @@ -0,0 +1,19 @@ +--- +id: basic-crawler +title: Basic crawler +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import BasicCrawlerSource from '!!raw-loader!roa-loader!./basic_crawler.ts'; + +This is the most bare-bones example of using Crawlee, which demonstrates some of its building blocks such as the `BasicCrawler`. You probably don't need to go this deep though, and it would be better to start with one of the full-featured crawlers +like `CheerioCrawler` or `PlaywrightCrawler`. + +The script simply downloads several web pages with plain HTTP requests using the `sendRequest` utility function (which uses the [`got-scraping`](https://github.com/apify/got-scraping) +npm module internally) and stores their raw HTML and URL in the default dataset. In local configuration, the data will be stored as JSON files in +`./storage/datasets/default`. + + + {BasicCrawlerSource} + diff --git a/website/versioned_docs/version-3.10/examples/basic_crawler.ts b/website/versioned_docs/version-3.10/examples/basic_crawler.ts new file mode 100644 index 000000000000..f1e4584a42f1 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/basic_crawler.ts @@ -0,0 +1,35 @@ +import { BasicCrawler, Dataset } from 'crawlee'; + +// Create a BasicCrawler - the simplest crawler that enables +// users to implement the crawling logic themselves. +const crawler = new BasicCrawler({ + // This function will be called for each URL to crawl. + async requestHandler({ request, sendRequest, log }) { + const { url } = request; + log.info(`Processing ${url}...`); + + // Fetch the page HTML via the crawlee sendRequest utility method + // By default, the method will use the current request that is being handled, so you don't have to + // provide it yourself. You can also provide a custom request if you want. + const { body } = await sendRequest(); + + // Store the HTML and URL to the default dataset. + await Dataset.pushData({ + url, + html: body, + }); + }, +}); + +// The initial list of URLs to crawl. Here we use just a few hard-coded URLs. +await crawler.addRequests([ + 'https://www.google.com', + 'https://www.example.com', + 'https://www.bing.com', + 'https://www.wikipedia.com', +]); + +// Run the crawler and wait for it to finish. +await crawler.run(); + +console.log('Crawler finished.'); diff --git a/website/versioned_docs/version-3.10/examples/cheerio_crawler.mdx b/website/versioned_docs/version-3.10/examples/cheerio_crawler.mdx new file mode 100644 index 000000000000..434488ae2e48 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/cheerio_crawler.mdx @@ -0,0 +1,14 @@ +--- +id: cheerio-crawler +title: Cheerio crawler +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import CheerioCrawlerSource from '!!raw-loader!roa-loader!./cheerio_crawler.ts'; + +This example demonstrates how to use `CheerioCrawler` to crawl a list of URLs from an external file, load each URL using a plain HTTP request, parse the HTML using the [Cheerio library](https://www.npmjs.com/package/cheerio) and extract some data from it: the page title and all `h1` tags. + + + {CheerioCrawlerSource} + diff --git a/website/versioned_docs/version-3.10/examples/cheerio_crawler.ts b/website/versioned_docs/version-3.10/examples/cheerio_crawler.ts new file mode 100644 index 000000000000..c496c15727da --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/cheerio_crawler.ts @@ -0,0 +1,64 @@ +import { Dataset, CheerioCrawler, log, LogLevel } from 'crawlee'; + +// Crawlers come with various utilities, e.g. for logging. +// Here we use debug level of logging to improve the debugging experience. +// This functionality is optional! +log.setLevel(LogLevel.DEBUG); + +// Create an instance of the CheerioCrawler class - a crawler +// that automatically loads the URLs and parses their HTML using the cheerio library. +const crawler = new CheerioCrawler({ + // The crawler downloads and processes the web pages in parallel, with a concurrency + // automatically managed based on the available system memory and CPU (see AutoscaledPool class). + // Here we define some hard limits for the concurrency. + minConcurrency: 10, + maxConcurrency: 50, + + // On error, retry each page at most once. + maxRequestRetries: 1, + + // Increase the timeout for processing of each page. + requestHandlerTimeoutSecs: 30, + + // Limit to 10 requests per one crawl + maxRequestsPerCrawl: 10, + + // This function will be called for each URL to crawl. + // It accepts a single parameter, which is an object with options as: + // https://crawlee.dev/api/cheerio-crawler/interface/CheerioCrawlerOptions#requestHandler + // We use for demonstration only 2 of them: + // - request: an instance of the Request class with information such as the URL that is being crawled and HTTP method + // - $: the cheerio object containing parsed HTML + async requestHandler({ request, $ }) { + log.debug(`Processing ${request.url}...`); + + // Extract data from the page using cheerio. + const title = $('title').text(); + const h1texts: { text: string }[] = []; + $('h1').each((index, el) => { + h1texts.push({ + text: $(el).text(), + }); + }); + + // Store the results to the dataset. In local configuration, + // the data will be stored as JSON files in ./storage/datasets/default + await Dataset.pushData({ + url: request.url, + title, + h1texts, + }); + }, + + // This function is called if the page processing failed more than maxRequestRetries + 1 times. + failedRequestHandler({ request }) { + log.debug(`Request ${request.url} failed twice.`); + }, +}); + +// Run the crawler and wait for it to finish. +await crawler.run([ + 'https://crawlee.dev', +]); + +log.debug('Crawler finished.'); diff --git a/website/versioned_docs/version-3.10/examples/crawl_all_links.mdx b/website/versioned_docs/version-3.10/examples/crawl_all_links.mdx new file mode 100644 index 000000000000..85bf49471974 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_all_links.mdx @@ -0,0 +1,63 @@ +--- +id: crawl-all-links +title: Crawl all links on a website +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; + +import CheerioSource from '!!raw-loader!roa-loader!./crawl_all_links_cheerio.ts'; +import PuppeteerSource from '!!raw-loader!roa-loader!./crawl_all_links_puppeteer.ts'; +import PlaywrightSource from '!!raw-loader!roa-loader!./crawl_all_links_playwright.ts'; + +This example uses the `enqueueLinks()` method to add new links to the `RequestQueue` +as the crawler navigates from page to page. + +:::tip + +If no options are given, by default the method will only add links that are under the same subdomain. This behavior can be controlled with the `strategy` +option. You can find more info about this option in the [`Crawl relative links`](./crawl-relative-links) examples. + +::: + + + + + + + {CheerioSource} + + + + + + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + + + {PuppeteerSource} + + + + + + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-playwright-chrome` image for your Dockerfile. + +::: + + + {PlaywrightSource} + + + + + diff --git a/website/versioned_docs/version-3.10/examples/crawl_all_links_cheerio.ts b/website/versioned_docs/version-3.10/examples/crawl_all_links_cheerio.ts new file mode 100644 index 000000000000..e3c930bc2712 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_all_links_cheerio.ts @@ -0,0 +1,13 @@ +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + async requestHandler({ request, enqueueLinks, log }) { + log.info(request.url); + // Add all links from page to RequestQueue + await enqueueLinks(); + }, + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl all links) +}); + +// Run the crawler with initial request +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/examples/crawl_all_links_playwright.ts b/website/versioned_docs/version-3.10/examples/crawl_all_links_playwright.ts new file mode 100644 index 000000000000..bf0440deebb6 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_all_links_playwright.ts @@ -0,0 +1,13 @@ +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + async requestHandler({ request, enqueueLinks, log }) { + log.info(request.url); + // Add all links from page to RequestQueue + await enqueueLinks(); + }, + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl all links) +}); + +// Run the crawler with initial request +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/examples/crawl_all_links_puppeteer.ts b/website/versioned_docs/version-3.10/examples/crawl_all_links_puppeteer.ts new file mode 100644 index 000000000000..cf6fcb55cdb2 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_all_links_puppeteer.ts @@ -0,0 +1,13 @@ +import { PuppeteerCrawler } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + async requestHandler({ request, enqueueLinks, log }) { + log.info(request.url); + // Add all links from page to RequestQueue + await enqueueLinks(); + }, + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl all links) +}); + +// Run the crawler with initial request +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/examples/crawl_multiple_urls.mdx b/website/versioned_docs/version-3.10/examples/crawl_multiple_urls.mdx new file mode 100644 index 000000000000..e6510cff95ff --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_multiple_urls.mdx @@ -0,0 +1,54 @@ +--- +id: crawl-multiple-urls +title: Crawl multiple URLs +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; + +import CheerioSource from '!!raw-loader!roa-loader!./crawl_multiple_urls_cheerio.ts'; +import PuppeteerSource from '!!raw-loader!roa-loader!./crawl_multiple_urls_puppeteer.ts'; +import PlaywrightSource from '!!raw-loader!roa-loader!./crawl_multiple_urls_playwright.ts'; + +This example crawls the specified list of URLs. + + + + + + + {CheerioSource} + + + + + + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + + + {PuppeteerSource} + + + + + + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-playwright-chrome` image for your Dockerfile. + +::: + + + {PlaywrightSource} + + + + + diff --git a/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_cheerio.ts b/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_cheerio.ts new file mode 100644 index 000000000000..011d8b7d6ca6 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_cheerio.ts @@ -0,0 +1,16 @@ +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + // Function called for each URL + async requestHandler({ request, $, log }) { + const title = $('title').text(); + log.info(`URL: ${request.url}\nTITLE: ${title}`); + }, +}); + +// Run the crawler with initial request +await crawler.run([ + 'http://www.example.com/page-1', + 'http://www.example.com/page-2', + 'http://www.example.com/page-3', +]); diff --git a/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_playwright.ts b/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_playwright.ts new file mode 100644 index 000000000000..9581bea3f248 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_playwright.ts @@ -0,0 +1,16 @@ +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + // Function called for each URL + async requestHandler({ request, page, log }) { + const title = await page.title(); + log.info(`URL: ${request.url}\nTITLE: ${title}`); + }, +}); + +// Run the crawler with initial request +await crawler.run([ + 'http://www.example.com/page-1', + 'http://www.example.com/page-2', + 'http://www.example.com/page-3', +]); diff --git a/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_puppeteer.ts b/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_puppeteer.ts new file mode 100644 index 000000000000..d7c6a99a5fc7 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_multiple_urls_puppeteer.ts @@ -0,0 +1,16 @@ +import { PuppeteerCrawler } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + // Function called for each URL + async requestHandler({ request, page, log }) { + const title = await page.title(); + log.info(`URL: ${request.url}\nTITLE: ${title}`); + }, +}); + +// Run the crawler with initial request +await crawler.run([ + 'http://www.example.com/page-1', + 'http://www.example.com/page-2', + 'http://www.example.com/page-3', +]); diff --git a/website/versioned_docs/version-3.10/examples/crawl_relative_links.mdx b/website/versioned_docs/version-3.10/examples/crawl_relative_links.mdx new file mode 100644 index 000000000000..7281f0c7a1a4 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_relative_links.mdx @@ -0,0 +1,88 @@ +--- +id: crawl-relative-links +title: Crawl a website with relative links +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; + +import AllLinksSource from '!!raw-loader!roa-loader!./crawl_relative_links_all.ts'; +import SameDomainSource from '!!raw-loader!roa-loader!./crawl_relative_links_same_domain.ts'; +import SameHostnameSource from '!!raw-loader!roa-loader!./crawl_relative_links_same_hostname.ts'; + +When crawling a website, you may encounter different types of links present that you may want to crawl. +To facilitate the easy crawling of such links, we provide the `enqueueLinks()` method on the crawler context, which will +automatically find links and add them to the crawler's `RequestQueue`. + +We provide 3 different strategies for crawling relative links: + +- All (or the string "all") which will +enqueue all links found, regardless of the domain they point to. +- SameHostname (or the string "same-hostname") which +will enqueue all links found for the same hostname. This is the default strategy. +- SameDomain (or the string "same-domain") which +will enqueue all links found that have the same domain name, including links from any possible subdomain. + +:::note + +For these examples, we are using the `CheerioCrawler`, however +the same method is available for both the `PuppeteerCrawler` +and `PlaywrightCrawler`, and you use it +the exact same way. + +::: + + + + + +:::note Example domains + +Any urls found will be matched by this strategy, even if they go off of the site you are currently crawling. + +::: + + + {AllLinksSource} + + + + + + +:::note Example domains + +For a url of `https://example.com`, `enqueueLinks()` will match relative urls and urls that point to the same +hostname. + +> This is the default strategy when calling `enqueueLinks()`, so you don't have to specify it. + +For instance, hyperlinks like `https://example.com/some/path`, `/absolute/example` or `./relative/example` will all be matched by this strategy. But links to any subdomain like `https://subdomain.example.com/some/path` won't. + +::: + + + {SameHostnameSource} + + + + + + +:::note Example domains + +For a url of `https://subdomain.example.com`, `enqueueLinks()` will match relative urls or urls that point to the same domain name, regardless of their subdomain. + +For instance, hyperlinks like `https://subdomain.example.com/some/path`, `/absolute/example` or `./relative/example` will all be matched by this strategy, as well as links to other subdomains or to the naked domain, like `https://other-subdomain.example.com` or `https://example.com` will work too. + +::: + + + {SameDomainSource} + + + + + diff --git a/website/versioned_docs/version-3.10/examples/crawl_relative_links_all.ts b/website/versioned_docs/version-3.10/examples/crawl_relative_links_all.ts new file mode 100644 index 000000000000..e4401cb9fdff --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_relative_links_all.ts @@ -0,0 +1,18 @@ +import { CheerioCrawler, EnqueueStrategy } from 'crawlee'; + +const crawler = new CheerioCrawler({ + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl all links) + async requestHandler({ request, enqueueLinks, log }) { + log.info(request.url); + await enqueueLinks({ + // Setting the strategy to 'all' will enqueue all links found + // highlight-next-line + strategy: EnqueueStrategy.All, + // Alternatively, you can pass in the string 'all' + // strategy: 'all', + }); + }, +}); + +// Run the crawler with initial request +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/examples/crawl_relative_links_same_domain.ts b/website/versioned_docs/version-3.10/examples/crawl_relative_links_same_domain.ts new file mode 100644 index 000000000000..59c833c0512e --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_relative_links_same_domain.ts @@ -0,0 +1,19 @@ +import { CheerioCrawler, EnqueueStrategy } from 'crawlee'; + +const crawler = new CheerioCrawler({ + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl all links) + async requestHandler({ request, enqueueLinks, log }) { + log.info(request.url); + await enqueueLinks({ + // Setting the strategy to 'same-domain' will enqueue all links found that are on the + // same hostname as request.loadedUrl or request.url + // highlight-next-line + strategy: EnqueueStrategy.SameDomain, + // Alternatively, you can pass in the string 'same-domain' + // strategy: 'same-domain', + }); + }, +}); + +// Run the crawler with initial request +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/examples/crawl_relative_links_same_hostname.ts b/website/versioned_docs/version-3.10/examples/crawl_relative_links_same_hostname.ts new file mode 100644 index 000000000000..052f24dcf9ed --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_relative_links_same_hostname.ts @@ -0,0 +1,19 @@ +import { CheerioCrawler, EnqueueStrategy } from 'crawlee'; + +const crawler = new CheerioCrawler({ + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl all links) + async requestHandler({ request, enqueueLinks, log }) { + log.info(request.url); + await enqueueLinks({ + // Setting the strategy to 'same-hostname' will enqueue all links found that are on the + // same hostname (including subdomain) as request.loadedUrl or request.url + // highlight-next-line + strategy: EnqueueStrategy.SameHostname, + // Alternatively, you can pass in the string 'same-hostname' + // strategy: 'same-hostname', + }); + }, +}); + +// Run the crawler with initial request +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/examples/crawl_single_url.mdx b/website/versioned_docs/version-3.10/examples/crawl_single_url.mdx new file mode 100644 index 000000000000..d15e1d8f5c56 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_single_url.mdx @@ -0,0 +1,17 @@ +--- +id: crawl-single-url +title: Crawl a single URL +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import CrawlSource from '!!raw-loader!roa-loader!./crawl_single_url.ts'; + +This example uses the [`got-scraping`](https://github.com/apify/got-scraping) npm package +to grab the HTML of a web page. + + + {CrawlSource} + + +If you don't want to hard-code the URL into the script, refer to the [Accept User Input](./accept-user-input) example. diff --git a/website/versioned_docs/version-3.10/examples/crawl_single_url.ts b/website/versioned_docs/version-3.10/examples/crawl_single_url.ts new file mode 100644 index 000000000000..f588fd4451c3 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_single_url.ts @@ -0,0 +1,5 @@ +import { gotScraping } from 'got-scraping'; + +// Get the HTML of a web page +const { body } = await gotScraping({ url: 'https://www.example.com' }); +console.log(body); diff --git a/website/versioned_docs/version-3.10/examples/crawl_sitemap.mdx b/website/versioned_docs/version-3.10/examples/crawl_sitemap.mdx new file mode 100644 index 000000000000..711b3c337600 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_sitemap.mdx @@ -0,0 +1,55 @@ +--- +id: crawl-sitemap +title: Crawl a sitemap +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; + +import CheerioSource from '!!raw-loader!roa-loader!./crawl_sitemap_cheerio.ts'; +import PuppeteerSource from '!!raw-loader!roa-loader!./crawl_sitemap_puppeteer.ts'; +import PlaywrightSource from '!!raw-loader!roa-loader!./crawl_sitemap_playwright.ts'; + +This example builds a sitemap crawler which downloads and crawls the URLs from a sitemap, by using the `Sitemap` utility class provided by the `@crawlee/utils` module. + + + + + + + {CheerioSource} + + + + + + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + + + {PuppeteerSource} + + + + + + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-playwright-chrome` image for your Dockerfile. + +::: + + + {PlaywrightSource} + + + + + diff --git a/website/versioned_docs/version-3.10/examples/crawl_sitemap_cheerio.ts b/website/versioned_docs/version-3.10/examples/crawl_sitemap_cheerio.ts new file mode 100644 index 000000000000..d59853af1974 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_sitemap_cheerio.ts @@ -0,0 +1,16 @@ +import { CheerioCrawler, Sitemap } from 'crawlee'; + +const crawler = new CheerioCrawler({ + // Function called for each URL + async requestHandler({ request, log }) { + log.info(request.url); + }, + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl a sitemap) +}); + +const { urls } = await Sitemap.load('https://crawlee.dev/sitemap.xml'); + +await crawler.addRequests(urls); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/crawl_sitemap_playwright.ts b/website/versioned_docs/version-3.10/examples/crawl_sitemap_playwright.ts new file mode 100644 index 000000000000..427399d4cabb --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_sitemap_playwright.ts @@ -0,0 +1,16 @@ +import { PlaywrightCrawler, Sitemap } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + // Function called for each URL + async requestHandler({ request, log }) { + log.info(request.url); + }, + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl a sitemap) +}); + +const { urls } = await Sitemap.load('https://crawlee.dev/sitemap.xml'); + +await crawler.addRequests(urls); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/crawl_sitemap_puppeteer.ts b/website/versioned_docs/version-3.10/examples/crawl_sitemap_puppeteer.ts new file mode 100644 index 000000000000..7718bd02b0a7 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_sitemap_puppeteer.ts @@ -0,0 +1,16 @@ +import { PuppeteerCrawler, Sitemap } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + // Function called for each URL + async requestHandler({ request, log }) { + log.info(request.url); + }, + maxRequestsPerCrawl: 10, // Limitation for only 10 requests (do not use if you want to crawl a sitemap) +}); + +const { urls } = await Sitemap.load('https://crawlee.dev/sitemap.xml'); + +await crawler.addRequests(urls); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/crawl_some_links.mdx b/website/versioned_docs/version-3.10/examples/crawl_some_links.mdx new file mode 100644 index 000000000000..fb9cde71600e --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_some_links.mdx @@ -0,0 +1,14 @@ +--- +id: crawl-some-links +title: Crawl some links on a website +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import CrawlSource from '!!raw-loader!roa-loader!./crawl_some_links.ts'; + +This `CheerioCrawler` example uses the `globs` property in the `enqueueLinks()` method to only add links to the `RequestQueue` queue if they match the specified pattern. + + + {CrawlSource} + diff --git a/website/versioned_docs/version-3.10/examples/crawl_some_links.ts b/website/versioned_docs/version-3.10/examples/crawl_some_links.ts new file mode 100644 index 000000000000..51912bb10f67 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawl_some_links.ts @@ -0,0 +1,21 @@ +import { CheerioCrawler } from 'crawlee'; + +// Create a CheerioCrawler +const crawler = new CheerioCrawler({ + // Limits the crawler to only 10 requests (do not use if you want to crawl all links) + maxRequestsPerCrawl: 10, + // Function called for each URL + async requestHandler({ request, enqueueLinks, log }) { + log.info(request.url); + // Add some links from page to the crawler's RequestQueue + await enqueueLinks({ + globs: ['http?(s)://crawlee.dev/*/*'], + }); + }, +}); + +// Define the starting URL +await crawler.addRequests(['https://crawlee.dev']); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/crawler-plugins/index.mdx b/website/versioned_docs/version-3.10/examples/crawler-plugins/index.mdx new file mode 100644 index 000000000000..fc38fa195a1a --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawler-plugins/index.mdx @@ -0,0 +1,78 @@ +--- +id: playwright-puppeteer-extra +title: Using puppeteer-extra and playwright-extra +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import ApiLink from '@site/src/components/ApiLink'; +import PuppeteerExtraSource from '!!raw-loader!roa-loader!./puppeteer-extra.ts'; +import PlaywrightExtraSource from '!!raw-loader!roa-loader!./playwright-extra.ts'; + +[`puppeteer-extra`](https://www.npmjs.com/package/puppeteer-extra) and [`playwright-extra`](https://www.npmjs.com/package/playwright-extra) are community-built +libraries that bring in a plugin system to enhance the usage of [`puppeteer`](https://www.npmjs.com/package/puppeteer) and +[`playwright`](https://www.npmjs.com/package/playwright) respectively (bringing in extra functionality, like improving stealth for +example by using the Puppeteer Stealth plugin [(`puppeteer-extra-plugin-stealth`)](https://www.npmjs.com/package/puppeteer-extra-plugin-stealth)). + +:::tip Available plugins + +You can see a list of available plugins on the [`puppeteer-extra`s plugin list](https://www.npmjs.com/package/puppeteer-extra#plugins). + +For [`playwright`](https://www.npmjs.com/package/playwright), please see [`playwright-extra`s plugin list](https://www.npmjs.com/package/playwright-extra#plugins) instead. + +::: + +In this example, we'll show you how to use the Puppeteer Stealth [(`puppeteer-extra-plugin-stealth`)](https://www.npmjs.com/package/puppeteer-extra-plugin-stealth) plugin +to help you avoid bot detections when crawling your target website. + + + + +:::info Before you begin + +Make sure you've installed the Puppeteer Extra (`puppeteer-extra`) and Puppeteer Stealth plugin(`puppeteer-extra-plugin-stealth`) packages via your preferred package manager + +```bash +npm install puppeteer-extra puppeteer-extra-plugin-stealth +``` + +::: + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + + + {PuppeteerExtraSource} + + + + + + +:::info Before you begin + +Make sure you've installed the `playwright-extra` and `puppeteer-extra-plugin-stealth` packages via your preferred package manager + +```bash +npm install playwright-extra puppeteer-extra-plugin-stealth +``` + +::: + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + + + {PlaywrightExtraSource} + + + + + diff --git a/website/versioned_docs/version-3.10/examples/crawler-plugins/playwright-extra.ts b/website/versioned_docs/version-3.10/examples/crawler-plugins/playwright-extra.ts new file mode 100644 index 000000000000..c2b733f4752a --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawler-plugins/playwright-extra.ts @@ -0,0 +1,74 @@ +import { Dataset, PlaywrightCrawler } from 'crawlee'; + +// For playwright-extra you will need to import the browser type itself that you want to use! +// By default, PlaywrightCrawler uses chromium, but you can also use firefox or webkit. +import { chromium } from 'playwright-extra'; +import stealthPlugin from 'puppeteer-extra-plugin-stealth'; + +// First, we tell playwright-extra to use the plugin (or plugins) we want. +// Certain plugins might have options you can pass in - read up on their documentation! +chromium.use(stealthPlugin()); + +// Create an instance of the PlaywrightCrawler class - a crawler +// that automatically loads the URLs in headless Chrome / Playwright. +const crawler = new PlaywrightCrawler({ + launchContext: { + // !!! You need to specify this option to tell Crawlee to use playwright-extra as the launcher !!! + launcher: chromium, + launchOptions: { + // Other playwright options work as usual + headless: true, + }, + }, + + // Stop crawling after several pages + maxRequestsPerCrawl: 50, + + // This function will be called for each URL to crawl. + // Here you can write the Puppeteer scripts you are familiar with, + // with the exception that browsers and pages are automatically managed by Crawlee. + // The function accepts a single parameter, which is an object with the following fields: + // - request: an instance of the Request class with information such as URL and HTTP method + // - page: Puppeteer's Page object (see https://pptr.dev/#show=api-class-page) + async requestHandler({ request, page, enqueueLinks, log }) { + log.info(`Processing ${request.url}...`); + + // A function to be evaluated by Puppeteer within the browser context. + const data = await page.$$eval('.athing', ($posts) => { + const scrapedData: { title: string; rank: string; href: string }[] = []; + + // We're getting the title, rank and URL of each post on Hacker News. + $posts.forEach(($post) => { + scrapedData.push({ + title: $post.querySelector('.title a').innerText, + rank: $post.querySelector('.rank').innerText, + href: $post.querySelector('.title a').href, + }); + }); + + return scrapedData; + }); + + // Store the results to the default dataset. + await Dataset.pushData(data); + + // Find a link to the next page and enqueue it if it exists. + const infos = await enqueueLinks({ + selector: '.morelink', + }); + + if (infos.processedRequests.length === 0) log.info(`${request.url} is the last page!`); + }, + + // This function is called if the page processing failed more than maxRequestRetries+1 times. + failedRequestHandler({ request, log }) { + log.error(`Request ${request.url} failed too many times.`); + }, +}); + +await crawler.addRequests(['https://news.ycombinator.com/']); + +// Run the crawler and wait for it to finish. +await crawler.run(); + +console.log('Crawler finished.'); diff --git a/website/versioned_docs/version-3.10/examples/crawler-plugins/puppeteer-extra.ts b/website/versioned_docs/version-3.10/examples/crawler-plugins/puppeteer-extra.ts new file mode 100644 index 000000000000..6da7bf8a8eb2 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/crawler-plugins/puppeteer-extra.ts @@ -0,0 +1,71 @@ +import { Dataset, PuppeteerCrawler } from 'crawlee'; +import puppeteerExtra from 'puppeteer-extra'; +import stealthPlugin from 'puppeteer-extra-plugin-stealth'; + +// First, we tell puppeteer-extra to use the plugin (or plugins) we want. +// Certain plugins might have options you can pass in - read up on their documentation! +puppeteerExtra.use(stealthPlugin()); + +// Create an instance of the PuppeteerCrawler class - a crawler +// that automatically loads the URLs in headless Chrome / Puppeteer. +const crawler = new PuppeteerCrawler({ + launchContext: { + // !!! You need to specify this option to tell Crawlee to use puppeteer-extra as the launcher !!! + launcher: puppeteerExtra, + launchOptions: { + // Other puppeteer options work as usual + headless: true, + }, + }, + + // Stop crawling after several pages + maxRequestsPerCrawl: 50, + + // This function will be called for each URL to crawl. + // Here you can write the Puppeteer scripts you are familiar with, + // with the exception that browsers and pages are automatically managed by Crawlee. + // The function accepts a single parameter, which is an object with the following fields: + // - request: an instance of the Request class with information such as URL and HTTP method + // - page: Puppeteer's Page object (see https://pptr.dev/#show=api-class-page) + async requestHandler({ request, page, enqueueLinks, log }) { + log.info(`Processing ${request.url}...`); + + // A function to be evaluated by Puppeteer within the browser context. + const data = await page.$$eval('.athing', ($posts) => { + const scrapedData: { title: string; rank: string; href: string }[] = []; + + // We're getting the title, rank and URL of each post on Hacker News. + $posts.forEach(($post) => { + scrapedData.push({ + title: $post.querySelector('.title a').innerText, + rank: $post.querySelector('.rank').innerText, + href: $post.querySelector('.title a').href, + }); + }); + + return scrapedData; + }); + + // Store the results to the default dataset. + await Dataset.pushData(data); + + // Find a link to the next page and enqueue it if it exists. + const infos = await enqueueLinks({ + selector: '.morelink', + }); + + if (infos.processedRequests.length === 0) log.info(`${request.url} is the last page!`); + }, + + // This function is called if the page processing failed more than maxRequestRetries+1 times. + failedRequestHandler({ request, log }) { + log.error(`Request ${request.url} failed too many times.`); + }, +}); + +await crawler.addRequests(['https://news.ycombinator.com/']); + +// Run the crawler and wait for it to finish. +await crawler.run(); + +console.log('Crawler finished.'); diff --git a/website/versioned_docs/version-3.10/examples/export_entire_dataset.mdx b/website/versioned_docs/version-3.10/examples/export_entire_dataset.mdx new file mode 100644 index 000000000000..bea044b92697 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/export_entire_dataset.mdx @@ -0,0 +1,14 @@ +--- +id: export-entire-dataset +title: Export entire dataset to one file +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import CrawlSource from '!!raw-loader!roa-loader!./export_entire_dataset.ts'; + +This `Dataset` example uses the `exportToValue` function to export the entire default dataset to a single CSV file into the default key-value store. + + + {CrawlSource} + diff --git a/website/versioned_docs/version-3.10/examples/export_entire_dataset.ts b/website/versioned_docs/version-3.10/examples/export_entire_dataset.ts new file mode 100644 index 000000000000..c912a9e5c45f --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/export_entire_dataset.ts @@ -0,0 +1,20 @@ +import { Dataset } from 'crawlee'; + +// Retrieve or generate two items to be pushed +const data = [ + { + id: 123, + name: 'foo', + }, + { + id: 456, + name: 'bar', + }, +]; + +// Push the two items to the default dataset +await Dataset.pushData(data); + +// Export the entirety of the dataset to a single file in +// the default key-value store under the key "OUTPUT" +await Dataset.exportToCSV('OUTPUT'); diff --git a/website/versioned_docs/version-3.10/examples/forms.mdx b/website/versioned_docs/version-3.10/examples/forms.mdx new file mode 100644 index 000000000000..9d3250afa7cf --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/forms.mdx @@ -0,0 +1,24 @@ +--- +id: forms +title: Forms +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import CrawlSource from '!!raw-loader!roa-loader!./forms.ts'; + +This example demonstrates how to use `PuppeteerCrawler` to +automatically fill and submit a search form to look up repositories on [GitHub](https://github.com) using headless Chrome / Puppeteer. +The crawler first fills in the search term, repository owner, start date and language of the repository, then submits the form +and prints out the results. Finally, the results are saved either on the Apify platform to the +default `dataset` or on the local machine as JSON files in `./storage/datasets/default`. + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + + + {CrawlSource} + diff --git a/website/versioned_docs/version-3.10/examples/forms.ts b/website/versioned_docs/version-3.10/examples/forms.ts new file mode 100644 index 000000000000..29677f91d101 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/forms.ts @@ -0,0 +1,39 @@ +import { Dataset, launchPuppeteer } from 'crawlee'; + +// Launch the web browser. +const browser = await launchPuppeteer(); + +// Create and navigate new page +console.log('Open target page'); +const page = await browser.newPage(); +await page.goto('https://github.com/search/advanced'); + +// Fill form fields and select desired search options +console.log('Fill in search form'); +await page.type('#adv_code_search input.js-advanced-search-input', 'apify-js'); +await page.type('#search_from', 'apify'); +await page.type('#search_date', '>2015'); +await page.select('select#search_language', 'JavaScript'); + +// Submit the form and wait for full load of next page +console.log('Submit search form'); +await Promise.all([ + page.waitForNavigation({ waitUntil: 'networkidle2' }), + page.click('#adv_code_search button[type="submit"]'), +]); + +// Obtain and print list of search results +const results = await page.$$eval('[data-testid="results-list"] div.search-title > a', + (nodes) => nodes.map((node) => ({ + url: node.href, + name: node.innerText, + })), +); + +console.log('Results:', results); + +// Store data in default dataset +await Dataset.pushData(results); + +// Close browser +await browser.close(); diff --git a/website/versioned_docs/version-3.10/examples/http_crawler.mdx b/website/versioned_docs/version-3.10/examples/http_crawler.mdx new file mode 100644 index 000000000000..41f5d25394f3 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/http_crawler.mdx @@ -0,0 +1,14 @@ +--- +id: http-crawler +title: HTTP crawler +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import HttpCrawlerSource from '!!raw-loader!roa-loader!./http_crawler.ts'; + +This example demonstrates how to use `HttpCrawler` to build a crawler that crawls a list of URLs from an external file, load each URL using a plain HTTP request, and save HTML. + + + {HttpCrawlerSource} + diff --git a/website/versioned_docs/version-3.10/examples/http_crawler.ts b/website/versioned_docs/version-3.10/examples/http_crawler.ts new file mode 100644 index 000000000000..3940fc5de650 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/http_crawler.ts @@ -0,0 +1,55 @@ +import { Dataset, HttpCrawler, log, LogLevel } from 'crawlee'; + +// Crawlers come with various utilities, e.g. for logging. +// Here we use debug level of logging to improve the debugging experience. +// This functionality is optional! +log.setLevel(LogLevel.DEBUG); + +// Create an instance of the HttpCrawler class - a crawler +// that automatically loads the URLs and saves their HTML. +const crawler = new HttpCrawler({ + // The crawler downloads and processes the web pages in parallel, with a concurrency + // automatically managed based on the available system memory and CPU (see AutoscaledPool class). + // Here we define some hard limits for the concurrency. + minConcurrency: 10, + maxConcurrency: 50, + + // On error, retry each page at most once. + maxRequestRetries: 1, + + // Increase the timeout for processing of each page. + requestHandlerTimeoutSecs: 30, + + // Limit to 10 requests per one crawl + maxRequestsPerCrawl: 10, + + // This function will be called for each URL to crawl. + // It accepts a single parameter, which is an object with options as: + // https://crawlee.dev/api/http-crawler/interface/HttpCrawlerOptions#requestHandler + // We use for demonstration only 2 of them: + // - request: an instance of the Request class with information such as the URL that is being crawled and HTTP method + // - body: the HTML code of the current page + async requestHandler({ request, body }) { + log.debug(`Processing ${request.url}...`); + + // Store the results to the dataset. In local configuration, + // the data will be stored as JSON files in ./storage/datasets/default + await Dataset.pushData({ + url: request.url, // URL of the page + body, // HTML code of the page + }); + }, + + // This function is called if the page processing failed more than maxRequestRetries + 1 times. + failedRequestHandler({ request }) { + log.debug(`Request ${request.url} failed twice.`); + }, +}); + +// Run the crawler and wait for it to finish. +// It will crawl a list of URLs from an external file, load each URL using a plain HTTP request, and save HTML +await crawler.run([ + 'https://crawlee.dev', +]); + +log.debug('Crawler finished.'); diff --git a/website/versioned_docs/version-3.10/examples/jsdom_crawler.mdx b/website/versioned_docs/version-3.10/examples/jsdom_crawler.mdx new file mode 100644 index 000000000000..32732a0d891d --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/jsdom_crawler.mdx @@ -0,0 +1,22 @@ +--- +id: jsdom-crawler +title: JSDOM crawler +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import JSDOMCrawlerSource from '!!raw-loader!roa-loader!./jsdom_crawler.ts'; +import JSDOMCrawlerRunScriptSource from '!!raw-loader!roa-loader!./jsdom_crawler_react.ts'; + +This example demonstrates how to use `JSDOMCrawler` to interact with a website using [jsdom](https://www.npmjs.com/package/jsdom) DOM implementation. +Here the script will open a calculator app from the [React examples](https://reactjs.org/community/examples.html), click `1` `+` `1` `=` and extract the result. + + + {JSDOMCrawlerRunScriptSource} + + +In the following example, we use `JSDOMCrawler` to crawl a list of URLs from an external file, load each URL using a plain HTTP request, parse the HTML using the [jsdom](https://www.npmjs.com/package/jsdom) DOM implementation and extract some data from it: the page title and all `h1` tags. + + + {JSDOMCrawlerSource} + diff --git a/website/versioned_docs/version-3.10/examples/jsdom_crawler.ts b/website/versioned_docs/version-3.10/examples/jsdom_crawler.ts new file mode 100644 index 000000000000..e72034113c2d --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/jsdom_crawler.ts @@ -0,0 +1,64 @@ +import { Dataset, JSDOMCrawler, log, LogLevel } from 'crawlee'; + +// Crawlers come with various utilities, e.g. for logging. +// Here we use debug level of logging to improve the debugging experience. +// This functionality is optional! +log.setLevel(LogLevel.DEBUG); + +// Create an instance of the JSDOMCrawler class - a crawler +// that automatically loads the URLs and parses their HTML using the jsdom library. +const crawler = new JSDOMCrawler({ + // The crawler downloads and processes the web pages in parallel, with a concurrency + // automatically managed based on the available system memory and CPU (see AutoscaledPool class). + // Here we define some hard limits for the concurrency. + minConcurrency: 10, + maxConcurrency: 50, + + // On error, retry each page at most once. + maxRequestRetries: 1, + + // Increase the timeout for processing of each page. + requestHandlerTimeoutSecs: 30, + + // Limit to 10 requests per one crawl + maxRequestsPerCrawl: 10, + + // This function will be called for each URL to crawl. + // It accepts a single parameter, which is an object with options as: + // https://crawlee.dev/api/jsdom-crawler/interface/JSDOMCrawlerOptions#requestHandler + // We use for demonstration only 2 of them: + // - request: an instance of the Request class with information such as the URL that is being crawled and HTTP method + // - window: the JSDOM window object + async requestHandler({ request, window }) { + log.debug(`Processing ${request.url}...`); + + // Extract data from the page + const title = window.document.title; + const h1texts: { text: string }[] = []; + window.document.querySelectorAll('h1').forEach((element) => { + h1texts.push({ + text: element.textContent!, + }); + }); + + // Store the results to the dataset. In local configuration, + // the data will be stored as JSON files in ./storage/datasets/default + await Dataset.pushData({ + url: request.url, + title, + h1texts, + }); + }, + + // This function is called if the page processing failed more than maxRequestRetries + 1 times. + failedRequestHandler({ request }) { + log.debug(`Request ${request.url} failed twice.`); + }, +}); + +// Run the crawler and wait for it to finish. +await crawler.run([ + 'https://crawlee.dev', +]); + +log.debug('Crawler finished.'); diff --git a/website/versioned_docs/version-3.10/examples/jsdom_crawler_react.ts b/website/versioned_docs/version-3.10/examples/jsdom_crawler_react.ts new file mode 100644 index 000000000000..8b3ec163bc6d --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/jsdom_crawler_react.ts @@ -0,0 +1,32 @@ +import { JSDOMCrawler, log } from 'crawlee'; + +// Create an instance of the JSDOMCrawler class - crawler that automatically +// loads the URLs and parses their HTML using the jsdom library. +const crawler = new JSDOMCrawler({ + // Setting the `runScripts` option to `true` allows the crawler to execute client-side + // JavaScript code on the page. This is required for some websites (such as the React application in this example), but may pose a security risk. + runScripts: true, + // This function will be called for each crawled URL. + // Here we extract the window object from the options and use it to extract data from the page. + requestHandler: async ({ window }) => { + const { document } = window; + // The `document` object is analogous to the `window.document` object you know from your favourite web browsers. + // Thanks to this, you can use the regular browser-side APIs here. + document.querySelectorAll('button')[12].click(); // 1 + document.querySelectorAll('button')[15].click(); // + + document.querySelectorAll('button')[12].click(); // 1 + document.querySelectorAll('button')[18].click(); // = + + const result = document.querySelectorAll('.component-display')[0].childNodes[0] as Element; + // The result is passed to the console. Unlike with Playwright or Puppeteer crawlers, + // this console call goes to the Node.js console, not the browser console. All the code here runs right in Node.js! + log.info(result.innerHTML); // 2 + }, +}); + +// Run the crawler and wait for it to finish. +await crawler.run([ + 'https://ahfarmer.github.io/calculator/', +]); + +log.debug('Crawler finished.'); \ No newline at end of file diff --git a/website/versioned_docs/version-3.10/examples/map.ts b/website/versioned_docs/version-3.10/examples/map.ts new file mode 100644 index 000000000000..a06142a912f1 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/map.ts @@ -0,0 +1,28 @@ +import { Dataset, KeyValueStore } from 'crawlee'; + +const dataset = await Dataset.open<{ + url: string, + headingCount: number, +}>(); + +// Seeding the dataset with some data +await dataset.pushData([ + { + url: 'https://crawlee.dev/', + headingCount: 11, + }, + { + url: 'https://crawlee.dev/storage', + headingCount: 8, + }, + { + url: 'https://crawlee.dev/proxy', + headingCount: 4, + }, +]); + +// Calling map function and filtering through mapped items... +const moreThan5headers = (await dataset.map((item) => item.headingCount)).filter((count) => count > 5); + +// Saving the result of map to default key-value store... +await KeyValueStore.setValue('pages_with_more_than_5_headers', moreThan5headers); diff --git a/website/versioned_docs/version-3.10/examples/map_and_reduce.mdx b/website/versioned_docs/version-3.10/examples/map_and_reduce.mdx new file mode 100644 index 000000000000..46adb446ae61 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/map_and_reduce.mdx @@ -0,0 +1,80 @@ +--- +id: map-and-reduce +title: Dataset Map and Reduce methods +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import MapSource from '!!raw-loader!roa-loader!./map.ts'; +import ReduceSource from '!!raw-loader!roa-loader!./reduce.ts'; + +This example shows an easy use-case of the `Dataset` `map` +and `reduce` methods. Both methods can be used to simplify +the dataset results workflow process. Both can be called on the dataset directly. + +Important to mention is that both methods return a new result (`map` returns a new array and `reduce` can return any type) - neither method updates +the dataset in any way. + +Examples for both methods are demonstrated on a simple dataset containing the results scraped from a page: the `URL` and a hypothetical number of +`h1` - `h3` header elements under the `headingCount` key. + +This data structure is stored in the default dataset under `{PROJECT_FOLDER}/storage/datasets/default/`. If you want to simulate the +functionality, you can use the `dataset.pushData()` +method to save the example `JSON array` to your dataset. + +```json +[ + { + "url": "https://crawlee.dev/", + "headingCount": 11 + }, + { + "url": "https://crawlee.dev/storage", + "headingCount": 8 + }, + { + "url": "https://crawlee.dev/proxy", + "headingCount": 4 + } +] +``` + +### Map + +The dataset `map` method is very similar to standard Array mapping methods. It produces a new array of values by mapping each value in the existing +array through a transformation function and an options parameter. + +The `map` method used to check if are there more than 5 header elements on each page: + + + {MapSource} + + +The `moreThan5headers` variable is an array of `headingCount` attributes where the number of headers is greater than 5. + +The `map` method's result value saved to the `key-value store` should be: + +```javascript +[11, 8] +``` + +### Reduce + +The dataset `reduce` method does not produce a new array of values - it reduces a list of values down to a single value. The method iterates through +the items in the dataset using the `memo` argument. After performing the necessary +calculation, the `memo` is sent to the next iteration, while the item just processed is reduced (removed). + +Using the `reduce` method to get the total number of headers scraped (all items in the dataset): + + + {ReduceSource} + + +The original dataset will be reduced to a single value, `pagesHeadingCount`, which contains the count of all headers for all scraped pages (all +dataset items). + +The `reduce` method's result value saved to the `key-value store` should be: + +```javascript +23 +``` diff --git a/website/versioned_docs/version-3.10/examples/playwright_crawler.mdx b/website/versioned_docs/version-3.10/examples/playwright_crawler.mdx new file mode 100644 index 000000000000..c029c2b3265f --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/playwright_crawler.mdx @@ -0,0 +1,22 @@ +--- +id: playwright-crawler +title: Playwright crawler +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import CrawlSource from '!!raw-loader!roa-loader!./playwright_crawler.ts'; + +This example demonstrates how to use `PlaywrightCrawler` in combination with `RequestQueue` to recursively scrape the [Hacker News website](https://news.ycombinator.com) using headless Chrome / Playwright. + +The crawler starts with a single URL, finds links to next pages, enqueues them and continues until no more desired links are available. The results are stored to the default dataset. In local configuration, the results are stored as JSON files in `./storage/datasets/default`. + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-playwright-chrome` image for your Dockerfile. + +::: + + + {CrawlSource} + diff --git a/website/versioned_docs/version-3.10/examples/playwright_crawler.ts b/website/versioned_docs/version-3.10/examples/playwright_crawler.ts new file mode 100644 index 000000000000..d27830b76f3c --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/playwright_crawler.ts @@ -0,0 +1,64 @@ +import { Dataset, PlaywrightCrawler } from 'crawlee'; + +// Create an instance of the PlaywrightCrawler class - a crawler +// that automatically loads the URLs in headless Chrome / Playwright. +const crawler = new PlaywrightCrawler({ + launchContext: { + // Here you can set options that are passed to the playwright .launch() function. + launchOptions: { + headless: true, + }, + }, + + // Stop crawling after several pages + maxRequestsPerCrawl: 50, + + // This function will be called for each URL to crawl. + // Here you can write the Playwright scripts you are familiar with, + // with the exception that browsers and pages are automatically managed by Crawlee. + // The function accepts a single parameter, which is an object with a lot of properties, + // the most important being: + // - request: an instance of the Request class with information such as URL and HTTP method + // - page: Playwright's Page object (see https://playwright.dev/docs/api/class-page) + async requestHandler({ request, page, enqueueLinks, log }) { + log.info(`Processing ${request.url}...`); + + // A function to be evaluated by Playwright within the browser context. + const data = await page.$$eval('.athing', ($posts) => { + const scrapedData: { title: string; rank: string; href: string }[] = []; + + // We're getting the title, rank and URL of each post on Hacker News. + $posts.forEach(($post) => { + scrapedData.push({ + title: $post.querySelector('.title a').innerText, + rank: $post.querySelector('.rank').innerText, + href: $post.querySelector('.title a').href, + }); + }); + + return scrapedData; + }); + + // Store the results to the default dataset. + await Dataset.pushData(data); + + // Find a link to the next page and enqueue it if it exists. + const infos = await enqueueLinks({ + selector: '.morelink', + }); + + if (infos.processedRequests.length === 0) log.info(`${request.url} is the last page!`); + }, + + // This function is called if the page processing failed more than maxRequestRetries+1 times. + failedRequestHandler({ request, log }) { + log.info(`Request ${request.url} failed too many times.`); + }, +}); + +await crawler.addRequests(['https://news.ycombinator.com/']); + +// Run the crawler and wait for it to finish. +await crawler.run(); + +console.log('Crawler finished.'); diff --git a/website/versioned_docs/version-3.10/examples/playwright_crawler_firefox.mdx b/website/versioned_docs/version-3.10/examples/playwright_crawler_firefox.mdx new file mode 100644 index 000000000000..08aa865f124b --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/playwright_crawler_firefox.mdx @@ -0,0 +1,22 @@ +--- +id: playwright-crawler-firefox +title: Using Firefox browser with Playwright crawler +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import PlaywrightFirefoxSource from '!!raw-loader!roa-loader!./playwright_crawler_firefox.ts'; + +This example demonstrates how to use `PlaywrightCrawler` with headless Firefox browser. + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-playwright-firefox` image for your Dockerfile. + +::: + + + {PlaywrightFirefoxSource} + + +To see a real-world example of how to use `PlaywrightCrawler` in combination with `RequestQueue` to recursively scrape the [Hacker News website](https://news.ycombinator.com) check out the [`Playwright crawler example`](./playwright-crawler). diff --git a/website/versioned_docs/version-3.10/examples/playwright_crawler_firefox.ts b/website/versioned_docs/version-3.10/examples/playwright_crawler_firefox.ts new file mode 100644 index 000000000000..cd91b2121d42 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/playwright_crawler_firefox.ts @@ -0,0 +1,22 @@ +import { PlaywrightCrawler } from 'crawlee'; +import { firefox } from 'playwright'; + +// Create an instance of the PlaywrightCrawler class. +const crawler = new PlaywrightCrawler({ + launchContext: { + // Set the Firefox browser to be used by the crawler. + // If launcher option is not specified here, + // default Chromium browser will be used. + launcher: firefox, + }, + async requestHandler({ request, page, log }) { + const pageTitle = await page.title(); + + log.info(`URL: ${request.loadedUrl} | Page title: ${pageTitle}`); + }, +}); + +await crawler.addRequests(['https://example.com']); + +// Run the crawler and wait for it to finish. +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_capture_screenshot.mdx b/website/versioned_docs/version-3.10/examples/puppeteer_capture_screenshot.mdx new file mode 100644 index 000000000000..b9387e868186 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_capture_screenshot.mdx @@ -0,0 +1,75 @@ +--- +id: capture-screenshot +title: Capture a screenshot using Puppeteer +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; + +import PuppeteerPageScreenshotSource from '!!raw-loader!roa-loader!./puppeteer_page_screenshot.ts'; +import PuppeteerCrawlerUtilsSnapshotSource from '!!raw-loader!roa-loader!./puppeteer_crawler_utils_snapshot.ts'; +import PuppeteerCrawlerPageScreenshotSource from '!!raw-loader!roa-loader!./puppeteer_crawler_page_screenshot.ts'; +import PuppeteerCrawlerCrawlerUtilsSnapshotSource from '!!raw-loader!roa-loader!./puppeteer_crawler_crawler_utils_snapshot.ts'; + +## Using Puppeteer directly + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + +This example captures a screenshot of a web page using `Puppeteer`. It would look almost exactly the same with `Playwright`. + + + + +Using `page.screenshot()`: + + + {PuppeteerPageScreenshotSource} + + + + + + +Using `utils.puppeteer.saveSnapshot()`: + + + {PuppeteerCrawlerUtilsSnapshotSource} + + + + + +## Using `PuppeteerCrawler` + +This example captures a screenshot of multiple web pages when using `PuppeteerCrawler`: + + + + +Using `page.screenshot()`: + + + {PuppeteerCrawlerPageScreenshotSource} + + + + + + +Using the context-aware `saveSnapshot()` utility: + + + {PuppeteerCrawlerCrawlerUtilsSnapshotSource} + + + + + +In both examples using `page.screenshot()`, a `key` variable is created based on the URL of the web page. This variable is used as the key when saving +each screenshot into a key-value store. diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_crawler.mdx b/website/versioned_docs/version-3.10/examples/puppeteer_crawler.mdx new file mode 100644 index 000000000000..a2df07301151 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_crawler.mdx @@ -0,0 +1,25 @@ +--- +id: puppeteer-crawler +title: Puppeteer crawler +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import CrawlSource from '!!raw-loader!roa-loader!./puppeteer_crawler.ts'; + +This example demonstrates how to use `PuppeteerCrawler` in combination +with `RequestQueue` +to recursively scrape the [Hacker News website](https://news.ycombinator.com) using headless Chrome / Puppeteer. + +The crawler starts with a single URL, finds links to next pages, enqueues them and continues until no more desired links are available. The results +are stored to the default dataset. In local configuration, the results are stored as JSON files in `./storage/datasets/default` + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + + + {CrawlSource} + diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_crawler.ts b/website/versioned_docs/version-3.10/examples/puppeteer_crawler.ts new file mode 100644 index 000000000000..17d74e1b4ed7 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_crawler.ts @@ -0,0 +1,64 @@ +import { Dataset, PuppeteerCrawler } from 'crawlee'; + +// Create an instance of the PuppeteerCrawler class - a crawler +// that automatically loads the URLs in headless Chrome / Puppeteer. +const crawler = new PuppeteerCrawler({ + // Here you can set options that are passed to the launchPuppeteer() function. + launchContext: { + launchOptions: { + headless: true, + // Other Puppeteer options + }, + }, + + // Stop crawling after several pages + maxRequestsPerCrawl: 50, + + // This function will be called for each URL to crawl. + // Here you can write the Puppeteer scripts you are familiar with, + // with the exception that browsers and pages are automatically managed by Crawlee. + // The function accepts a single parameter, which is an object with the following fields: + // - request: an instance of the Request class with information such as URL and HTTP method + // - page: Puppeteer's Page object (see https://pptr.dev/#show=api-class-page) + async requestHandler({ request, page, enqueueLinks, log }) { + log.info(`Processing ${request.url}...`); + + // A function to be evaluated by Puppeteer within the browser context. + const data = await page.$$eval('.athing', ($posts) => { + const scrapedData: { title: string; rank: string; href: string }[] = []; + + // We're getting the title, rank and URL of each post on Hacker News. + $posts.forEach(($post) => { + scrapedData.push({ + title: $post.querySelector('.title a').innerText, + rank: $post.querySelector('.rank').innerText, + href: $post.querySelector('.title a').href, + }); + }); + + return scrapedData; + }); + + // Store the results to the default dataset. + await Dataset.pushData(data); + + // Find a link to the next page and enqueue it if it exists. + const infos = await enqueueLinks({ + selector: '.morelink', + }); + + if (infos.processedRequests.length === 0) log.info(`${request.url} is the last page!`); + }, + + // This function is called if the page processing failed more than maxRequestRetries+1 times. + failedRequestHandler({ request, log }) { + log.error(`Request ${request.url} failed too many times.`); + }, +}); + +await crawler.addRequests(['https://news.ycombinator.com/']); + +// Run the crawler and wait for it to finish. +await crawler.run(); + +console.log('Crawler finished.'); diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_crawler_crawler_utils_snapshot.ts b/website/versioned_docs/version-3.10/examples/puppeteer_crawler_crawler_utils_snapshot.ts new file mode 100644 index 000000000000..fbc1fcc7a35a --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_crawler_crawler_utils_snapshot.ts @@ -0,0 +1,20 @@ +import { PuppeteerCrawler } from 'crawlee'; + +// Create a PuppeteerCrawler +const crawler = new PuppeteerCrawler({ + async requestHandler({ request, saveSnapshot }) { + // Convert the URL into a valid key + const key = request.url.replace(/[:/]/g, '_'); + // Capture the screenshot + await saveSnapshot({ key, saveHtml: false }); + }, +}); + +await crawler.addRequests([ + { url: 'http://www.example.com/page-1' }, + { url: 'http://www.example.com/page-2' }, + { url: 'http://www.example.com/page-3' }, +]); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_crawler_page_screenshot.ts b/website/versioned_docs/version-3.10/examples/puppeteer_crawler_page_screenshot.ts new file mode 100644 index 000000000000..7cc4095c4552 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_crawler_page_screenshot.ts @@ -0,0 +1,22 @@ +import { PuppeteerCrawler, KeyValueStore } from 'crawlee'; + +// Create a PuppeteerCrawler +const crawler = new PuppeteerCrawler({ + async requestHandler({ request, page }) { + // Capture the screenshot with Puppeteer + const screenshot = await page.screenshot(); + // Convert the URL into a valid key + const key = request.url.replace(/[:/]/g, '_'); + // Save the screenshot to the default key-value store + await KeyValueStore.setValue(key, screenshot, { contentType: 'image/png' }); + }, +}); + +await crawler.addRequests([ + { url: 'http://www.example.com/page-1' }, + { url: 'http://www.example.com/page-2' }, + { url: 'http://www.example.com/page-3' }, +]); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_crawler_utils_snapshot.ts b/website/versioned_docs/version-3.10/examples/puppeteer_crawler_utils_snapshot.ts new file mode 100644 index 000000000000..13f9150911f8 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_crawler_utils_snapshot.ts @@ -0,0 +1,17 @@ +import { launchPuppeteer, utils } from 'crawlee'; + +const url = 'http://www.example.com/'; +// Start a browser +const browser = await launchPuppeteer(); + +// Open new tab in the browser +const page = await browser.newPage(); + +// Navigate to the URL +await page.goto(url); + +// Capture the screenshot +await utils.puppeteer.saveSnapshot(page, { key: 'my-key', saveHtml: false }); + +// Close Puppeteer +await browser.close(); diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_page_screenshot.ts b/website/versioned_docs/version-3.10/examples/puppeteer_page_screenshot.ts new file mode 100644 index 000000000000..fd4e99c5fea0 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_page_screenshot.ts @@ -0,0 +1,22 @@ +import { KeyValueStore, launchPuppeteer } from 'crawlee'; + +const keyValueStore = await KeyValueStore.open(); + +const url = 'https://crawlee.dev'; +// Start a browser +const browser = await launchPuppeteer(); + +// Open new tab in the browser +const page = await browser.newPage(); + +// Navigate to the URL +await page.goto(url); + +// Capture the screenshot +const screenshot = await page.screenshot(); + +// Save the screenshot to the default key-value store +await keyValueStore.setValue('my-key', screenshot, { contentType: 'image/png' }); + +// Close Puppeteer +await browser.close(); diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_recursive_crawl.mdx b/website/versioned_docs/version-3.10/examples/puppeteer_recursive_crawl.mdx new file mode 100644 index 000000000000..cd5b21c0bb0a --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_recursive_crawl.mdx @@ -0,0 +1,20 @@ +--- +id: puppeteer-recursive-crawl +title: Puppeteer recursive crawl +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import CrawlSource from '!!raw-loader!roa-loader!./puppeteer_recursive_crawl.ts'; + +Run the following example to perform a recursive crawl of a website using `PuppeteerCrawler`. + +:::tip + +To run this example on the Apify Platform, select the `apify/actor-node-puppeteer-chrome` image for your Dockerfile. + +::: + + + {CrawlSource} + diff --git a/website/versioned_docs/version-3.10/examples/puppeteer_recursive_crawl.ts b/website/versioned_docs/version-3.10/examples/puppeteer_recursive_crawl.ts new file mode 100644 index 000000000000..ad48b324796b --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/puppeteer_recursive_crawl.ts @@ -0,0 +1,17 @@ +import { PuppeteerCrawler } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + async requestHandler({ request, page, enqueueLinks, log }) { + const title = await page.title(); + log.info(`Title of ${request.url}: ${title}`); + + await enqueueLinks({ + globs: ['http?(s)://www.iana.org/**'], + }); + }, + maxRequestsPerCrawl: 10, +}); + +await crawler.addRequests(['https://www.iana.org/']); + +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/reduce.ts b/website/versioned_docs/version-3.10/examples/reduce.ts new file mode 100644 index 000000000000..243966c90703 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/reduce.ts @@ -0,0 +1,30 @@ +import { Dataset, KeyValueStore } from 'crawlee'; + +const dataset = await Dataset.open<{ + url: string, + headingCount: number, +}>(); + +// Seeding the dataset with some data +await dataset.pushData([ + { + url: 'https://crawlee.dev/', + headingCount: 11, + }, + { + url: 'https://crawlee.dev/storage', + headingCount: 8, + }, + { + url: 'https://crawlee.dev/proxy', + headingCount: 4, + }, +]); + +// calling reduce function and using memo to calculate number of headers +const pagesHeadingCount = await dataset.reduce((memo, value) => { + return memo + value.headingCount; +}, 0); + +// saving result of map to default Key-value store +await KeyValueStore.setValue('pages_heading_count', pagesHeadingCount); diff --git a/website/versioned_docs/version-3.10/examples/skip-navigation.mdx b/website/versioned_docs/version-3.10/examples/skip-navigation.mdx new file mode 100644 index 000000000000..5e63840200ab --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/skip-navigation.mdx @@ -0,0 +1,23 @@ +--- +id: skip-navigation +title: Skipping navigations for certain requests +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import SkipNavigationSource from '!!raw-loader!roa-loader!./skip-navigation.ts'; + +While crawling a website, you may encounter certain resources you'd like to save, but don't need the full power of a crawler to do so (like images delivered through a CDN). + +By combining the `Request#skipNavigation` option with `sendRequest`, we can fetch the image from the CDN, and save it to our key-value store without needing to use the full crawler. + + +:::info + +For this example, we are using the `PlaywrightCrawler` to showcase this, but this is available on all the crawlers we provide. + +::: + + + {SkipNavigationSource} + diff --git a/website/versioned_docs/version-3.10/examples/skip-navigation.ts b/website/versioned_docs/version-3.10/examples/skip-navigation.ts new file mode 100644 index 000000000000..0bbde53c1375 --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/skip-navigation.ts @@ -0,0 +1,31 @@ +import { PlaywrightCrawler, KeyValueStore } from 'crawlee'; + +// Create a key value store for all images we find +const imageStore = await KeyValueStore.open('images'); + +const crawler = new PlaywrightCrawler({ + async requestHandler({ request, page, sendRequest }) { + // The request should have the navigation skipped + if (request.skipNavigation) { + // Request the image and get its buffer back + const imageResponse = await sendRequest({ responseType: 'buffer' }); + + // Save the image in the key-value store + await imageStore.setValue(`${request.userData.key}.png`, imageResponse.body); + + // Prevent executing the rest of the code as we do not need it + return; + } + + // Get all the image sources in the current page + const images = await page.$$eval('img', (imgs) => imgs.map((img) => img.src)); + + // Add all the urls as requests for the crawler, giving each image a key + await crawler.addRequests(images.map((url, i) => ({ url, skipNavigation: true, userData: { key: i } }))); + }, +}); + +await crawler.addRequests(['https://crawlee.dev']); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/examples/tsconfig.json b/website/versioned_docs/version-3.10/examples/tsconfig.json new file mode 100644 index 000000000000..62b84708237b --- /dev/null +++ b/website/versioned_docs/version-3.10/examples/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "@apify/tsconfig", + "compilerOptions": { + "baseUrl": "../..", + "paths": { + "crawlee": ["packages/crawlee/src"], + "@crawlee/basic": ["packages/basic-crawler/src"], + "@crawlee/browser": ["packages/browser-crawler/src"], + "@crawlee/http": ["packages/http-crawler/src"], + "@crawlee/linkedom": ["packages/linkedom-crawler/src"], + "@crawlee/jsdom": ["packages/jsdom-crawler/src"], + "@crawlee/cheerio": ["packages/cheerio-crawler/src"], + "@crawlee/playwright": ["packages/playwright-crawler/src"], + "@crawlee/puppeteer": ["packages/puppeteer-crawler/src"], + "@crawlee/*": ["packages/*/src"] + }, + "target": "ES2022", + "module": "ES2022", + "noUnusedParameters": false + } +} diff --git a/website/versioned_docs/version-3.10/experiments/request_locking.mdx b/website/versioned_docs/version-3.10/experiments/request_locking.mdx new file mode 100644 index 000000000000..224b59ec7006 --- /dev/null +++ b/website/versioned_docs/version-3.10/experiments/request_locking.mdx @@ -0,0 +1,146 @@ +--- +id: experiments-request-locking +title: Request Locking +description: Parallelize crawlers with ease using request locking +--- + +import ApiLink from '@site/src/components/ApiLink'; + +:::tip Release announcement + +As of **May 2024** (`crawlee` version `3.10.0`), this experiment is now enabled by default! With that said, if you encounter issues you can: + +- set `requestLocking` to `false` in the `experiments` object of your crawler options +- update all imports of `RequestQueue` to `RequestQueueV1` +- open an issue on our [GitHub repository](https://github.com/apify/crawlee) + +The content below is kept for documentation purposes. +If you're interested in the changes, you can read the [blog post about the new Request Queue storage system on the Apify blog](https://blog.apify.com/new-apify-request-queue/). + +::: + +--- + +:::caution + +This is an experimental feature. While we welcome testers, keep in mind that it is currently not recommended to use this in production. + +The API is subject to change, and we might introduce breaking changes in the future. + +Should you be using this, feel free to open issues on our [GitHub repository](https://github.com/apify/crawlee), and we'll take a look. + +::: + +Starting with `crawlee` version `3.5.5`, we have introduced a new crawler option that lets you enable using a new request locking +API. With this API, you will be able to pass a `RequestQueue` to multiple crawlers to parallelize the crawling process. + +:::info Keep in mind + +The request queue that supports request locking is currently exported via the `RequestQueueV2` class. Once the experiment is over, this class will replace +the current `RequestQueue` class + +::: + +## How to enable the experiment + +### In crawlers + +:::note + +This example shows how to enable the experiment in the `CheerioCrawler`, +but you can apply this to any crawler type. + +::: + +```ts +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + // highlight-next-line + experiments: { + // highlight-next-line + requestLocking: true, + // highlight-next-line + }, + async requestHandler({ $, request }) { + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + }, +}); + +await crawler.run(['https://crawlee.dev']); +``` + +### Outside crawlers (to setup your own request queue that supports locking) + +Previously, you would import `RequestQueue` from `crawlee`. To switch to the queue that supports locking, you need to import `RequestQueueV2` instead. + +```ts +// highlight-next-line +import { RequestQueueV2 } from 'crawlee'; + +const queue = await RequestQueueV2.open('my-locking-queue'); +await queue.addRequests([ + { url: 'https://crawlee.dev' }, + { url: 'https://crawlee.dev/docs' }, + { url: 'https://crawlee.dev/api' }, +]); +``` + +### Using the new request queue in crawlers + +If you make your own request queue that supports locking, you will also need to enable the experiment in your crawlers. + +:::danger + +If you do not enable the experiment, you will receive a runtime error and the crawler will not start. + +::: + +```ts +import { CheerioCrawler, RequestQueueV2 } from 'crawlee'; + +// highlight-next-line +const queue = await RequestQueueV2.open('my-locking-queue'); + +const crawler = new CheerioCrawler({ + // highlight-next-line + experiments: { + // highlight-next-line + requestLocking: true, + // highlight-next-line + }, + // highlight-next-line + requestQueue: queue, + async requestHandler({ $, request }) { + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + }, +}); + +await crawler.run(); +``` + +## Other changes + +:::info + +This section is only useful if you're a tinkerer and want to see what's going on under the hood. + +::: + +In order to facilitate the new request locking API, as well as keep both the current request queue logic and the new, locking based request queue +logic, we have implemented a common starting point called `RequestProvider`. + +This class implements almost all functions by default, but expects you, the developer, to implement the following methods: +`fetchNextRequest` and `ensureHeadIsNotEmpty`. These methods are responsible for loading and returning requests to process, +and tell crawlers if there are more requests to process. + +You can use this base class to implement your own request providers if you need to fetch requests from a different source. + +:::tip + +We recommend you use TypeScript when implementing your own request provider, as it comes with suggestions for the abstract methods, as well as +giving you the exact types you need to return. + +::: diff --git a/website/versioned_docs/version-3.10/guides/avoid_blocking.mdx b/website/versioned_docs/version-3.10/guides/avoid_blocking.mdx new file mode 100644 index 000000000000..e23cad57fe1d --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/avoid_blocking.mdx @@ -0,0 +1,61 @@ +--- +id: avoid-blocking +title: Avoid getting blocked +description: How to avoid getting blocked when scraping +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import PlaywrightSource from '!!raw-loader!./avoid_blocking_playwright.ts'; +import PuppeteerSource from '!!raw-loader!./avoid_blocking_puppeteer'; +import PlaywrightFingerprintsOffSource from '!!raw-loader!./avoid_blocking_playwright_fingerprints_off.ts'; +import PuppeteerFingerprintsOffSource from '!!raw-loader!./avoid_blocking_puppeteer_fingerprints_off.ts'; + +A scraper might get blocked for numerous reasons. Let's narrow it down to the two main ones. The first is a bad or blocked IP address. You can learn about this topic in the [proxy management guide](./proxy-management). The second reason is [browser fingerprints](https://pixelprivacy.com/resources/browser-fingerprinting/) (or signatures), which we will explore more in this guide. Check the [Apify Academy anti-scraping course](https://docs.apify.com/academy/anti-scraping) to gain a deeper theoretical understanding of blocking and learn a few tips and tricks. + +Browser fingerprint is a collection of browser attributes and significant features that can show if our browser is a bot or a real user. Moreover, most browsers have these unique features that allow the website to track the browser even within different IP addresses. This is the main reason why scrapers should change browser fingerprints while doing browser-based scraping. In return, it should significantly reduce the blocking. + +## Using browser fingerprints + +Changing browser fingerprints can be a tedious job. Luckily, Crawlee provides this feature with zero configuration necessary - the usage of fingerprints is enabled by default and available in `PlaywrightCrawler` and `PuppeteerCrawler`. So whenever we build a scraper that is using one of these crawlers - the fingerprints are going to be generated for the default browser and the operating system out of the box. + +## Customizing browser fingerprints + +In certain cases we want to narrow down the fingerprints used - e.g. specify a certain operating system, locale or browser. This is also possible with Crawlee - the crawler can have the generation algorithm customized to reflect the particular browser version and many more. Let's take a look at the examples bellow: + + + + + {PlaywrightSource} + + + + + {PuppeteerSource} + + + + +## Disabling browser fingerprints + +On the contrary, sometimes we want to entirely disable the usage of browser fingerprints. This is easy to do with Crawlee too. All we have to do is set the `useFingerprints` option of the `browserPoolOptions` to `false`: + + + + + {PlaywrightFingerprintsOffSource} + + + + + {PuppeteerFingerprintsOffSource} + + + + +**Related links** + +- [Fingerprint Suite Docs](https://github.com/apify/fingerprint-suite) +- [Apify Academy anti-scraping course](https://docs.apify.com/academy/anti-scraping) diff --git a/website/versioned_docs/version-3.10/guides/avoid_blocking_playwright.ts b/website/versioned_docs/version-3.10/guides/avoid_blocking_playwright.ts new file mode 100644 index 000000000000..8a8543504c75 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/avoid_blocking_playwright.ts @@ -0,0 +1,23 @@ +import { PlaywrightCrawler } from 'crawlee'; +import { BrowserName, DeviceCategory, OperatingSystemsName } from '@crawlee/browser-pool'; + +const crawler = new PlaywrightCrawler({ + browserPoolOptions: { + useFingerprints: true, // this is the default + fingerprintOptions: { + fingerprintGeneratorOptions: { + browsers: [{ + name: BrowserName.edge, + minVersion: 96, + }], + devices: [ + DeviceCategory.desktop, + ], + operatingSystems: [ + OperatingSystemsName.windows, + ], + }, + }, + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/avoid_blocking_playwright_fingerprints_off.ts b/website/versioned_docs/version-3.10/guides/avoid_blocking_playwright_fingerprints_off.ts new file mode 100644 index 000000000000..c36e52fc3aba --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/avoid_blocking_playwright_fingerprints_off.ts @@ -0,0 +1,8 @@ +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + browserPoolOptions: { + useFingerprints: false, + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/avoid_blocking_puppeteer.ts b/website/versioned_docs/version-3.10/guides/avoid_blocking_puppeteer.ts new file mode 100644 index 000000000000..6a4a2ea2eec7 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/avoid_blocking_puppeteer.ts @@ -0,0 +1,23 @@ +import { PuppeteerCrawler } from 'crawlee'; +import { BrowserName, DeviceCategory } from '@crawlee/browser-pool'; + +const crawler = new PuppeteerCrawler({ + browserPoolOptions: { + useFingerprints: true, // this is the default + fingerprintOptions: { + fingerprintGeneratorOptions: { + browsers: [ + BrowserName.chrome, + BrowserName.firefox, + ], + devices: [ + DeviceCategory.mobile, + ], + locales: [ + 'en-US', + ], + }, + }, + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/avoid_blocking_puppeteer_fingerprints_off.ts b/website/versioned_docs/version-3.10/guides/avoid_blocking_puppeteer_fingerprints_off.ts new file mode 100644 index 000000000000..425b4d3d5ba6 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/avoid_blocking_puppeteer_fingerprints_off.ts @@ -0,0 +1,8 @@ +import { PuppeteerCrawler } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + browserPoolOptions: { + useFingerprints: false, + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/cheerio_crawler.mdx b/website/versioned_docs/version-3.10/guides/cheerio_crawler.mdx new file mode 100644 index 000000000000..d6926e9906de --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/cheerio_crawler.mdx @@ -0,0 +1,87 @@ +--- +id: cheerio-crawler-guide +title: "CheerioCrawler guide" +sidebar_label: "CheerioCrawler" +description: Your first steps into the world of scraping with Crawlee +--- + +import ApiLink from '@site/src/components/ApiLink'; + +​`CheerioCrawler` is our simplest and fastest crawler. If you're familiar with [jQuery](https://jquery.com/), you'll understand `CheerioCrawler` in minutes. + +## What is Cheerio + +[Cheerio](https://cheerio.js.org/) is essentially [jQuery](https://jquery.com/) for Node.js. It offers the same API, including the familiar `$` object. You can use it, as you would use jQuery for manipulating the DOM of an HTML page. In crawling, you'll mostly use it to select the needed elements and extract their values - the data you're interested in. But jQuery runs in a browser and attaches directly to the browser's DOM. Where does `cheerio` get its HTML? This is where the `Crawler` part of `CheerioCrawler` comes in. + +## How the crawler works + +​`CheerioCrawler` crawls by making plain HTTP requests to the provided URLs using the specialized [got-scraping](https://github.com/apify/got-scraping) HTTP client. The URLs are fed to the crawler using `RequestQueue`. The HTTP responses it gets back are usually HTML pages. The same pages you would get in your browser when you first load a URL. But it can handle any content types with the help of the `additionalMimeTypes` option. + +:::info + +Modern web pages often do not serve all of their content in the first HTML response, but rather the first HTML contains links to other resources such as CSS and JavaScript that get downloaded afterwards, and together they create the final page. To crawl those, see `PuppeteerCrawler` and `PlaywrightCrawler`. + +::: + +Once the page's HTML is retrieved, the crawler will pass it to [Cheerio](https://github.com/cheeriojs/cheerio) for parsing. The result is the typical `$` function, which should be familiar to jQuery users. You can use the `$` function to do all sorts of lookups and manipulation of the page's HTML, but in scraping, you will mostly use it to find specific HTML elements and extract their data. + +Example use of Cheerio and its `$` function in comparison to browser JavaScript: + +```ts +// Return the text content of the element. +document.querySelector('title').textContent; // plain JS +$('title').text(); // Cheerio + +// Return an array of all 'href' links on the page. +Array.from(document.querySelectorAll('[href]')).map(el => el.href); // plain JS +$('[href]') + .map((i, el) => $(el).attr('href')) + .get(); // Cheerio +``` + +:::note + +This is not to show that Cheerio is better than plain browser JavaScript. Some might actually prefer the more expressive way plain JS provides. Unfortunately, the browser JavaScript methods are not available in Node.js, so Cheerio is your best bet to do the parsing in Node.js. + +::: + +## When to use `CheerioCrawler` + +`CheerioCrawler` really shines when you need to cope with extremely high workloads. With just 4 GBs of memory and a single CPU core, you can scrape 500 or more pages a minute! _(assuming each page contains approximately 400KB of HTML)_. To scrape this fast with a full browser scraper, such as the <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink>, you'd need significantly more computing power. + +**Advantages:** + +- Extremely fast and cheap to run +- Easy to set up +- Familiar for jQuery users +- Automatically avoids some anti-scraping bans + +**Disadvantages:** + +- Does not work for websites that require JavaScript rendering +- May easily overload the target website with requests +- Does not enable any manipulation of the website before scraping + +## Example use of Cheerio + +### Get text content of an element + +Finds the first `<h2>` element and returns its text content. + +```js +$('h2').text() +``` + +### Find all links on a page + +This snippet finds all `<a>` elements which have the `href` attribute and extracts the hrefs into an array. + +```js +$('a[href]') + .map((i, el) => $(el).attr('href')) + .get(); +``` + +### Other examples + +Visit the [Examples](../examples) section to browse examples of `CheerioCrawler` usage. Almost all examples show `CheerioCrawler` code in their code tabs. diff --git a/website/versioned_docs/version-3.10/guides/configuration.mdx b/website/versioned_docs/version-3.10/guides/configuration.mdx new file mode 100644 index 000000000000..f5977e330e93 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/configuration.mdx @@ -0,0 +1,224 @@ +--- +id: configuration +title: Configuration +description: Configuring Crawlee parameters +--- + +import ApiLink from '@site/src/components/ApiLink'; + +​<ApiLink to="core/class/Configuration">`Configuration`</ApiLink> is a class holding Crawlee configuration parameters. By default, you don't need to set or change any of them, but for certain use cases you might want to do so, e.g. in order to change the default storage directory, or enable verbose error logging, and so on. + +There are three ways of changing the configuration parameters: + +- adding `crawlee.json` file to your project +- setting environment variables +- using the `Configuration` class + +You could also combine all the above, but you should keep in mind, that the precedence for these 3 options is the following: +***`crawlee.json`*** < ***constructor options*** < ***environment variables***. + +`crawlee.json` is a baseline. The options provided in the `Configuration` constructor will override the options provided in the JSON. Environment variables will override both. + +## `crawlee.json` + +The first option you could use for configuring Crawlee is `crawlee.json` file. The only thing you need to do is specify the <ApiLink to="core/interface/ConfigurationOptions">`ConfigurationOptions`</ApiLink> in the file, place the file in the root of your project, and Crawlee will use provided options as global configuration. + +```json title="crawlee.json" +{ + "persistStateIntervalMillis": 10000, + "logLevel": "DEBUG" +} +``` + +With `crawlee.json` you don't need to do anything else in the code: + +```js +import { CheerioCrawler, sleep } from 'crawlee'; +// We are not importing nor passing +// the Configuration to the crawler. +// We are not assigning any env vars either. +const crawler = new CheerioCrawler(); + +crawler.router.addDefaultHandler(async ({ request }) => { + // for the first request we wait for 5 seconds, + // and add the second request to the queue + if (request.url === 'https://www.example.com/1') { + await sleep(5_000); + await crawler.addRequests(['https://www.example.com/2']) + } + // for the second request we wait for 10 seconds, + // and abort the run + if (request.url === 'https://www.example.com/2') { + await sleep(10_000); + process.exit(0); + } +}); + +await crawler.run(['https://www.example.com/1']); +``` + +If you run this example (assuming you placed the `crawlee.json` file with `persistStateIntervalMillis` and `logLevel` specified there in the root of your project), you will find the `SDK_CRAWLER_STATISTICS` file in default Key-Value store, +which would show, that there's 1 finished request and crawler runtime was ~10 seconds. +This confirms that the state was persisted after 10 seconds, as it was set in `crawlee.json`. +Besides, you should see `DEBUG` logs in addition to `INFO` ones in your terminal, as `logLevel` was set to `DEBUG` in the `crawlee.json`, meaning Crawlee picked both provided options correctly. + +## Environment Variables + +Another way of configuring Crawlee is setting environment variables. +The following is a list of the environment variables used by Crawlee that are available to the user. + +### Important env vars + +The following environment variables have large impact on the way Crawlee works and its behavior +can be changed significantly by setting or unsetting them. + +#### `CRAWLEE_STORAGE_DIR` + +Defines the path to a local directory where <ApiLink to="core/class/KeyValueStore">`KeyValueStore`</ApiLink>, <ApiLink to="core/class/Dataset">`Dataset`</ApiLink>, and <ApiLink to="core/class/RequestQueue">`RequestQueue`</ApiLink> store their data. By default, it is set to `./storage`. + +#### `CRAWLEE_DEFAULT_DATASET_ID` + +The default dataset has ID `default`. Setting this environment variable overrides the default dataset ID with the provided value. + +#### `CRAWLEE_DEFAULT_KEY_VALUE_STORE_ID` + +The default key-value store has ID `default`. Setting this environment variable overrides the default key-value store ID with the provided value. + +#### `CRAWLEE_DEFAULT_REQUEST_QUEUE_ID` + +The default request queue has ID `default`. Setting this environment variable overrides the default request queue ID with the provided value. + +#### `CRAWLEE_PURGE_ON_START` + +Storage directories are purged by default. If set to `false` - local storage directories would not be purged automatically at the start of the crawler run or before opening of some storage explicitly (e.g. via `Dataset.open()`). Useful if we're trying e.g. to add more items to dataset with each next run (and keep the previously saved/scraped items). + +### Convenience env vars + +The next group includes env vars that can help achieve certain goals without having to change +our code, such as temporarily switching log level to DEBUG or enabling verbose logging for errors. + +#### `CRAWLEE_HEADLESS` + +If set to `1`, web browsers launched by Crawlee will run in the headless mode. We can still override +this setting in the code, e.g. by passing the `headless: true` option to the <ApiLink to="puppeteer-crawler/function/launchPuppeteer">`launchPuppeteer()`</ApiLink> function. By default, the browsers +are launched in headful mode, i.e. with windows. + +#### `CRAWLEE_LOG_LEVEL` + +Specifies the minimum log level, which can be one of the following values (in order of severity): +`DEBUG`, `INFO`, `WARNING`, `ERROR` and `OFF`. By default, the log level is set to `INFO`, +which means that `DEBUG` messages are not printed to console. See the <ApiLink to="core/class/Log">`utils.log`</ApiLink> +namespace for logging utilities. + +#### `CRAWLEE_VERBOSE_LOG` + +Enables verbose logging if set to `true`. If not explicitly set to `true` - for errors thrown from inside request handler a warning with only error message will be logged as long as we know the request will be retried. Same applies to some known errors (such as timeout errors). Disabled by default. + +#### `CRAWLEE_MEMORY_MBYTES` + +Sets the amount of system memory in megabytes to be used by the <ApiLink to="core/class/AutoscaledPool">`AutoscaledPool`</ApiLink>. +It is used to limit the number of concurrently running tasks. By default, the max amount of memory +to be used is set to one quarter of total system memory, i.e. on a system with 8192 MB of memory, +the autoscaling feature will only use up to 2048 MB of memory. + +## Configuration class + +The last option to adjust Crawlee configuration is to use the <ApiLink to="core/class/Configuration">`Configuration`</ApiLink> class in the code. + +### Global Configuration + +By default, there is a global singleton instance of `Configuration` class, it is used by the crawlers and some other classes that depend on a configurable behavior. In most cases you don't need to adjust any options there, but if needed - you can get access to it via <ApiLink to="core/class/Configuration#getGlobalConfig">`Configuration.getGlobalConfig()`</ApiLink> function. Now you can easily <ApiLink to="core/class/Configuration#get">`get`</ApiLink> and <ApiLink to="core/class/Configuration#set">`set`</ApiLink> the <ApiLink to="core/interface/ConfigurationOptions">`ConfigurationOptions`</ApiLink>. + +```js +import { CheerioCrawler, Configuration, sleep } from 'crawlee'; + +// Get the global configuration +const config = Configuration.getGlobalConfig(); +// Set the 'persistStateIntervalMillis' option +// of global configuration to 10 seconds +config.set('persistStateIntervalMillis', 10_000); + +// Note, that we are not passing the configuration to the crawler +// as it's using the global configuration +const crawler = new CheerioCrawler(); + +crawler.router.addDefaultHandler(async ({ request }) => { + // For the first request we wait for 5 seconds, + // and add the second request to the queue + if (request.url === 'https://www.example.com/1') { + await sleep(5_000); + await crawler.addRequests(['https://www.example.com/2']) + } + // For the second request we wait for 10 seconds, + // and abort the run + if (request.url === 'https://www.example.com/2') { + await sleep(10_000); + process.exit(0); + } +}); + +await crawler.run(['https://www.example.com/1']); +``` + +This is pretty much the same example we used for showing `crawlee.json` usage, +but now we're using the global configuration, which is the only difference. +If you run this example - you will find the `SDK_CRAWLER_STATISTICS` file in default Key-Value store as before, +which would show the same number of finishes requests (one) and the same crawler runtime (~10 seconds). +This confirms that provided parameters worked: the state was persisted after 10 seconds, as it was set in the global configuration. + +:::note + +After running the same example with commented two lines of code related to `Configuration` there will be +no `SDK_CRAWLER_STATISTICS` file stored in the default Key-Value store: +as we did not change the `persistStateIntervalMillis`, Crawlee used the default value of 60 seconds, +and the crawler was forcefully aborted after ~15 seconds of run time before it persisted the state for the first time. + +::: + +### Custom configuration + +Alternatively, you can create a custom configuration. In this case you need to pass it to the class that is going to use it, e.g. to the crawler. Let's adjust the previous example: + +```js +import { CheerioCrawler, Configuration, sleep } from 'crawlee'; + +// Create new configuration +const config = new Configuration({ + // Set the 'persistStateIntervalMillis' option to 10 seconds + persistStateIntervalMillis: 10_000, +}); + +// Now we need to pass the configuration to the crawler +const crawler = new CheerioCrawler({}, config); + +crawler.router.addDefaultHandler(async ({ request }) => { + // for the first request we wait for 5 seconds, + // and add the second request to the queue + if (request.url === 'https://www.example.com/1') { + await sleep(5_000); + await crawler.addRequests(['https://www.example.com/2']) + } + // for the second request we wait for 10 seconds, + // and abort the run + if (request.url === 'https://www.example.com/2') { + await sleep(10_000); + process.exit(0); + } +}); + +await crawler.run(['https://www.example.com/1']); +``` + +If you run this example - it would work exactly the same as before, +with the same `SDK_CRAWLER_STATISTICS` file in default Key-Value store after the run, +showing the same number of finished requests and the same crawler run time. + +:::note + +If you would not pass the configuration to the crawler, there again will be +no `SDK_CRAWLER_STATISTICS` file stored in the default Key-Value store, this time for a different reason though. +Since we did not pass the configuration to the crawler, +the crawler will use the global configuration, which is using the default `persistStateIntervalMillis`. +So again, the run was aborted before the state was persisted for the first time. + +::: diff --git a/website/versioned_docs/version-3.10/guides/docker_browser_js.txt b/website/versioned_docs/version-3.10/guides/docker_browser_js.txt new file mode 100644 index 000000000000..afe996891551 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/docker_browser_js.txt @@ -0,0 +1,29 @@ +# Specify the base Docker image. You can read more about +# the available images at https://crawlee.dev/docs/guides/docker-images +# You can also use any other image from Docker Hub. +FROM apify/actor-node-playwright-chrome:16 + +# Copy just package.json and package-lock.json +# to speed up the build using Docker layer cache. +COPY --chown=myuser package*.json ./ + +# Install NPM packages, skip optional and development dependencies to +# keep the image small. Avoid logging too much and print the dependency +# tree for debugging +RUN npm --quiet set progress=false \ + && npm install --omit=dev --omit=optional \ + && echo "Installed NPM packages:" \ + && (npm list --omit=dev --all || true) \ + && echo "Node.js version:" \ + && node --version \ + && echo "NPM version:" \ + && npm --version + +# Next, copy the remaining files and directories with the source code. +# Since we do this after NPM install, quick build will be really fast +# for most source file changes. +COPY --chown=myuser . ./ + + +# Run the image. +CMD npm start --silent diff --git a/website/versioned_docs/version-3.10/guides/docker_browser_ts.txt b/website/versioned_docs/version-3.10/guides/docker_browser_ts.txt new file mode 100644 index 000000000000..e6477ffc3fce --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/docker_browser_ts.txt @@ -0,0 +1,51 @@ +# Specify the base Docker image. You can read more about +# the available images at https://crawlee.dev/docs/guides/docker-images +# You can also use any other image from Docker Hub. +FROM apify/actor-node-playwright-chrome:16 AS builder + +# Copy just package.json and package-lock.json +# to speed up the build using Docker layer cache. +COPY --chown=myuser package*.json ./ + +# Install all dependencies. Don't audit to speed up the installation. +RUN npm install --include=dev --audit=false + +# Next, copy the source files using the user set +# in the base image. +COPY --chown=myuser . ./ + +# Install all dependencies and build the project. +# Don't audit to speed up the installation. +RUN npm run build + +# Create final image +FROM apify/actor-node-playwright-chrome:16 + +# Copy only built JS files from builder image +COPY --from=builder --chown=myuser /home/myuser/dist ./dist + +# Copy just package.json and package-lock.json +# to speed up the build using Docker layer cache. +COPY --chown=myuser package*.json ./ + +# Install NPM packages, skip optional and development dependencies to +# keep the image small. Avoid logging too much and print the dependency +# tree for debugging +RUN npm --quiet set progress=false \ + && npm install --omit=dev --omit=optional \ + && echo "Installed NPM packages:" \ + && (npm list --omit=dev --all || true) \ + && echo "Node.js version:" \ + && node --version \ + && echo "NPM version:" \ + && npm --version + +# Next, copy the remaining files and directories with the source code. +# Since we do this after NPM install, quick build will be really fast +# for most source file changes. +COPY --chown=myuser . ./ + + +# Run the image. If you know you won't need headful browsers, +# you can remove the XVFB start script for a micro perf gain. +CMD ./start_xvfb_and_run_cmd.sh && npm run start:prod --silent diff --git a/website/versioned_docs/version-3.10/guides/docker_images.mdx b/website/versioned_docs/version-3.10/guides/docker_images.mdx new file mode 100644 index 000000000000..fc8f9480d391 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/docker_images.mdx @@ -0,0 +1,188 @@ +--- +id: docker-images +title: Running in Docker +description: Example Docker images to run your crawlers +--- + +import ApiLink from '@site/src/components/ApiLink'; + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import jsNodeDocker from '!!raw-loader!./docker_node_js.txt'; +import tsNodeDocker from '!!raw-loader!./docker_node_ts.txt'; +import jsBrowserDocker from '!!raw-loader!./docker_browser_js.txt'; +import tsBrowserDocker from '!!raw-loader!./docker_browser_ts.txt'; + +Running headless browsers in Docker requires a lot of setup to do it right. But there's no need to worry about that, because we already created base images that you can freely use. We use them every day on the [Apify Platform](../deployment/apify-platform). + +All images can be found in their [GitHub repo](https://github.com/apify/apify-actor-docker) and in our [DockerHub](https://hub.docker.com/orgs/apify). + +## Overview + +Browsers are pretty big, so we try to provide a wide variety of images to suit the specific needs. Here's a full list of our Docker images. + +- [`apify/actor-node`](#actor-node) +- [`apify/actor-node-puppeteer-chrome`](#actor-node-puppeteer-chrome) +- [`apify/actor-node-playwright`](#actor-node-playwright) +- [`apify/actor-node-playwright-chrome`](#actor-node-playwright-chrome) +- [`apify/actor-node-playwright-firefox`](#actor-node-playwright-firefox) +- [`apify/actor-node-playwright-webkit`](#actor-node-playwright-webkit) + +## Versioning + +Each image is tagged with up to 2 version tags, depending on the type of the image. One for Node.js version and second for pre-installed web automation library version. If you use the image name without a version tag, you'll always get the latest available version. + +> We recommend always using at least the Node.js version tag in production Dockerfiles. It will ensure that a future update of Node.js will not break our automations. + +### Node.js versioning + +Our images are built with multiple Node.js versions to ensure backwards compatibility. Currently, Node.js **versions 16 and 18 are supported** (legacy versions still exist, see DockerHub). To select the preferred version, use the appropriate number as the image tag. + +```dockerfile +# Use Node.js 16 +FROM apify/actor-node:16 +``` + +### Automation library versioning + +Images that include a pre-installed automation library, which means all images that include `puppeteer` or `playwright` in their name, are also tagged with the pre-installed version of the library. For example, `apify/actor-node-puppeteer-chrome:16-13.7.0` comes with Node.js 16 and Puppeteer v13.7.0. If you try to install a different version of Puppeteer into this image, you may run into compatibility issues, because the Chromium version bundled with `puppeteer` will not match the version of Chromium that's pre-installed. + +Similarly `apify/actor-node-playwright-firefox:14-1.21.1` runs on Node.js 14 and is pre-installed with the Firefox version that comes with v1.21.1. + +Installing `apify/actor-node-puppeteer-chrome` (without a tag) will install the latest available version of Node.js and `puppeteer`. + +### Pre-release tags + +We also build pre-release versions of the images to test the changes we make. Those are typically denoted by a `beta` suffix, but it can vary depending on our needs. If you need to try a pre-release version, you can do it like this: + +```dockerfile +# Without library version. +FROM apify/actor-node:16-beta +``` + +```dockerfile +# With library version. +FROM apify/actor-node-playwright-chrome:16-1.10.0-beta +``` + +## Best practices + +- Node.js version tag should **always** be used. +- The automation library version tag should be used for **added security**. +- Asterisk `*` should be used as the automation library version in our `package.json` files. + +It makes sure the pre-installed version of Puppeteer or Playwright is not re-installed on build. This is important, because those libraries are only guaranteed to work with specific versions of browsers, and those browsers come pre-installed in the image. + +```dockerfile +FROM apify/actor-node-playwright-chrome:16 +``` + +```json +{ + "dependencies": { + "crawlee": "^3.0.0", + "playwright": "*" + } +} +``` + +### Warning about image size + +Browsers are huge. If you don't need them all in your image, it's better to use a smaller image with only the one browser you need. + +You should also be careful when installing new dependencies. Nothing prevents you from installing Playwright into the`actor-node-puppeteer-chrome` image, but the resulting image will be about 3 times larger and extremely slow to download and build. + +When you use only what you need, you'll be rewarded with reasonable build and start times. + +## Apify Docker Images + +### actor-node + +This is the smallest image we have based on Alpine Linux. It does not include any browsers, and it's therefore best used with <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink>. It benefits from lightning fast builds and container startups. + +​<ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink>, <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink> and other browser based features will **NOT** work with this image. + +```dockerfile +FROM apify/actor-node:16 +``` + +### actor-node-puppeteer-chrome + +This image includes Puppeteer (Chromium) and the Chrome browser. It can be used with <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink> and <ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink>, but **NOT** with <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink>. + +The image supports XVFB by default, so you can run both `headless` and `headful` browsers with it. + +```dockerfile +FROM apify/actor-node-puppeteer-chrome:16 +``` + +### actor-node-playwright + +A very large and slow image that can run all Playwright browsers: Chromium, Chrome, Firefox, WebKit. Everything is installed. If you need to develop or test with multiple browsers, this is the image to choose, but in most cases, it's better to use the specialized images below. + +```dockerfile +FROM apify/actor-node-playwright:16 +``` + +### actor-node-playwright-chrome + +Similar to [`actor-node-puppeteer-chrome`](#actor-node-puppeteer-chrome), but for Playwright. You can run <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink> and <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink>, but **NOT** <ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink>. + +It uses the [`PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD`](https://playwright.dev/docs/api/environment-variables/) environment variable to block installation of more browsers into the image to keep it small. If you want more browsers, either use the [`actor-node-playwright`](#actor-node-playwright) image override this env var. + +The image supports XVFB by default, so we can run both `headless` and `headful` browsers with it. + +```dockerfile +FROM apify/actor-node-playwright-chrome:16 +``` + +### actor-node-playwright-firefox + +Same idea as [`actor-node-playwright-chrome`](#actor-node-playwright-chrome), but with Firefox +pre-installed. + +```dockerfile +FROM apify/actor-node-playwright-firefox:16 +``` + +### actor-node-playwright-webkit + +Same idea as [`actor-node-playwright-chrome`](#actor-node-playwright-chrome), but with WebKit +pre-installed. + +```dockerfile +FROM apify/actor-node-playwright-webkit:16 +``` + +## Example Dockerfile + +To use the above images, it's necessary to have a [`Dockerfile`](https://docs.docker.com/engine/reference/builder/). You can either use this example, or bootstrap your projects with the [Crawlee CLI](../introduction/setting-up) which automatically adds the correct Dockerfile into our project folder. + +<Tabs> + <TabItem value="node+js" label="Node+JavaScript"> + <CodeBlock language="dockerfile"> + {jsNodeDocker} + </CodeBlock> + </TabItem> + <TabItem value="node+ts" label="Node+TypeScript"> + <CodeBlock language="dockerfile"> + {tsNodeDocker} + </CodeBlock> + </TabItem> + <TabItem value="browser+js" label="Browser+JavaScript"> + This example is for Playwright. If you want to use Puppeteer, simply replace <b>playwright</b> + with <b>puppeteer</b> in the <code>FROM</code> declaration. + <CodeBlock language="dockerfile"> + {jsBrowserDocker} + </CodeBlock> + </TabItem> + <TabItem value="browser+ts" label="Browser+TypeScript"> + This example is for Playwright. If you want to use Puppeteer, simply replace <b>playwright</b> + with <b>puppeteer</b> in both <code>FROM</code> declarations. + <CodeBlock language="dockerfile"> + {tsBrowserDocker} + </CodeBlock> + </TabItem> +</Tabs> diff --git a/website/versioned_docs/version-3.10/guides/docker_node_js.txt b/website/versioned_docs/version-3.10/guides/docker_node_js.txt new file mode 100644 index 000000000000..4018d6b990d3 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/docker_node_js.txt @@ -0,0 +1,29 @@ +# Specify the base Docker image. You can read more about +# the available images at https://crawlee.dev/docs/guides/docker-images +# You can also use any other image from Docker Hub. +FROM apify/actor-node:16 + +# Copy just package.json and package-lock.json +# to speed up the build using Docker layer cache. +COPY package*.json ./ + +# Install NPM packages, skip optional and development dependencies to +# keep the image small. Avoid logging too much and print the dependency +# tree for debugging +RUN npm --quiet set progress=false \ + && npm install --omit=dev --omit=optional \ + && echo "Installed NPM packages:" \ + && (npm list --omit=dev --all || true) \ + && echo "Node.js version:" \ + && node --version \ + && echo "NPM version:" \ + && npm --version + +# Next, copy the remaining files and directories with the source code. +# Since we do this after NPM install, quick build will be really fast +# for most source file changes. +COPY . ./ + + +# Run the image. +CMD npm start --silent diff --git a/website/versioned_docs/version-3.10/guides/docker_node_ts.txt b/website/versioned_docs/version-3.10/guides/docker_node_ts.txt new file mode 100644 index 000000000000..43815f97d8f8 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/docker_node_ts.txt @@ -0,0 +1,50 @@ +# Specify the base Docker image. You can read more about +# the available images at https://crawlee.dev/docs/guides/docker-images +# You can also use any other image from Docker Hub. +FROM apify/actor-node:16 AS builder + +# Copy just package.json and package-lock.json +# to speed up the build using Docker layer cache. +COPY package*.json ./ + +# Install all dependencies. Don't audit to speed up the installation. +RUN npm install --include=dev --audit=false + +# Next, copy the source files using the user set +# in the base image. +COPY . ./ + +# Install all dependencies and build the project. +# Don't audit to speed up the installation. +RUN npm run build + +# Create final image +FROM apify/actor-node:16 + +# Copy only built JS files from builder image +COPY --from=builder /usr/src/app/dist ./dist + +# Copy just package.json and package-lock.json +# to speed up the build using Docker layer cache. +COPY package*.json ./ + +# Install NPM packages, skip optional and development dependencies to +# keep the image small. Avoid logging too much and print the dependency +# tree for debugging +RUN npm --quiet set progress=false \ + && npm install --omit=dev --omit=optional \ + && echo "Installed NPM packages:" \ + && (npm list --omit=dev --all || true) \ + && echo "Node.js version:" \ + && node --version \ + && echo "NPM version:" \ + && npm --version + +# Next, copy the remaining files and directories with the source code. +# Since we do this after NPM install, quick build will be really fast +# for most source file changes. +COPY . ./ + + +# Run the image. +CMD npm run start:prod --silent diff --git a/website/versioned_docs/version-3.10/guides/got_scraping.mdx b/website/versioned_docs/version-3.10/guides/got_scraping.mdx new file mode 100644 index 000000000000..a679672105b1 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/got_scraping.mdx @@ -0,0 +1,190 @@ +--- +id: got-scraping +title: Got Scraping +description: Blazing fast cURL alternative for modern web scraping +--- + +## Intro + +When using `BasicCrawler`, we have to send the requests manually. In order to do this, we can use the context-aware `sendRequest()` function: + +```ts +import { BasicCrawler } from 'crawlee'; + +const crawler = new BasicCrawler({ + async requestHandler({ sendRequest, log }) { + const res = await sendRequest(); + log.info('received body', res.body); + }, +}); +``` + +It uses [`got-scraping`](https://github.com/apify/got-scraping) under the hood. +Got Scraping is a [Got](https://github.com/sindresorhus/got) extension developed to mimic browser requests, so there's a high chance we'll open the webpage without getting blocked. + +## `sendRequest` API + +```ts +async sendRequest(overrideOptions?: GotOptionsInit) => { + return gotScraping({ + url: request.url, + method: request.method, + body: request.payload, + headers: request.headers, + proxyUrl: crawlingContext.proxyInfo?.url, + sessionToken: session, + responseType: 'text', + ...overrideOptions, + retry: { + limit: 0, + ...overrideOptions?.retry, + }, + cookieJar: { + getCookieString: (url: string) => session!.getCookieString(url), + setCookie: (rawCookie: string, url: string) => session!.setCookie(rawCookie, url), + ...overrideOptions?.cookieJar, + }, + }); +} +``` + +### `url` + +By default, it's the URL of current task. However you can override this with a `string` or a `URL` instance if necessary. + +*More details in [Got documentation](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#url).* + +### `method` + +By default, it's the HTTP method of current task. Possible values are `'GET', 'POST', 'HEAD', 'PUT', 'PATCH', 'DELETE'`. + +*More details in [Got documentation](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#method).* + +### `body` + +By default, it's the HTTP payload of current task. + +*More details in [Got documentation](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#body).* + +### `headers` + +By default, it's the HTTP headers of current task. It's an object with `string` values. + +*More details in [Got documentation](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#headers).* + +### `proxyUrl` + +It's a string representing the proxy server in the format of `protocol://username:password@hostname:port`. + +For example, an Apify proxy server looks like this: `http://auto:password@proxy.apify.com:8000`. + +Basic Crawler does not have the concept of a session or proxy, therefore we need to manually pass the `proxyUrl` option: + +```ts +import { BasicCrawler } from 'crawlee'; + +const crawler = new BasicCrawler({ + async requestHandler({ sendRequest, log }) { + const res = await sendRequest({ + proxyUrl: 'http://auto:password@proxy.apify.com:8000', + }); + log.info('received body', res.body); + }, +}); +``` + +We use proxies to hide our real IP address. + +*More details in [Got Scraping documentation](https://github.com/apify/got-scraping#proxyurl).* + +### `sessionToken` + +It's a non-primitive object used as a key when generating browser fingerprint. Fingerprints with the same token don't change. +This can be used to retain the `user-agent` header when using the same Apify Session. + +*More details in [Got Scraping documentation](https://github.com/apify/got-scraping#sessiontoken).* + +### `responseType` + +This option defines how the response should be parsed. + +By default, we fetch HTML websites - that is plaintext. Hence, we set `responseType` to `'text'`. However, JSON is possible as well: + +```ts +import { BasicCrawler } from 'crawlee'; + +const crawler = new BasicCrawler({ + async requestHandler({ sendRequest, log }) { + const res = await sendRequest({ responseType: 'json' }); + log.info('received body', res.body); + }, +}); +``` + +*More details in [Got documentation](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#responsetype).* + +### `cookieJar` + +`Got` uses a `cookieJar` to manage cookies. It's an object with an interface of a [`tough-cookie` package](https://github.com/salesforce/tough-cookie). + +Example: + +```ts +import { BasicCrawler } from 'crawlee'; +import { CookieJar } from 'tough-cookie'; + +const cookieJar = new CookieJar(); + +const crawler = new BasicCrawler({ + async requestHandler({ sendRequest, log }) { + const res = await sendRequest({ cookieJar }); + log.info('received body', res.body); + }, +}); +``` + +*More details in* +- *[Got documentation](https://github.com/sindresorhus/got/blob/main/documentation/2-options.md#cookiejar)* +- *[Tough Cookie documentation](https://github.com/salesforce/tough-cookie#cookiejarstore-options)* + +### `retry.limit` + +This option specifies the maximum number of `Got` retries. + +By default, `retry.limit` is set to `0`. This is because Crawlee has its own (complicated enough) retry management. + +We suggest NOT changing this value for stability reasons. + +### `useHeaderGenerator` + +It's a boolean for whether to generate browser headers. By default, it's set to `true`, and we recommend keeping this for better results. + +### `headerGeneratorOptions` + +This option represents an object how to generate browser fingerprint. Example: + +```ts +import { BasicCrawler } from 'crawlee'; + +const crawler = new BasicCrawler({ + async requestHandler({ sendRequest, log }) { + const res = await sendRequest({ + headerGeneratorOptions: { + devices: ['mobile', 'desktop'], + locales: ['en-US'], + operatingSystems: ['windows', 'macos', 'android', 'ios'], + browsers: ['chrome', 'edge', 'firefox', 'safari'], + }, + }); + log.info('received body', res.body); + }, +}); +``` + +*More details in [`HeaderGeneratorOptions` documentation](https://apify.github.io/fingerprint-suite/api/fingerprint-generator/interface/HeaderGeneratorOptions/).* + +**Related links** + +- [Got documentation](https://github.com/sindresorhus/got#documentation) +- [Got Scraping documentation](https://github.com/apify/got-scraping) +- [Header Generator documentation](https://apify.github.io/fingerprint-suite/docs/guides/fingerprint-generator/) diff --git a/website/versioned_docs/version-3.10/guides/javascript-rendering-playwright-no-wait.ts b/website/versioned_docs/version-3.10/guides/javascript-rendering-playwright-no-wait.ts new file mode 100644 index 000000000000..77371b51ba0d --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/javascript-rendering-playwright-no-wait.ts @@ -0,0 +1,14 @@ +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + async requestHandler({ page }) { + // Here we don't wait for the selector and immediately + // extract the text content from the page. + const actorText = await page.$eval('.ActorStoreItem', (el) => { + return el.textContent; + }); + console.log(`ACTOR: ${actorText}`); + }, +}); + +await crawler.run(['https://apify.com/store']); diff --git a/website/versioned_docs/version-3.10/guides/javascript-rendering-playwright.ts b/website/versioned_docs/version-3.10/guides/javascript-rendering-playwright.ts new file mode 100644 index 000000000000..6a1ca9b93edd --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/javascript-rendering-playwright.ts @@ -0,0 +1,15 @@ +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + async requestHandler({ page }) { + // page.locator points to an element in the DOM + // using a CSS selector, but it does not access it yet. + const actorCard = page.locator('.ActorStoreItem').first(); + // Upon calling one of the locator methods Playwright + // waits for the element to render and then accesses it. + const actorText = await actorCard.textContent(); + console.log(`ACTOR: ${actorText}`); + }, +}); + +await crawler.run(['https://apify.com/store']); diff --git a/website/versioned_docs/version-3.10/guides/javascript-rendering-puppeteer-no-wait.ts b/website/versioned_docs/version-3.10/guides/javascript-rendering-puppeteer-no-wait.ts new file mode 100644 index 000000000000..c06a4c1b70ee --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/javascript-rendering-puppeteer-no-wait.ts @@ -0,0 +1,14 @@ +import { PuppeteerCrawler } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + async requestHandler({ page }) { + // Here we don't wait for the selector and immediately + // extract the text content from the page. + const actorText = await page.$eval('.ActorStoreItem', (el) => { + return el.textContent; + }); + console.log(`ACTOR: ${actorText}`); + }, +}); + +await crawler.run(['https://apify.com/store']); diff --git a/website/versioned_docs/version-3.10/guides/javascript-rendering-puppeteer.ts b/website/versioned_docs/version-3.10/guides/javascript-rendering-puppeteer.ts new file mode 100644 index 000000000000..d4ad7fedf846 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/javascript-rendering-puppeteer.ts @@ -0,0 +1,17 @@ +import { PuppeteerCrawler } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + async requestHandler({ page }) { + // Puppeteer does not have the automatic waiting functionality + // of Playwright, so we have to explicitly wait for the element. + await page.waitForSelector('.ActorStoreItem'); + // Puppeteer does not have helper methods like locator.textContent, + // so we have to manually extract the value using in-page JavaScript. + const actorText = await page.$eval('.ActorStoreItem', (el) => { + return el.textContent; + }); + console.log(`ACTOR: ${actorText}`); + }, +}); + +await crawler.run(['https://apify.com/store']); diff --git a/website/versioned_docs/version-3.10/guides/javascript-rendering.mdx b/website/versioned_docs/version-3.10/guides/javascript-rendering.mdx new file mode 100644 index 000000000000..1fd1b95f72bd --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/javascript-rendering.mdx @@ -0,0 +1,94 @@ +--- +id: javascript-rendering +title: "JavaScript rendering" +description: Your first steps into the world of scraping with Crawlee +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import PlaywrightSource from '!!raw-loader!./javascript-rendering-playwright.ts'; +import PlaywrightNoWaitSource from '!!raw-loader!./javascript-rendering-playwright-no-wait.ts'; +import PuppeteerSource from '!!raw-loader!./javascript-rendering-puppeteer.ts'; +import PuppeteerNoWaitSource from '!!raw-loader!./javascript-rendering-puppeteer-no-wait.ts'; + +JavaScript rendering is the process of executing JavaScript on a page to make changes in the page's structure or content. It's also called client-side rendering, the opposite of server-side rendering. Some modern websites render on the client, some on the server and many cutting edge websites render some things on the server and other things on the client. + +The Crawlee website does not use JavaScript rendering to display its content, so we have to look for an example elsewhere. [Apify Store](https://apify.com/store) is a library of scrapers and automations called **actors** that anyone can grab and use for free. It uses JavaScript rendering to display the list of actors, so let's use it to demonstrate how it works. + +```ts title="src/main.mjs" +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + async requestHandler({ $, request }) { + // Extract text content of an actor card + const actorText = $('.ActorStoreItem').text(); + console.log(`ACTOR: ${actorText}`); + } +}) + +await crawler.run(['https://apify.com/store']); +``` + +Run the code, and you'll see that the crawler won't print the content of the actor card. + +```log +ACTOR: +``` + +That's because Apify Store uses client-side JavaScript to render its content and `CheerioCrawler` can't execute it, so the text never appears in the page's HTML. + +You can confirm this using Chrome DevTools. If you go to https://apify.com/store, right-click anywhere in the page, select **View Page Source** and search for **ActorStoreItem** you won't find any results. Then, if you right-click again, select **Inspect** and search for the same **ActorStoreItem**, you will find many of them. + +How's this possible? Because **View Page Source** shows the original HTML, before any JavaScript executions. That's what `CheerioCrawler` gets. Whereas with **Inspect** you see the current HTML - after JavaScript execution. When you understand this, it's not a huge surprise that `CheerioCrawler` can't find the data. For that we need a headless browser. + +## Headless browsers + +To get the contents of `.ActorStoreItem`, you will have to use a headless browser. You can choose from two libraries to control your browser: [Puppeteer](https://github.com/puppeteer/puppeteer) or [Playwright](https://github.com/microsoft/playwright). The choice is simple. If you know one of them, choose the one you know. If you know both, or none, choose Playwright, because it's better in most cases. + +## Waiting for elements to render + +No matter which library you pick, here's example code for both. Playwright is a little more pleasant to use, but both libraries will get the job done. The big difference between them is that Playwright will automatically wait for elements to appear, whereas in Puppeteer, you have to explicitly wait for them. + +<Tabs groupId="javascript-rendering"> + <TabItem value="playwright" label="PlaywrightCrawler"> + <CodeBlock language="js" title="src/main.mjs">{PlaywrightSource}</CodeBlock> + </TabItem> + <TabItem value="puppeteer" label="PuppeteerCrawler"> + <CodeBlock language="js" title="src/main.mjs">{PuppeteerSource}</CodeBlock> + </TabItem> +</Tabs> + +When you run the code, you'll see the _badly formatted_ content of the first actor card printed to console: + +```log +ACTOR: Web Scraperapify/web-scraperCrawls arbitrary websites using [...] +``` + +### We're not kidding + +If you don't believe us that the elements need to be waited for, run the following code which skips the waiting. + +<Tabs groupId="javascript-rendering"> + <TabItem value="playwright" label="PlaywrightCrawler"> + <CodeBlock language="js" title="src/main.mjs">{PlaywrightNoWaitSource}</CodeBlock> + </TabItem> + <TabItem value="puppeteer" label="PuppeteerCrawler"> + <CodeBlock language="js" title="src/main.mjs">{PuppeteerNoWaitSource}</CodeBlock> + </TabItem> +</Tabs> + +In both cases, the request will be retried a few times and eventually fail with an error like this: + +```log +ERROR [...] Error: failed to find element matching selector ".ActorStoreItem" +``` + +That's because when you try to access the element in the browser, it's not been rendered in the DOM yet. + +:::tip + +This guide only touches the concept of JavaScript rendering and use of headless browsers. To learn more, continue with the [Puppeteer & Playwright course](https://developers.apify.com/academy/puppeteer-playwright) in the Apify Academy. **It's free and open-source** ❤️. + +::: diff --git a/website/versioned_docs/version-3.10/guides/jsdom_crawler.mdx b/website/versioned_docs/version-3.10/guides/jsdom_crawler.mdx new file mode 100644 index 000000000000..86c402d6db9a --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/jsdom_crawler.mdx @@ -0,0 +1,61 @@ +--- +id: jsdom-crawler-guide +title: "JSDOMCrawler guide" +sidebar_label: "JSDOMCrawler" +description: Your first steps into the world of scraping with Crawlee +--- + +import ApiLink from '@site/src/components/ApiLink'; + +​<ApiLink to="jsdom-crawler/class/JSDOMCrawler">`JSDOMCrawler`</ApiLink> is very useful for scraping with the Window API. + +## How the crawler works + +​<ApiLink to="jsdom-crawler/class/JSDOMCrawler">`JSDOMCrawler`</ApiLink> crawls by making plain HTTP requests to the provided URLs using the specialized [got-scraping](https://github.com/apify/got-scraping) HTTP client. The URLs are fed to the crawler using <ApiLink to="core/class/RequestQueue">`RequestQueue`</ApiLink>. The HTTP responses it gets back are usually HTML pages. The same pages you would get in your browser when you first load a URL. But it can handle any content types with the help of the <ApiLink to="jsdom-crawler/interface/JSDOMCrawlerOptions#additionalMimeTypes">`additionalMimeTypes`</ApiLink> option. + +:::info + +Modern web pages often do not serve all of their content in the first HTML response, but rather the first HTML contains links to other resources such as CSS and JavaScript that get downloaded afterwards, and together they create the final page. To crawl those, see <ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink> and <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink>. + +::: + +Once the page's HTML is retrieved, the crawler will pass it to [JSDOM](https://www.npmjs.com/package/jsdom) for parsing. The result is a `window` property, which should be familiar to frontend developers. You can use the Window API to do all sorts of lookups and manipulation of the page's HTML, but in scraping, you will mostly use it to find specific HTML elements and extract their data. + +Example use of browser JavaScript: + +```ts +// Return the page title +document.title; // browsers +window.document.title; // JSDOM +``` + +## When to use `JSDOMCrawler` + +`JSDOMCrawler` really shines when `CheerioCrawler` is just not enough. There is an entire set of [APIs](https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API) available! + +**Advantages:** + +- Easy to set up +- Familiar for frontend developers +- Content can be manipulated +- Automatically avoids some anti-scraping bans + +**Disadvantages:** + +- Slower than `CheerioCrawler` +- Does not work for websites that require JavaScript rendering +- May easily overload the target website with requests + +## Example use of Element API + +### Find all links on a page + +This snippet finds all `<a>` elements which have the `href` attribute and extracts the hrefs into an array. + +```js +Array.from(document.querySelectorAll('a[href]')).map((a) => a.href); +``` + +### Other examples + +Visit the [Examples](../examples) section to browse examples of `JSDOMCrawler` usage. Almost all examples show `JSDOMCrawler` code in their code tabs. diff --git a/website/versioned_docs/version-3.10/guides/motivation.mdx b/website/versioned_docs/version-3.10/guides/motivation.mdx new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/website/versioned_docs/version-3.10/guides/parallel-scraping/adapted-routes.mjs b/website/versioned_docs/version-3.10/guides/parallel-scraping/adapted-routes.mjs new file mode 100644 index 000000000000..68aff0fa6857 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/parallel-scraping/adapted-routes.mjs @@ -0,0 +1,22 @@ +router.addHandler('CATEGORY', async ({ page, enqueueLinks, request, log }) => { + log.debug(`Enqueueing pagination for: ${request.url}`); + // We are now on a category page. We can use this to paginate through and enqueue all products, + // as well as any subsequent pages we find + + await page.waitForSelector('.product-item > a'); + await enqueueLinks({ + selector: '.product-item > a', + label: 'DETAIL', // <= note the different label, + // highlight-next-line + requestQueue: await getOrInitQueue(), // <= note the different request queue + }); + + // Now we need to find the "Next" button and enqueue the next page of results (if it exists) + const nextButton = await page.$('a.pagination__next'); + if (nextButton) { + await enqueueLinks({ + selector: 'a.pagination__next', + label: 'CATEGORY', // <= note the same label + }); + } +}); diff --git a/website/versioned_docs/version-3.10/guides/parallel-scraping/modified-detail-route.mjs b/website/versioned_docs/version-3.10/guides/parallel-scraping/modified-detail-route.mjs new file mode 100644 index 000000000000..e7bc1b74727a --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/parallel-scraping/modified-detail-route.mjs @@ -0,0 +1,47 @@ +// This replaces the request.label === DETAIL branch of the if clause. +router.addHandler('DETAIL', async ({ request, page, log }) => { + log.debug(`Extracting data: ${request.url}`); + const urlPart = request.url.split('/').slice(-1); // ['sennheiser-mke-440-professional-stereo-shotgun-microphone-mke-440'] + const manufacturer = urlPart[0].split('-')[0]; // 'sennheiser' + + const title = await page.locator('.product-meta h1').textContent(); + const sku = await page + .locator('span.product-meta__sku-number') + .textContent(); + + const priceElement = page + .locator('span.price') + .filter({ + hasText: '$', + }) + .first(); + + const currentPriceString = await priceElement.textContent(); + const rawPrice = currentPriceString.split('$')[1]; + const price = Number(rawPrice.replaceAll(',', '')); + + const inStockElement = page + .locator('span.product-form__inventory') + .filter({ + hasText: 'In stock', + }) + .first(); + + const inStock = (await inStockElement.count()) > 0; + + const results = { + url: request.url, + manufacturer, + title, + sku, + currentPrice: price, + availableInStock: inStock, + }; + + log.debug(`Saving data: ${request.url}`); + + // Send the data to the parent process + // Depending on how you build your crawler, this line could instead be something like `context.pushData()`! Experiment, and see what you can build + // highlight-next-line + process.send(results); +}); diff --git a/website/versioned_docs/version-3.10/guides/parallel-scraping/parallel-scraper.mjs b/website/versioned_docs/version-3.10/guides/parallel-scraping/parallel-scraper.mjs new file mode 100644 index 000000000000..1ea13da71d48 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/parallel-scraping/parallel-scraper.mjs @@ -0,0 +1,107 @@ +import { fork } from 'node:child_process'; + +import { Configuration, Dataset, PlaywrightCrawler, log } from 'crawlee'; + +import { router } from './routes.mjs'; +import { getOrInitQueue } from './shared.mjs'; + +// For this example, we will spawn 2 separate processes that will scrape the store in parallel. + +if (!process.env.IN_WORKER_THREAD) { + // This is the main process. We will use this to spawn the worker threads. + log.info('Setting up worker threads.'); + + const currentFile = new URL(import.meta.url).pathname; + + // Store a promise per worker, so we wait for all to finish before exiting the main process + const promises = []; + + // You can decide how many workers you want to spawn, but keep in mind you can only spawn so many before you overload your machine + for (let i = 0; i < 2; i++) { + const proc = fork(currentFile, { + env: { + // Share the current process's env across to the newly created process + ...process.env, + // ...but also tell the process that it's a worker process + IN_WORKER_THREAD: 'true', + // ...as well as which worker it is + WORKER_INDEX: String(i), + }, + }); + + proc.on('online', () => { + log.info(`Process ${i} is online.`); + + // Log out what the crawlers are doing + // Note: we want to use console.log instead of log.info because we already get formatted output from the crawlers + proc.stdout.on('data', (data) => { + // eslint-disable-next-line no-console + console.log(data.toString()); + }); + + proc.stderr.on('data', (data) => { + // eslint-disable-next-line no-console + console.error(data.toString()); + }); + }); + + proc.on('message', async (data) => { + log.debug(`Process ${i} sent data.`, data); + await Dataset.pushData(data); + }); + + promises.push(new Promise((resolve) => { + proc.once('exit', (code, signal) => { + log.info(`Process ${i} exited with code ${code} and signal ${signal}`); + resolve(); + }); + })); + } + + await Promise.all(promises); + + log.info('Crawling complete!'); +} else { + // This is the worker process. We will use this to scrape the store. + + // Let's build a logger that will prefix the log messages with the worker index + const workerLogger = log.child({ prefix: `[Worker ${process.env.WORKER_INDEX}]` }); + + // This is better set with CRAWLEE_LOG_LEVEL env var + // or a configuration option. This is just for show 😈 + workerLogger.setLevel(log.LEVELS.DEBUG); + + // Disable the automatic purge on start + // This is needed when running locally, as otherwise multiple processes will try to clear the default storage (and that will cause clashes) + Configuration.set('purgeOnStart', false); + + // Get the request queue + const requestQueue = await getOrInitQueue(false); + + // Configure crawlee to store the worker-specific data in a separate directory (needs to be done AFTER the queue is initialized when running locally) + const config = new Configuration({ + storageClientOptions: { + localDataDirectory: `./storage/worker-${process.env.WORKER_INDEX}`, + }, + }); + + workerLogger.debug('Setting up crawler.'); + const crawler = new PlaywrightCrawler({ + log: workerLogger, + // Instead of the long requestHandler with + // if clauses we provide a router instance. + requestHandler: router, + // Enable the request locking experiment so that we can actually use the queue. + // highlight-start + experiments: { + requestLocking: true, + }, + // Provide the request queue we've pre-filled in previous steps + requestQueue, + // highlight-end + // Let's also limit the crawler's concurrency, we don't want to overload a single process 🐌 + maxConcurrency: 5, + }, config); + + await crawler.run(); +} diff --git a/website/versioned_docs/version-3.10/guides/parallel-scraping/parallel-scraping.mdx b/website/versioned_docs/version-3.10/guides/parallel-scraping/parallel-scraping.mdx new file mode 100644 index 000000000000..5e05532c859b --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/parallel-scraping/parallel-scraping.mdx @@ -0,0 +1,195 @@ +--- +id: parallel-scraping-guide +title: Parallel Scraping Guide +sidebar_label: Parallel Scraping +description: Parallelizing your scrapers with Crawlee +--- + +import CodeBlock from '@theme/CodeBlock'; + +import SharedSource from '!!raw-loader!./shared.mjs'; +import AdaptedRoutesSource from '!!raw-loader!./adapted-routes.mjs'; +import ParallelScraperSource from '!!raw-loader!./parallel-scraper.mjs'; +import ModifiedDetailRouteSource from '!!raw-loader!./modified-detail-route.mjs'; + +:::warning Experimental features ahead + +At the time of writing this guide (December 2023), request locking is still an experimental feature. You can read more about the experiment by visiting the [request locking experiment](../experiments/experiments-request-locking) page. + +::: + +In this guide, we will walk you through how you can turn your single scraper into a scraper that can be parallelized and run in multiple instances. This guide assumes you've read and walked through our [introduction guide](../introduction/setting-up) (or have a fully-fledged scraper already built), but if you haven't done so yet, take a break, go read through all that, and come back. We'll be waiting... + +*Oh, you're back already! Let's proceed in making that scraper parallel!* + +## Things to consider before parallelizing + +Before you rush ahead and change your scraper to support parallelization, take a minute to consider the following factors: + +- Do you plan on scraping so many pages that you need to parallelize your scraper? + - For example, if your scraper goes across a few pages, you probably don't need parallelization + - But if you scrape a lot of pages, or you scrape pages that take a long time to load, you might want to consider parallelization +- Can you parallelize your scraper while not overloading the target website? + - For example, if you scrape a website that has a lot of traffic, you don't want to add to that traffic by running multiple scrapers in parallel as that might cause the website to go down for all its users +- Do you have the resources available to run multiple scrapers in parallel? + - When running locally, depending on your scraper type, do you have enough CPU and RAM available to sustain multiple scrapers running in parallel + - When running in the cloud, will the extra speed from parallelization be worth the extra cost of running multiple scrapers in parallel? + +Let's assume you answered yes to all of those. Yes? Yes. Before we go ahead and get to the actual guide, we'd like to ask you to also take a read on [Apify's Ethical Web Scraping](https://blog.apify.com/what-is-ethical-web-scraping-and-how-do-you-do-it/) +blog post! + +Now that we've gone through all that, the guide is split into two parts: converting the initial scraper we built in the [introduction guide](../introduction/setting-up) to one that prepares requests to be usable in parallel scrapers, and then running scrapers in parallel. + +:::note Want to see the final result? + +You can see it on the [Crawlee Parallel Scraping Example](https://github.com/apify/crawlee-parallel-scraping-example) repository! It's the same scraper we built in the [introduction guide](../introduction/setting-up), but in TypeScript and parallelized! + +::: + +### But isn't Crawlee already concurrent? What's the difference between concurrency and parallelization? + +> _Hold on! I've used Crawlee before, and it has a `maxConcurrency` option! What's this for then?!_ + +You're correct, Crawlee already supports scraping in "parallel" (more accurately called concurrent). What that enables is one process having multiple tasks that run in the background at the same time. But, as your scraping operation scales up, you are likely to encounter bottlenecks. These can range from the runtime environment's inability to process more requests simultaneously, to resources like RAM and CPU being maxed out. You can only scale up resources so much before it stops providing a real benefit. + +This is what people refer to when saying vertical or horizontal scaling. Vertical scaling is when you increase the resources of a single process or machine, while horizontal scaling is when you increase the number of processes or machines. Horizontal scaling, on the other hand, is the kind of scaling (or what we're referring to as "parallelization") we are showcasing in this guide! + +## Preparing your scraper for parallelization + +One of the best parts of Crawlee is that, for the most part, we do not need to change much to make this happen! Just create the queue that supports locking, enqueue links to it from the initial scraper, then build scrapers that run in parallel that use that queue! + +### Creating the request queue with locking support + +The first step in our conversion process will be creating a common file (let's call it `requestQueue.mjs`) that will store the request queue that supports request locking. + +<CodeBlock language="js" title="src/requestQueue.mjs">{SharedSource}</CodeBlock> + +The exported function, `getOrInitQueue`, might seem like it does a lot. In essence, it just ensures the request queue is initialized, and if requested, ensures it starts off with an empty state. + +### Adapting our previous scraper to enqueue the product URLs to the new queue + +In the `src/routes.mjs` file of the scraper we previously built, we have a handler for the `CATEGORY` label. Let's adapt that handler to enqueue the product URLs to the new queue we created. + +Firstly, let's import the `getOrInitQueue` function from the `requestQueue.mjs` file we created earlier. Add the following line at the start of the file: + +```javascript title="src/routes.mjs" +import { getOrInitQueue } from './requestQueue.mjs'; +``` + +Then, replace the `CATEGORY` handler with the following: + +<CodeBlock language="js" title="src/routes.mjs">{AdaptedRoutesSource}</CodeBlock> + +Now, let's rename our entry point file `src/main.mjs` to `src/initial-scraper.mjs` and run it. You should see the crawler not scrape any detail pages, but now the URLs are being enqueued to the queue that supports locking! + +Before we wrap up, let's also add the following line before `crawler.run()`: + +```javascript title="src/initial-scraper.mjs" +import { getOrInitQueue } from './requestQueue.mjs'; + +// Pre-initialize the queue so that we have a blank slate that will get filled out by the crawler +await getOrInitQueue(true); +``` + +We need this to ensure the queue always starts on an empty slate when we run the scraper. But you may not need this in your use case - remember to always experiment and see what works best! + +And that's it with preparing our initial scraper to save all URLs we want to scrape to the queue that supports locking! + +### Creating the parallel scrapers + +Up next, let's build another scraper that will schedule the URLs from the queue to be scraped in parallel! For this, we will be using child processes from Node.js, +but you can use any other method you want to run multiple scrapers in parallel. You will need to adjust your code if you use other methods. + +The scraper will fork itself twice (but you can experiment with this), and each fork will re-use the queue we created earlier. +The best part? We can re-use the previous router we built for the initial scraper! Yay for code reuse! + +<CodeBlock language="js" title="src/parallel-scraper.mjs">{ParallelScraperSource}</CodeBlock> + +We'll also need to do one small change in the `DETAIL` route handler. Instead of calling `context.pushData`, we want to replace that with `process.send` instead. + +:::info But why? + +Since we use child processes, and each worker process has its own storage space, calling `context.pushData` will not work as we want it to work. +Instead, we need to send the data back to the parent process, which has the context where we want to store the data. + +This might not be needed depending on your use case! You'll need to experiment and see what works best for you + +::: + +<CodeBlock language="js" title="src/routes.mjs">{ModifiedDetailRouteSource}</CodeBlock> + +There is a lot of code, so let's break it down: + +#### The `if` check for `process.env.IS_WORKER_THREAD` + +This will check how the script is executed as. If this value has _any_ value, it will assume it's meant to start scraping. If not, it's considered the **parent** process and will fork copies of itself to do the scraping. + +#### Why do we create a Promise per worker process? + +We use this to ensure the parent process stays alive until all the worker processes exit. Otherwise, the worker processes would just get spawned, and lose the ability to communicate with the parent. You might not need this depending on your use case (maybe you just need to spawn workers and let them process). + +#### What's with all those `Configuration` calls? + +There are three steps we want to do for the worker processes: + +- ensure the default storages do **not** get purged on start, as otherwise we'd lose the queue we prepared +- get the queue that supports locking from the same location as the parent process +- initialize a special storage for worker processes so they do not collide with each other + +In order, that's what these lines do: + +```javascript title="src/parallel-scraper.mjs" +// Disable the automatic purge on start (step 1) +// This is needed when running locally, as otherwise multiple processes will try to clear the default storage (and that will cause clashes) +Configuration.set('purgeOnStart', false); + +// Get the request queue from the parent process (step 2) +const requestQueue = await getOrInitQueue(false); + +// Configure crawlee to store the worker-specific data in a separate directory (needs to be done AFTER the queue is initialized when running locally) (step 3) +const config = new Configuration({ + storageClientOptions: { + localDataDirectory: `./storage/worker-${process.env.WORKER_INDEX}`, + }, +}); +``` + +#### Enabling the request locking experiment, and telling the crawler to use the worker configuration + +You might have noticed several lines highlighted in the code above. Those show how you can enable the request locking experiment, as well as how you provide the request queue to the crawler. You can read more about the experiment by visiting the [request locking experiment](../experiments/experiments-request-locking) page. + +You might have also noticed we passed in a second parameter to the constructor of the crawler, the `config` variable we created earlier. This is needed to ensure the crawler uses the worker-specific storages for internal states, and that they do not collide with each other. + +#### Why do we use `process.send` instead of `context.pushData`? + +Since we use child processes, and each worker process has its own storage space, calling `context.pushData` will not work as we want it to work (each worker would just push to its own personal dataset that is considered the "default" one). Instead, we need to send the data back to the parent process, which has the dataset where we want to store the data, in a centralized place. + +:::info Why don't we apply the same logic we did to the request queue to the dataset? + +This is a very valid question, but it has a simple answer: since each process tracks its own internal state of how a dataset looks like (when we are scrapping locally), the worker processes would get out of sync real fast and would either miss or override data. This is why we need to send the data back to the parent process, which has the dataset where we want to store the data, in a centralized place. + +Depending on your crawler, this might not be an issue! Each use case has its own quirks, but this is something you should keep in mind when building your scraper. + +::: + +#### Why did we limit the maximum concurrency to `5`? + +This question has a two-fold answer: + +- we don't want to overload the target website with requests, so we limit the number of concurrent requests to a reasonable number per worker process +- we don't want to overload the machine that is running the scraper + +This circles back to the initial paragraph about whether you should parallelize your scraper or not. + +## Other questions + +#### Couldn't the `initial-scraper` be merged into the `parallel-scraper`? + +Technically, it could! Nothing stops you from first enqueuing all the URLs in the parent process, and then run the worker process logic after to scrape them. We separated them so it's easier to follow and understand what each part does, but you can merge them if you want to. + + +#### Will I benefit from this if I run XYZ scraper / want to scrape XYZ website? + +We don't know! 🤷 + +What we do know is that first, you should build your scraper to work as a single scraper, then monitor its performance. Do you see it being too slow? Do you scrape many pages, or do the few pages you scrape take a long time to load? If so, then you might benefit from parallelization. When in doubt, follow the list of things to consider before parallelizing at the start of this guide. diff --git a/website/versioned_docs/version-3.10/guides/parallel-scraping/shared.mjs b/website/versioned_docs/version-3.10/guides/parallel-scraping/shared.mjs new file mode 100644 index 000000000000..ff627fdee401 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/parallel-scraping/shared.mjs @@ -0,0 +1,23 @@ +import { RequestQueueV2 } from 'crawlee'; + +// Create the request queue that also supports parallelization +let queue; + +/** + * @param {boolean} makeFresh Whether the queue should be cleared before returning it + * @returns The queue + */ +export async function getOrInitQueue(makeFresh = false) { + if (queue) { + return queue; + } + + queue = await RequestQueueV2.open('shop-urls'); + + if (makeFresh) { + await queue.drop(); + queue = await RequestQueueV2.open('shop-urls'); + } + + return queue; +} diff --git a/website/versioned_docs/version-3.10/guides/proxy_management.mdx b/website/versioned_docs/version-3.10/guides/proxy_management.mdx new file mode 100644 index 000000000000..50ef9b949713 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management.mdx @@ -0,0 +1,169 @@ +--- +id: proxy-management +title: Proxy Management +description: Using proxies to get around those annoying IP-blocks +--- + +import ApiLink from '@site/src/components/ApiLink'; + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import HttpSource from '!!raw-loader!./proxy_management_integration_http.ts'; +import JSDOMSource from '!!raw-loader!./proxy_management_integration_jsdom.ts'; +import CheerioSource from '!!raw-loader!./proxy_management_integration_cheerio.ts'; +import PlaywrightSource from '!!raw-loader!./proxy_management_integration_playwright.ts'; +import PuppeteerSource from '!!raw-loader!./proxy_management_integration_puppeteer.ts'; +import SessionStandaloneSource from '!!raw-loader!./proxy_management_session_standalone.ts'; +import SessionHttpSource from '!!raw-loader!./proxy_management_session_http.ts'; +import SessionJSDOMSource from '!!raw-loader!./proxy_management_session_jsdom.ts'; +import SessionCheerioSource from '!!raw-loader!./proxy_management_session_cheerio.ts'; +import SessionPlaywrightSource from '!!raw-loader!./proxy_management_session_playwright.ts'; +import SessionPuppeteerSource from '!!raw-loader!./proxy_management_session_puppeteer.ts'; +import InspectionHttpSource from '!!raw-loader!./proxy_management_inspection_http.ts'; +import InspectionJSDOMSource from '!!raw-loader!./proxy_management_inspection_jsdom.ts'; +import InspectionCheerioSource from '!!raw-loader!./proxy_management_inspection_cheerio.ts'; +import InspectionPlaywrightSource from '!!raw-loader!./proxy_management_inspection_playwright.ts'; +import InspectionPuppeteerSource from '!!raw-loader!./proxy_management_inspection_puppeteer.ts'; + +[IP address blocking](https://en.wikipedia.org/wiki/IP_address_blocking) is one of the oldest +and most effective ways of preventing access to a website. It is therefore paramount for +a good web scraping library to provide easy to use but powerful tools which can work around +IP blocking. The most powerful weapon in our anti IP blocking arsenal is a +[proxy server](https://en.wikipedia.org/wiki/Proxy_server). + +With Crawlee we can use our own proxy servers or proxy servers acquired from +third-party providers. + +Check out the [avoid blocking guide](./avoid-blocking) for more information about blocking. + +## Quick start + +If we already have proxy URLs of our own, we can start using +them immediately in only a few lines of code. + +```javascript +import { ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: [ + 'http://proxy-1.com', + 'http://proxy-2.com', + ] +}); +const proxyUrl = await proxyConfiguration.newUrl(); +``` + +Examples of how to use our proxy URLs with crawlers are shown below in [Crawler integration](#crawler-integration) section. + +## Proxy Configuration + +All our proxy needs are managed by the <ApiLink to="core/class/ProxyConfiguration">`ProxyConfiguration`</ApiLink> class. We create an instance using the `ProxyConfiguration` <ApiLink to="core/class/ProxyConfiguration#constructor">`constructor`</ApiLink> function based on the provided options. See the <ApiLink to="core/interface/ProxyConfigurationOptions">`ProxyConfigurationOptions`</ApiLink> for all the possible constructor options. + +### Crawler integration + +`ProxyConfiguration` integrates seamlessly into <ApiLink to="http-crawler/class/HttpCrawler">`HttpCrawler`</ApiLink>, <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink>, <ApiLink to="jsdom-crawler/class/JSDOMCrawler">`JSDOMCrawler`</ApiLink>, <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink> and <ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink>. + +<Tabs groupId="proxy_session_management"> + <TabItem value="http" label="HttpCrawler"> + <CodeBlock language="js"> + {HttpSource} + </CodeBlock> + </TabItem> + <TabItem value="cheerio" label="CheerioCrawler" default> + <CodeBlock language="js"> + {CheerioSource} + </CodeBlock> + </TabItem> + <TabItem value="jsdom" label="JSDOMCrawler"> + <CodeBlock language="js"> + {JSDOMSource} + </CodeBlock> + </TabItem> + <TabItem value="playwright" label="PlaywrightCrawler"> + <CodeBlock language="js"> + {PlaywrightSource} + </CodeBlock> + </TabItem> + <TabItem value="puppeteer" label="PuppeteerCrawler"> + <CodeBlock language="js"> + {PuppeteerSource} + </CodeBlock> + </TabItem> +</Tabs> + +Our crawlers will now use the selected proxies for all connections. + +### IP Rotation and session management + +​<ApiLink to="core/class/ProxyConfiguration#newUrl">`proxyConfiguration.newUrl()`</ApiLink> allows us to pass a `sessionId` parameter. It will then be used to create a `sessionId`-`proxyUrl` pair, and subsequent `newUrl()` calls with the same `sessionId` will always return the same `proxyUrl`. This is extremely useful in scraping, because we want to create the impression of a real user. See the [session management guide](../guides/session-management) and <ApiLink to="core/class/SessionPool">`SessionPool`</ApiLink> class for more information on how keeping a real session helps us avoid blocking. + +When no `sessionId` is provided, our proxy URLs are rotated round-robin. + +<Tabs groupId="proxy_session_management"> + <TabItem value="http" label="HttpCrawler"> + <CodeBlock language="js"> + {SessionHttpSource} + </CodeBlock> + </TabItem> + <TabItem value="cheerio" label="CheerioCrawler" default> + <CodeBlock language="js"> + {SessionCheerioSource} + </CodeBlock> + </TabItem> + <TabItem value="jsdom" label="JSDOMCrawler"> + <CodeBlock language="js"> + {SessionJSDOMSource} + </CodeBlock> + </TabItem> + <TabItem value="playwright" label="PlaywrightCrawler"> + <CodeBlock language="js"> + {SessionPlaywrightSource} + </CodeBlock> + </TabItem> + <TabItem value="puppeteer" label="PuppeteerCrawler"> + <CodeBlock language="js"> + {SessionPuppeteerSource} + </CodeBlock> + </TabItem> + <TabItem value="standalone" label="Standalone"> + <CodeBlock language="js"> + {SessionStandaloneSource} + </CodeBlock> + </TabItem> +</Tabs> + +## Inspecting current proxy in Crawlers + +`HttpCrawler`, `CheerioCrawler`, `JSDOMCrawler`, `PlaywrightCrawler` and `PuppeteerCrawler` grant access to information about the currently used proxy +in their `requestHandler` using a <ApiLink to="core/interface/ProxyInfo">`proxyInfo`</ApiLink> object. +With the `proxyInfo` object, we can easily access the proxy URL. + +<Tabs groupId="proxy_session_management"> + <TabItem value="http" label="HttpCrawler"> + <CodeBlock language="js"> + {InspectionHttpSource} + </CodeBlock> + </TabItem> + <TabItem value="cheerio" label="CheerioCrawler" default> + <CodeBlock language="js"> + {InspectionCheerioSource} + </CodeBlock> + </TabItem> + <TabItem value="jsdom" label="JSDOMCrawler"> + <CodeBlock language="js"> + {InspectionJSDOMSource} + </CodeBlock> + </TabItem> + <TabItem value="playwright" label="PlaywrightCrawler"> + <CodeBlock language="js"> + {InspectionPlaywrightSource} + </CodeBlock> + </TabItem> + <TabItem value="puppeteer" label="PuppeteerCrawler"> + <CodeBlock language="js"> + {InspectionPuppeteerSource} + </CodeBlock> + </TabItem> +</Tabs> diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_inspection_cheerio.ts b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_cheerio.ts new file mode 100644 index 000000000000..68bdd2125100 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_cheerio.ts @@ -0,0 +1,11 @@ +import { CheerioCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new CheerioCrawler({ + proxyConfiguration, + async requestHandler({ proxyInfo }) { + console.log(proxyInfo); + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_inspection_http.ts b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_http.ts new file mode 100644 index 000000000000..076350877719 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_http.ts @@ -0,0 +1,11 @@ +import { HttpCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new HttpCrawler({ + proxyConfiguration, + async requestHandler({ proxyInfo }) { + console.log(proxyInfo); + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_inspection_jsdom.ts b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_jsdom.ts new file mode 100644 index 000000000000..db7607143e70 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_jsdom.ts @@ -0,0 +1,11 @@ +import { JSDOMCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new JSDOMCrawler({ + proxyConfiguration, + async requestHandler({ proxyInfo }) { + console.log(proxyInfo); + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_inspection_playwright.ts b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_playwright.ts new file mode 100644 index 000000000000..db4b2d277e2d --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_playwright.ts @@ -0,0 +1,11 @@ +import { PlaywrightCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new PlaywrightCrawler({ + proxyConfiguration, + async requestHandler({ proxyInfo }) { + console.log(proxyInfo); + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_inspection_puppeteer.ts b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_puppeteer.ts new file mode 100644 index 000000000000..154ce0068fca --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_inspection_puppeteer.ts @@ -0,0 +1,11 @@ +import { PuppeteerCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new PuppeteerCrawler({ + proxyConfiguration, + async requestHandler({ proxyInfo }) { + console.log(proxyInfo); + }, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_integration_cheerio.ts b/website/versioned_docs/version-3.10/guides/proxy_management_integration_cheerio.ts new file mode 100644 index 000000000000..74f9878c0952 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_integration_cheerio.ts @@ -0,0 +1,13 @@ +import { CheerioCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: [ + 'http://proxy-1.com', + 'http://proxy-2.com', + ], +}); + +const crawler = new CheerioCrawler({ + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_integration_http.ts b/website/versioned_docs/version-3.10/guides/proxy_management_integration_http.ts new file mode 100644 index 000000000000..0db0a9ab9221 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_integration_http.ts @@ -0,0 +1,13 @@ +import { HttpCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: [ + 'http://proxy-1.com', + 'http://proxy-2.com', + ], +}); + +const crawler = new HttpCrawler({ + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_integration_jsdom.ts b/website/versioned_docs/version-3.10/guides/proxy_management_integration_jsdom.ts new file mode 100644 index 000000000000..4164ef8cff32 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_integration_jsdom.ts @@ -0,0 +1,13 @@ +import { JSDOMCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: [ + 'http://proxy-1.com', + 'http://proxy-2.com', + ], +}); + +const crawler = new JSDOMCrawler({ + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_integration_playwright.ts b/website/versioned_docs/version-3.10/guides/proxy_management_integration_playwright.ts new file mode 100644 index 000000000000..ad41b377552a --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_integration_playwright.ts @@ -0,0 +1,13 @@ +import { PlaywrightCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: [ + 'http://proxy-1.com', + 'http://proxy-2.com', + ], +}); + +const crawler = new PlaywrightCrawler({ + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_integration_puppeteer.ts b/website/versioned_docs/version-3.10/guides/proxy_management_integration_puppeteer.ts new file mode 100644 index 000000000000..f4dc43ac3939 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_integration_puppeteer.ts @@ -0,0 +1,13 @@ +import { PuppeteerCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ + proxyUrls: [ + 'http://proxy-1.com', + 'http://proxy-2.com', + ], +}); + +const crawler = new PuppeteerCrawler({ + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_session_cheerio.ts b/website/versioned_docs/version-3.10/guides/proxy_management_session_cheerio.ts new file mode 100644 index 000000000000..f8484e6ced38 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_session_cheerio.ts @@ -0,0 +1,10 @@ +import { CheerioCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new CheerioCrawler({ + useSessionPool: true, + persistCookiesPerSession: true, + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_session_http.ts b/website/versioned_docs/version-3.10/guides/proxy_management_session_http.ts new file mode 100644 index 000000000000..601e26812a21 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_session_http.ts @@ -0,0 +1,10 @@ +import { HttpCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new HttpCrawler({ + useSessionPool: true, + persistCookiesPerSession: true, + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_session_jsdom.ts b/website/versioned_docs/version-3.10/guides/proxy_management_session_jsdom.ts new file mode 100644 index 000000000000..2321f97de433 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_session_jsdom.ts @@ -0,0 +1,10 @@ +import { JSDOMCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new JSDOMCrawler({ + useSessionPool: true, + persistCookiesPerSession: true, + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_session_playwright.ts b/website/versioned_docs/version-3.10/guides/proxy_management_session_playwright.ts new file mode 100644 index 000000000000..2208684698e3 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_session_playwright.ts @@ -0,0 +1,10 @@ +import { PlaywrightCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new PlaywrightCrawler({ + useSessionPool: true, + persistCookiesPerSession: true, + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_session_puppeteer.ts b/website/versioned_docs/version-3.10/guides/proxy_management_session_puppeteer.ts new file mode 100644 index 000000000000..5bcbb2806cab --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_session_puppeteer.ts @@ -0,0 +1,10 @@ +import { PuppeteerCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new PuppeteerCrawler({ + useSessionPool: true, + persistCookiesPerSession: true, + proxyConfiguration, + // ... +}); diff --git a/website/versioned_docs/version-3.10/guides/proxy_management_session_standalone.ts b/website/versioned_docs/version-3.10/guides/proxy_management_session_standalone.ts new file mode 100644 index 000000000000..3723d5072aca --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/proxy_management_session_standalone.ts @@ -0,0 +1,9 @@ +import { ProxyConfiguration, SessionPool } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const sessionPool = await SessionPool.open({ /* opts */ }); + +const session = await sessionPool.getSession(); + +const proxyUrl = await proxyConfiguration.newUrl(session.id); diff --git a/website/versioned_docs/version-3.10/guides/request_storage.mdx b/website/versioned_docs/version-3.10/guides/request_storage.mdx new file mode 100644 index 000000000000..279a504c912e --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/request_storage.mdx @@ -0,0 +1,146 @@ +--- +id: request-storage +title: Request Storage +description: How to store the requests your crawler will go through +--- + +import ApiLink from '@site/src/components/ApiLink'; + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import BasicOperationsSource from '!!raw-loader!./request_storage_queue_basic.ts'; +import CrawlerExplicitSource from '!!raw-loader!./request_storage_queue_crawler_explicit.ts'; +import CrawlerSource from '!!raw-loader!./request_storage_queue_crawler.ts'; + +import RequestQueueListSource from '!!raw-loader!./request_storage_queue_list.ts'; +import RequestQueueAddRequestsSource from '!!raw-loader!./request_storage_queue_only.ts'; + +Crawlee has several request storage types that are useful for specific tasks. The requests are stored on local disk to a directory defined by the `CRAWLEE_STORAGE_DIR` environment variable. If this variable is not defined, by default Crawlee sets `CRAWLEE_STORAGE_DIR` to `./storage` in the current working directory. + +## Request queue + +The request queue is a storage of URLs to crawl. The queue is used for the deep crawling of websites, where we start with several URLs and then recursively follow links to other pages. The data structure supports both breadth-first and depth-first crawling orders. + +Each Crawlee project run is associated with a **default request queue**. Typically, it is used to store URLs to crawl in the specific crawler run. Its usage is optional. + +In Crawlee, the request queue is represented by the <ApiLink to="core/class/RequestQueue">`RequestQueue`</ApiLink> class. + +The request queue is managed by <ApiLink to="memory-storage/class/MemoryStorage">`MemoryStorage`</ApiLink> class and its data is stored in memory, while also being off-loaded to the local directory specified by the `CRAWLEE_STORAGE_DIR` environment variable as follows: + +```text +{CRAWLEE_STORAGE_DIR}/request_queues/{QUEUE_ID}/entries.json +``` + +:::note + +`{QUEUE_ID}` is the name or ID of the request queue. The default queue has ID `default`, unless we override it by setting the `CRAWLEE_DEFAULT_REQUEST_QUEUE_ID` environment variable. + +::: + +:::note + +`entries.json` contains an array of requests. + +::: + +The following code demonstrates the usage of the request queue: + +<Tabs groupId="request_queue"> + <TabItem value="crawler" label="Usage with Crawler" default> + <CodeBlock language="js"> + {CrawlerSource} + </CodeBlock> + </TabItem> + <TabItem value="crawler_explicit" label="Explicit usage with Crawler"> + <CodeBlock language="js"> + {CrawlerExplicitSource} + </CodeBlock> + </TabItem> + <TabItem value="basic_operations" label="Basic Operations" default> + <CodeBlock language="js"> + {BasicOperationsSource} + </CodeBlock> + </TabItem> +</Tabs> + +To see more detailed example of how to use the request queue with a crawler, see the [Puppeteer Crawler](/docs/examples/puppeteer-crawler) example. + +## Request list + +The request list is not a storage per se - it represents the list of URLs to crawl that is stored in a crawler run memory (or optionally in default [Key-Value Store](../guides/result-storage#key-value-store) associated with the run, if specified). The list is used for the crawling of a large number of URLs, when we know all the URLs which should be visited by the crawler and no URLs would be added during the run. The URLs can be provided either in code or parsed from a text file hosted on the web. + +Request list is created exclusively for the crawler run and only if its usage is explicitly specified in the code. Its usage is optional. + +In Crawlee, the request list is represented by the <ApiLink to="core/class/RequestList">`RequestList`</ApiLink> class. + +The following code demonstrates basic operations of the request list: + +```javascript +import { RequestList, PuppeteerCrawler } from 'crawlee'; + +// Prepare the sources array with URLs to visit +const sources = [ + { url: 'http://www.example.com/page-1' }, + { url: 'http://www.example.com/page-2' }, + { url: 'http://www.example.com/page-3' }, +]; + +// Open the request list. +// List name is used to persist the sources and the list state in the key-value store +const requestList = await RequestList.open('my-list', sources); + +// The crawler will automatically process requests from the list +// It's used the same way for Cheerio /Playwright crawlers. +const crawler = new PuppeteerCrawler({ + requestList, + async requestHandler({ page, request }) { + // Process the page (extract data, take page screenshot, etc). + // No more requests could be added to the request list here + }, +}); +``` + +## Which one to choose? + +When using Request queue - we would normally have several start URLs (e.g. category pages on e-commerce website) and then recursively add more (e.g. individual item pages) programmatically to the queue, it supports dynamic adding and removing of requests. No more URLs can be added to Request list after its initialization as it is immutable, URLs cannot be removed from the list either. + +On the other hand, the Request queue is not optimized for adding or removing numerous URLs in a batch. This is technically possible, but requests are added one by one to the queue, and thus it would take significant time with a larger number of requests. Request list however can contain even millions of URLs, and it would take significantly less time to add them to the list, compared to the queue. + +Note that Request queue and Request list can be used together by the same crawler. In such cases, each request from the Request list is enqueued into the Request queue first (to the foremost position in the queue, even if Request queue is not empty) and then consumed from the latter. This is necessary to avoid the same URL being processed more than once (from the list first and then possibly from the queue). In practical terms, such a combination can be useful when there are numerous initial URLs, but more URLs would be added dynamically by the crawler. + +:::tip + +In Crawlee, there is not much need to combine the request queue together with the request list (although it's technically possible). + +Previously there was no way to add the initial requests to the queue in batches (to add an array of requests), i.e. we could have only added the requests one by one to the queue with the help of <ApiLink to="core/class/RequestQueue#addRequest">`addRequest()`</ApiLink> function. + +However, now we could use the <ApiLink to="core/class/RequestQueue#addRequests">`addRequests()`</ApiLink> function, which adds requests in batches. Thus, instead of combining the request queue and the request list, we can use only the request queue for such use-cases now. See the examples below. + +::: + +<Tabs groupId="queue_list"> + <TabItem value="add_requests" label="Request Queue" default> + <CodeBlock language="js"> + {RequestQueueAddRequestsSource} + </CodeBlock> + </TabItem> + <TabItem value="queue_list" label="Request Queue + Request List"> + <CodeBlock language="js"> + {RequestQueueListSource} + </CodeBlock> + </TabItem> +</Tabs> + +## Cleaning up the storages + +Default storages are purged before the crawler starts if not specified otherwise. This happens as early as when we try to open some storage (e.g. via `RequestQueue.open()`) or when we try to work with a default storage via one of the helper methods (e.g. `crawler.addRequests()` that under the hood calls `RequestQueue.open()`). If we don't work with storages explicitly in our code, the purging will eventually happen when the `run` method of our crawler is executed. In case we need to purge the storages sooner, we can use the <ApiLink to="core/function/purgeDefaultStorages">`purgeDefaultStorages()`</ApiLink> helper explicitly: + +```javascript +import { purgeDefaultStorages } from 'crawlee'; + +await purgeDefaultStorages(); +``` + +Calling this function will clean up the default request storage directory (and also the request list stored in default key-value store). This is a shortcut for running (optional) `purge` method on the <ApiLink to="core/interface/StorageClient">`StorageClient`</ApiLink> interface, in other words it will call the `purge` method of the underlying storage implementation we are currently using. You can make sure the storage is purged only once for a given execution context if you set `onlyPurgeOnce` to `true` in the `options` object. diff --git a/website/versioned_docs/version-3.10/guides/request_storage_queue_basic.ts b/website/versioned_docs/version-3.10/guides/request_storage_queue_basic.ts new file mode 100644 index 000000000000..66d3d337212d --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/request_storage_queue_basic.ts @@ -0,0 +1,17 @@ +import { RequestQueue } from 'crawlee'; + +// Open the default request queue associated with the crawler run +const requestQueue = await RequestQueue.open(); + +// Enqueue the initial batch of requests (could be an array of just one) +await requestQueue.addRequests([ + { url: 'https://example.com/1' }, + { url: 'https://example.com/2' }, + { url: 'https://example.com/3' }, +]); + +// Open the named request queue +const namedRequestQueue = await RequestQueue.open('named-queue'); + +// Remove the named request queue +await namedRequestQueue.drop(); diff --git a/website/versioned_docs/version-3.10/guides/request_storage_queue_crawler.ts b/website/versioned_docs/version-3.10/guides/request_storage_queue_crawler.ts new file mode 100644 index 000000000000..4815ea71ae42 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/request_storage_queue_crawler.ts @@ -0,0 +1,25 @@ +import { CheerioCrawler } from 'crawlee'; + +// The crawler will automatically process requests from the queue. +// It's used the same way for Puppeteer/Playwright crawlers. +const crawler = new CheerioCrawler({ + // Note that we're not specifying the requestQueue here + async requestHandler({ $, crawler, enqueueLinks }) { + // Add new request to the queue + await crawler.addRequests([{ url: 'https://example.com/new-page' }]); + // Add links found on page to the queue + await enqueueLinks(); + }, +}); + +// Add the initial requests. +// Note that we are not opening the request queue explicitly before +await crawler.addRequests([ + { url: 'https://example.com/1' }, + { url: 'https://example.com/2' }, + { url: 'https://example.com/3' }, + // ... +]); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/guides/request_storage_queue_crawler_explicit.ts b/website/versioned_docs/version-3.10/guides/request_storage_queue_crawler_explicit.ts new file mode 100644 index 000000000000..50bff97570d5 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/request_storage_queue_crawler_explicit.ts @@ -0,0 +1,27 @@ +import { RequestQueue, CheerioCrawler } from 'crawlee'; + +// Open the default request queue associated with the current run +const requestQueue = await RequestQueue.open(); + +// Enqueue the initial requests +await requestQueue.addRequests([ + { url: 'https://example.com/1' }, + { url: 'https://example.com/2' }, + { url: 'https://example.com/3' }, + // ... +]); + +// The crawler will automatically process requests from the queue. +// It's used the same way for Puppeteer/Playwright crawlers +const crawler = new CheerioCrawler({ + requestQueue, + async requestHandler({ $, request, enqueueLinks }) { + // Add new request to the queue + await requestQueue.addRequests([{ url: 'https://example.com/new-page' }]); + // Add links found on page to the queue + await enqueueLinks(); + }, +}); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/guides/request_storage_queue_list.ts b/website/versioned_docs/version-3.10/guides/request_storage_queue_list.ts new file mode 100644 index 000000000000..456caf1c015c --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/request_storage_queue_list.ts @@ -0,0 +1,42 @@ +// This is technically correct, but +// we need to explicitly open/use both the request queue and the request list. +// We suggest using the request queue and batch add the requests instead. + +import { RequestList, RequestQueue, PuppeteerCrawler } from 'crawlee'; + +// Prepare the sources array with URLs to visit (it can contain millions of URLs) +const sources = [ + { url: 'http://www.example.com/page-1' }, + { url: 'http://www.example.com/page-2' }, + { url: 'http://www.example.com/page-3' }, + // ... +]; + +// Open the request list with the initial sources array +const requestList = await RequestList.open('my-list', sources); + +// Open the default request queue. It's not necessary to add any requests to the queue +const requestQueue = await RequestQueue.open(); + +// The crawler will automatically process requests from the list and the queue. +// It's used the same way for Cheerio/Playwright crawlers +const crawler = new PuppeteerCrawler({ + requestList, + requestQueue, + // Each request from the request list is enqueued to the request queue one by one. + // At this point request with the same URL would exist in the list and the queue + async requestHandler({ crawler, enqueueLinks }) { + // Add new request to the queue + await crawler.addRequests(['http://www.example.com/new-page']); + + // Add links found on page to the queue + await enqueueLinks(); + + // The requests above would be added to the queue (but not to the list) + // and would be processed after the request list is empty. + // No more requests could be added to the list here + }, +}); + +// Run the crawler +await crawler.run(); diff --git a/website/versioned_docs/version-3.10/guides/request_storage_queue_only.ts b/website/versioned_docs/version-3.10/guides/request_storage_queue_only.ts new file mode 100644 index 000000000000..5d9a31379597 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/request_storage_queue_only.ts @@ -0,0 +1,32 @@ +// This is the suggested way. +// Note that we are not using the request list at all, +// and not using the request queue explicitly here. + +import { PuppeteerCrawler } from 'crawlee'; + +// Prepare the sources array with URLs to visit (it can contain millions of URLs) +const sources = [ + { url: 'http://www.example.com/page-1' }, + { url: 'http://www.example.com/page-2' }, + { url: 'http://www.example.com/page-3' }, + // ... +]; + +// The crawler will automatically process requests from the queue. +// It's used the same way for Cheerio/Playwright crawlers +const crawler = new PuppeteerCrawler({ + async requestHandler({ crawler, enqueueLinks }) { + // Add new request to the queue + await crawler.addRequests(['http://www.example.com/new-page']); + + // Add links found on page to the queue + await enqueueLinks(); + + // The requests above would be added to the queue + // and would be processed after the initial requests are processed. + }, +}); + +// Add the initial sources array to the request queue +// and run the crawler +await crawler.run(sources); diff --git a/website/versioned_docs/version-3.10/guides/result_storage.mdx b/website/versioned_docs/version-3.10/guides/result_storage.mdx new file mode 100644 index 000000000000..eff313aef81f --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/result_storage.mdx @@ -0,0 +1,113 @@ +--- +id: result-storage +title: Result Storage +description: Where are you going to store all of that juicy scraped data?! +--- + +import ApiLink from '@site/src/components/ApiLink'; + +Crawlee has several result storage types that are useful for specific tasks. The data is stored on a local disk to the directory defined by the `CRAWLEE_STORAGE_DIR` environment variable. If this variable is not defined, by default Crawlee sets `CRAWLEE_STORAGE_DIR` to `./storage` in the current working directory. + +Crawlee storage is managed by <ApiLink to="memory-storage/class/MemoryStorage">`MemoryStorage`</ApiLink> class. During the crawler run all information is stored in memory, while also being off-loaded to the local files in respective storage type folders. + +## Key-value store + +The key-value store is used for saving and reading data records or files. Each data record is represented by a unique key and associated with a MIME content type. Key-value stores are ideal for saving screenshots of web pages, PDFs or to persist the state of crawlers. + +Each Crawlee project run is associated with a **default key-value store**. By convention, the project input and output are stored in the default key-value store under the `INPUT` and `OUTPUT` keys respectively. Typically, both input and output are JSON files, although they could be any other format. + +In Crawlee, the key-value store is represented by the <ApiLink to="core/class/KeyValueStore">`KeyValueStore`</ApiLink> class. In order to simplify access to the default key-value store, Crawlee also provides <ApiLink to="core/class/KeyValueStore#getValue">`KeyValueStore.getValue()`</ApiLink> and <ApiLink to="core/class/KeyValueStore#setValue">`KeyValueStore.setValue()`</ApiLink> functions. + +The data is stored in the directory specified by the `CRAWLEE_STORAGE_DIR` environment variable as follows: + +``` +{CRAWLEE_STORAGE_DIR}/key_value_stores/{STORE_ID}/{KEY}.{EXT} +``` + +:::note + +`{STORE_ID}` is the name or the ID of the key-value store. The default key-value store has ID `default`, unless we override it by setting the `CRAWLEE_DEFAULT_KEY_VALUE_STORE_ID` environment variable. The `{KEY}` is the key of the record and `{EXT}` corresponds to the MIME content type of the data value. + +::: + +The following code demonstrates basic operations of key-value stores: + +```javascript +import { KeyValueStore } from 'crawlee'; + +// Get the INPUT from the default key-value store +const input = await KeyValueStore.getInput(); + +// Write the OUTPUT to the default key-value store +await KeyValueStore.setValue('OUTPUT', { myResult: 123 }); + +// Open a named key-value store +const store = await KeyValueStore.open('some-name'); + +// Write a record to the named key-value store. +// JavaScript object is automatically converted to JSON, +// strings and binary buffers are stored as they are +await store.setValue('some-key', { foo: 'bar' }); + +// Read a record from the named key-value store. +// Note that JSON is automatically parsed to a JavaScript object, +// text data is returned as a string, and other data is returned as binary buffer +const value = await store.getValue('some-key'); + +// Delete a record from the named key-value store +await store.setValue('some-key', null); +``` + +To see a real-world example of how to get the input from the key-value store, see the [Screenshots](../examples/capture-screenshot) example. + +## Dataset + +Datasets are used to store structured data where each object stored has the same attributes, such as online store products or real estate offers. Dataset can be imagined as a table, where each object is a row and its attributes are columns. Dataset is an append-only storage - we can only add new records to it, but we cannot modify or remove existing records. + +Each Crawlee project run is associated with a **default dataset**. Typically, it is used to store crawling results specific for the crawler run. Its usage is optional. + +In Crawlee, the dataset is represented by the <ApiLink to="core/class/Dataset">`Dataset`</ApiLink> class. In order to simplify writes to the default dataset, Crawlee also provides the <ApiLink to="core/class/Dataset#pushData">`Dataset.pushData()`</ApiLink> function. + +The data is stored in the directory specified by the `CRAWLEE_STORAGE_DIR` environment variable as follows: + +``` +{CRAWLEE_STORAGE_DIR}/datasets/{DATASET_ID}/{INDEX}.json +``` + +:::note + +`{DATASET_ID}` is the name or the ID of the dataset. The default dataset has ID `default`, unless we override it by setting the `CRAWLEE_DEFAULT_DATASET_ID` environment variable. Each dataset item is stored as a separate JSON file, where `{INDEX}` is a zero-based index of the item in the dataset. + +::: + +The following code demonstrates basic operations of the dataset: + +```javascript +import { Dataset } from 'crawlee'; + +// Write a single row to the default dataset +await Dataset.pushData({ col1: 123, col2: 'val2' }); + +// Open a named dataset +const dataset = await Dataset.open('some-name'); + +// Write a single row +await dataset.pushData({ foo: 'bar' }); + +// Write multiple rows +await dataset.pushData([{ foo: 'bar2', col2: 'val2' }, { col3: 123 }]); +``` + +To see how to use the dataset to store crawler results, see the [Cheerio Crawler](../examples/cheerio-crawler) example. + +## Cleaning up the storages + +Default storages are purged before the crawler starts if not specified otherwise. This happens as early as when we try to open some storage (e.g. via `Dataset.open()`) or when we try to work with a default storage via one of the helper methods (e.g. `Dataset.pushData()` that under the hood calls `Dataset.open()`). If we don't work with storages explicitly in our code, the purging will eventually happen when the `run` method of our crawler is executed. In case we need to purge the storages sooner, we can use the <ApiLink to="core/function/purgeDefaultStorages">`purgeDefaultStorages()`</ApiLink> helper explicitly: + +```javascript +import { purgeDefaultStorages } from 'crawlee'; + +await purgeDefaultStorages(); +``` + +Calling this function will clean up the default results storage directories except the `INPUT` key in default key-value store directory. This is a shortcut for running (optional) `purge` method on the <ApiLink to="core/interface/StorageClient">`StorageClient`</ApiLink> interface, in other words it will call the `purge` method of the underlying storage implementation we are currently using. In addition, this method will make sure the storage is purged only once for a given execution context, so it is safe to call it multiple times. diff --git a/website/versioned_docs/version-3.10/guides/scaling_crawlers.mdx b/website/versioned_docs/version-3.10/guides/scaling_crawlers.mdx new file mode 100644 index 000000000000..e296cc90975f --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/scaling_crawlers.mdx @@ -0,0 +1,120 @@ +--- +id: scaling-crawlers +title: Scaling our crawlers +description: To infinity and beyond! ...within limits +--- + +import ApiLink from '@site/src/components/ApiLink'; + +import CodeBlock from '@theme/CodeBlock'; + +import MinMaxConcurrencySource from '!!raw-loader!./scaling_crawlers_minMaxConcurrency.ts'; +import MaxRequestsPerMinuteSource from '!!raw-loader!./scaling_crawlers_maxRequestsPerMinute.ts'; +import AutoscaledPoolOptionsSource from '!!raw-loader!./scaling_crawlers_autoscaledPoolOptions.ts'; + +As we build our crawler, we might want to control how many requests we do to the website at a time. Crawlee provides several options to fine tune how many parallel requests should be made at any time, how many requests should be done per minute, and how should scaling work based on the available system resources. + +:::tip + +All of these options are available on all crawlers Crawlee provides, but for this guide we'll be using the <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink>. We can see all options that are available <ApiLink to="cheerio-crawler/interface/CheerioCrawlerOptions">`here`</ApiLink>. +::: + +## `maxRequestsPerMinute` + +This controls how many total requests can be made per minute. It counts the amount of requests done every second, to ensure there is not a burst of requests at the `maxConcurrency` limit followed by a long period of waiting. By default, it is set to `Infinity` which means the crawler will keep going up to the `maxConcurrency`. We would set this if we wanted our crawler to work at full throughput, but also not keep hitting the website we're crawling with non-stop requests. + +<CodeBlock language="js"> + {MaxRequestsPerMinuteSource} +</CodeBlock> + +## `minConcurrency` and `maxConcurrency` + +These control how many parallel requests can be run at any time. By default, crawlers will start with one parallel request at a time and scale up over time to a maximum of 200 requests at a time. + +:::caution Don't set `minConcurrency` too high! + +Setting this option too high compared to the available system resources will make your crawler run extremely slow or might even crash. + +It's recommended to leave it at the default value that is provided and letting the crawler scale up and down automatically based on available resources instead. + +::: + +<CodeBlock language="js"> + {MinMaxConcurrencySource} +</CodeBlock> + +## Advanced options + +While the options above should be enough for most users, if we wanted to get super deep into the configuration of the autoscaling pool (the internal utility in Crawlee that helps us allow crawlers to scale up and down), we can do so through the <ApiLink to="cheerio-crawler/interface/CheerioCrawlerOptions#autoscaledPoolOptions">`autoscaledPoolOptions`</ApiLink> object available on crawler options. + +:::danger Complex options up ahead! + +This section is super advanced and, unless you test the changes extensively and know what you're doing, it's better to leave these options to their defaults, as they are most likely going to work fine without much fuss. + +::: + +With that warning aside, if we're feeling adventurous, this is how we would pass these options when using a crawler: + +<CodeBlock language="js"> + {AutoscaledPoolOptionsSource} +</CodeBlock> + +### `desiredConcurrency` + +This option specifies the amount of requests that should be running in parallel at the start of the crawler, assuming there are so many available. It defaults to the same value as `minConcurrency`. + +### `desiredConcurrencyRatio` + +The minimum ratio of concurrency to reach before more scaling up is allowed (a number between `0` and `1`). By default, it is set to `0.95`. + +We can think of this as the point where the autoscaling pool can attempt to scale up (or down), monitor if there's any changes, and correct them if necessary. + +### `scaleUpStepRatio` and `scaleDownStepRatio` + +These values define the fractional amount of desired concurrency to be added or subtracted as the autoscaling pool scales up or down. Both of these values default to `0.05`. + +Every time the autoscaled pool attempts to scale up or down, this value will be added or subtracted from the current concurrency, and, based on the [`desiredConcurrencyRatio`](#desiredconcurrencyratio) and [`maxConcurrency`](#minconcurrency-and-maxconcurrency), determines how many requests can run concurrently. + +### `maybeRunIntervalSecs` + +Indicates how often the autoscaling pool should check if more requests can be started and, if that's true, starts a new request if there are any available. This value is represented in seconds, and defaults to `0.5`. + +:::info + +Changing this has no effect for requests that are fired immediately after the previous ones are finished. However, it will influence how fast new requests will be started after the autoscaled pool scales up. + +::: + +### `loggingIntervalSecs` + +This option lets us control how often the autoscaled pool should log its current state (the current concurrency ratio, desired ratios, if the system is overloaded and so on). + +We can disable logging altogether by setting this to `null`. By default, it is set to `60` seconds. + +### `autoscaleIntervalSecs` + +This option lets us control how often the autoscaling pool should check if it can and should scale up or down. This value is represented in seconds, and defaults to `10`. + +:::tip + +It's recommended you keep this value between `5` and `20` seconds. + +::: + +:::caution Be careful with how low, or high, you set this option + +Setting this option to a value that's too low might have a severe impact on our crawling performance. And, in reverse, setting this to a value that's too high might mean we leave performance on the table that could've been used for crawling more requests instead. + +With that said, if you configure this alongside [`scaleUpStepRatio` and `scaleDownStepRatio`](#scaleupstepratio-and-scaledownstepratio), you could make your crawler scale up at a slower interval, but with more requests at a time when it does. + +::: + +### `maxTasksPerMinute` + +This controls how many total requests can be made per minute. It counts the amount of requests done every second, to ensure there is not a burst of requests at the `maxConcurrency` limit followed by a long period of waiting. By default, it is set to `Infinity` which means the crawler will keep going up to the `maxConcurrency`. We would set this if we wanted our crawler to work at full throughput, but also not keep hitting the website we're crawl with non-stop requests. + +:::info + +This option can be set by specifying [`maxRequestsPerMinute`](#maxrequestsperminute) in your crawler options too, as it is a shortcut for visibility and ease of access. + +::: diff --git a/website/versioned_docs/version-3.10/guides/scaling_crawlers_autoscaledPoolOptions.ts b/website/versioned_docs/version-3.10/guides/scaling_crawlers_autoscaledPoolOptions.ts new file mode 100644 index 000000000000..5d8f53c4dcc4 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/scaling_crawlers_autoscaledPoolOptions.ts @@ -0,0 +1,8 @@ +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + // Pass in advanced options by providing them in the autoscaledPoolOptions + autoscaledPoolOptions: { + // ... + }, +}); diff --git a/website/versioned_docs/version-3.10/guides/scaling_crawlers_maxRequestsPerMinute.ts b/website/versioned_docs/version-3.10/guides/scaling_crawlers_maxRequestsPerMinute.ts new file mode 100644 index 000000000000..43ae565b738e --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/scaling_crawlers_maxRequestsPerMinute.ts @@ -0,0 +1,8 @@ +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + // Let the crawler know it can run up to 100 requests concurrently at any time + maxConcurrency: 100, + // ...but also ensure the crawler never exceeds 250 requests per minute + maxRequestsPerMinute: 250, +}); diff --git a/website/versioned_docs/version-3.10/guides/scaling_crawlers_minMaxConcurrency.ts b/website/versioned_docs/version-3.10/guides/scaling_crawlers_minMaxConcurrency.ts new file mode 100644 index 000000000000..06a562a4bb8b --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/scaling_crawlers_minMaxConcurrency.ts @@ -0,0 +1,8 @@ +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + // Start the crawler right away and ensure there will always be 5 concurrent requests ran at any time + minConcurrency: 5, + // Ensure the crawler doesn't exceed 15 concurrent requests ran at any time + maxConcurrency: 15, +}); diff --git a/website/versioned_docs/version-3.10/guides/session_management.mdx b/website/versioned_docs/version-3.10/guides/session_management.mdx new file mode 100644 index 000000000000..ad0eca80e96e --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/session_management.mdx @@ -0,0 +1,81 @@ +--- +id: session-management +title: Session Management +description: How to manage your cookies, proxy IP rotations and more +--- + +import ApiLink from '@site/src/components/ApiLink'; + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import BasicSource from '!!raw-loader!./session_management_basic.ts'; +import HttpSource from '!!raw-loader!./session_management_http.ts'; +import CheerioSource from '!!raw-loader!./session_management_cheerio.ts'; +import JSDOMSource from '!!raw-loader!./session_management_jsdom.ts'; +import PlaywrightSource from '!!raw-loader!./session_management_playwright.ts'; +import PuppeteerSource from '!!raw-loader!./session_management_puppeteer.ts'; +import StandaloneSource from '!!raw-loader!./session_management_standalone.ts'; + +​<ApiLink to="core/class/SessionPool">`SessionPool`</ApiLink> is a class that allows us to handle the rotation of proxy IP addresses along with cookies and other custom settings in Crawlee. + +The main benefit of using Session pool is that we can filter out blocked or non-working proxies, +so our actor does not retry requests over known blocked/non-working proxies. +Another benefit of using SessionPool is that we can store information tied tightly to an IP address, +such as cookies, auth tokens, and particular headers. Having our cookies and other identifiers used only with a specific IP will reduce the chance of being blocked. +The last but not least benefit is the even rotation of IP addresses - SessionPool picks the session randomly, +which should prevent burning out a small pool of available IPs. + +Check out the [avoid blocking guide](./avoid-blocking) for more information about blocking. + +Now let's take a look at the examples of how to use Session pool: +- with <ApiLink to="basic-crawler/class/BasicCrawler">`BasicCrawler`</ApiLink>; +- with <ApiLink to="http-crawler/class/HttpCrawler">`HttpCrawler`</ApiLink>; +- with <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink>; +- with <ApiLink to="jsdom-crawler/class/JSDOMCrawler">`JSDOMCrawler`</ApiLink>; +- with <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink>; +- with <ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink>; +- without a crawler (standalone usage to manage sessions manually). + +<Tabs groupId="session_pool"> + <TabItem value="basic" label="BasicCrawler"> + <CodeBlock language="js"> + {BasicSource} + </CodeBlock> + </TabItem> + <TabItem value="http" label="HttpCrawler"> + <CodeBlock language="js"> + {HttpSource} + </CodeBlock> + </TabItem> + <TabItem value="cheerio" label="CheerioCrawler" default> + <CodeBlock language="js"> + {CheerioSource} + </CodeBlock> + </TabItem> + <TabItem value="jsdom" label="JSDOMCrawler"> + <CodeBlock language="js"> + {JSDOMSource} + </CodeBlock> + </TabItem> + <TabItem value="playwright" label="PlaywrightCrawler"> + <CodeBlock language="js"> + {PlaywrightSource} + </CodeBlock> + </TabItem> + <TabItem value="puppeteer" label="PuppeteerCrawler"> + <CodeBlock language="js"> + {PuppeteerSource} + </CodeBlock> + </TabItem> + <TabItem value="standalone" label="Standalone"> + <CodeBlock language="js"> + {StandaloneSource} + </CodeBlock> + </TabItem> +</Tabs> + +These are the basics of configuring SessionPool. +Please, bear in mind that a Session pool needs time to find working IPs and build up the pool, +so we will probably see a lot of errors until it becomes stabilized. diff --git a/website/versioned_docs/version-3.10/guides/session_management_basic.ts b/website/versioned_docs/version-3.10/guides/session_management_basic.ts new file mode 100644 index 000000000000..8e7d41cca23c --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/session_management_basic.ts @@ -0,0 +1,54 @@ +import { BasicCrawler, ProxyConfiguration } from 'crawlee'; +import { gotScraping } from 'got-scraping'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new BasicCrawler({ + // Activates the Session pool (default is true). + useSessionPool: true, + // Overrides default Session pool configuration. + sessionPoolOptions: { maxPoolSize: 100 }, + async requestHandler({ request, session }) { + const { url } = request; + const requestOptions = { + url, + // We use session id in order to have the same proxyUrl + // for all the requests using the same session. + proxyUrl: await proxyConfiguration.newUrl(session.id), + throwHttpErrors: false, + headers: { + // If you want to use the cookieJar. + // This way you get the Cookie headers string from session. + Cookie: session.getCookieString(url), + }, + }; + let response; + + try { + response = await gotScraping(requestOptions); + } catch (e) { + if (e === 'SomeNetworkError') { + // If a network error happens, such as timeout, socket hangup, etc. + // There is usually a chance that it was just bad luck + // and the proxy works. No need to throw it away. + session.markBad(); + } + throw e; + } + + // Automatically retires the session based on response HTTP status code. + session.retireOnBlockedStatusCodes(response.statusCode); + + if (response.body.blocked) { + // You are sure it is blocked. + // This will throw away the session. + session.retire(); + } + + // Everything is ok, you can get the data. + // No need to call session.markGood -> BasicCrawler calls it for you. + + // If you want to use the CookieJar in session you need. + session.setCookiesFromResponse(response); + }, +}); diff --git a/website/versioned_docs/version-3.10/guides/session_management_cheerio.ts b/website/versioned_docs/version-3.10/guides/session_management_cheerio.ts new file mode 100644 index 000000000000..397256b95e40 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/session_management_cheerio.ts @@ -0,0 +1,26 @@ +import { CheerioCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new CheerioCrawler({ + // To use the proxy IP session rotation logic, you must turn the proxy usage on. + proxyConfiguration, + // Activates the Session pool (default is true). + useSessionPool: true, + // Overrides default Session pool configuration. + sessionPoolOptions: { maxPoolSize: 100 }, + // Set to true if you want the crawler to save cookies per session, + // and set the cookie header to request automatically (default is true). + persistCookiesPerSession: true, + async requestHandler({ session, $ }) { + const title = $('title').text(); + + if (title === 'Blocked') { + session.retire(); + } else if (title === 'Not sure if blocked, might also be a connection error') { + session.markBad(); + } else { + // session.markGood() - this step is done automatically in BasicCrawler. + } + }, +}); diff --git a/website/versioned_docs/version-3.10/guides/session_management_http.ts b/website/versioned_docs/version-3.10/guides/session_management_http.ts new file mode 100644 index 000000000000..b6d40d3ecdb9 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/session_management_http.ts @@ -0,0 +1,26 @@ +import { HttpCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new HttpCrawler({ + // To use the proxy IP session rotation logic, you must turn the proxy usage on. + proxyConfiguration, + // Activates the Session pool (default is true). + useSessionPool: true, + // Overrides default Session pool configuration. + sessionPoolOptions: { maxPoolSize: 100 }, + // Set to true if you want the crawler to save cookies per session, + // and set the cookie header to request automatically (default is true). + persistCookiesPerSession: true, + async requestHandler({ session, body }) { + const title = body.match(/<title(?:.*?)>(.*?)<\/title>/)?.[1]; + + if (title === 'Blocked') { + session.retire(); + } else if (title === 'Not sure if blocked, might also be a connection error') { + session.markBad(); + } else { + // session.markGood() - this step is done automatically in BasicCrawler. + } + }, +}); diff --git a/website/versioned_docs/version-3.10/guides/session_management_jsdom.ts b/website/versioned_docs/version-3.10/guides/session_management_jsdom.ts new file mode 100644 index 000000000000..6f57ca9bab37 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/session_management_jsdom.ts @@ -0,0 +1,26 @@ +import { JSDOMCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new JSDOMCrawler({ + // To use the proxy IP session rotation logic, you must turn the proxy usage on. + proxyConfiguration, + // Activates the Session pool (default is true). + useSessionPool: true, + // Overrides default Session pool configuration. + sessionPoolOptions: { maxPoolSize: 100 }, + // Set to true if you want the crawler to save cookies per session, + // and set the cookie header to request automatically (default is true). + persistCookiesPerSession: true, + async requestHandler({ session, window }) { + const title = window.document.title; + + if (title === 'Blocked') { + session.retire(); + } else if (title === 'Not sure if blocked, might also be a connection error') { + session.markBad(); + } else { + // session.markGood() - this step is done automatically in BasicCrawler. + } + }, +}); diff --git a/website/versioned_docs/version-3.10/guides/session_management_playwright.ts b/website/versioned_docs/version-3.10/guides/session_management_playwright.ts new file mode 100644 index 000000000000..f4ea5651d4d3 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/session_management_playwright.ts @@ -0,0 +1,26 @@ +import { PlaywrightCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new PlaywrightCrawler({ + // To use the proxy IP session rotation logic, you must turn the proxy usage on. + proxyConfiguration, + // Activates the Session pool (default is true). + useSessionPool: true, + // Overrides default Session pool configuration + sessionPoolOptions: { maxPoolSize: 100 }, + // Set to true if you want the crawler to save cookies per session, + // and set the cookies to page before navigation automatically (default is true). + persistCookiesPerSession: true, + async requestHandler({ page, session }) { + const title = await page.title(); + + if (title === 'Blocked') { + session.retire(); + } else if (title === 'Not sure if blocked, might also be a connection error') { + session.markBad(); + } else { + // session.markGood() - this step is done automatically in PlaywrightCrawler. + } + }, +}); diff --git a/website/versioned_docs/version-3.10/guides/session_management_puppeteer.ts b/website/versioned_docs/version-3.10/guides/session_management_puppeteer.ts new file mode 100644 index 000000000000..8f7aad903949 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/session_management_puppeteer.ts @@ -0,0 +1,26 @@ +import { PuppeteerCrawler, ProxyConfiguration } from 'crawlee'; + +const proxyConfiguration = new ProxyConfiguration({ /* opts */ }); + +const crawler = new PuppeteerCrawler({ + // To use the proxy IP session rotation logic, you must turn the proxy usage on. + proxyConfiguration, + // Activates the Session pool (default is true). + useSessionPool: true, + // Overrides default Session pool configuration + sessionPoolOptions: { maxPoolSize: 100 }, + // Set to true if you want the crawler to save cookies per session, + // and set the cookies to page before navigation automatically (default is true). + persistCookiesPerSession: true, + async requestHandler({ page, session }) { + const title = await page.title(); + + if (title === 'Blocked') { + session.retire(); + } else if (title === 'Not sure if blocked, might also be a connection error') { + session.markBad(); + } else { + // session.markGood() - this step is done automatically in PuppeteerCrawler. + } + }, +}); diff --git a/website/versioned_docs/version-3.10/guides/session_management_standalone.ts b/website/versioned_docs/version-3.10/guides/session_management_standalone.ts new file mode 100644 index 000000000000..c6fa33d82170 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/session_management_standalone.ts @@ -0,0 +1,21 @@ +import { SessionPool } from 'crawlee'; + +// Override the default Session pool configuration. +const sessionPoolOptions = { + maxPoolSize: 100, +}; + +// Open Session Pool. +const sessionPool = await SessionPool.open(sessionPoolOptions); + +// Get session. +const session = await sessionPool.getSession(); + +// Increase the errorScore. +session.markBad(); + +// Throw away the session. +session.retire(); + +// Lower the errorScore and mark the session good. +session.markGood(); diff --git a/website/versioned_docs/version-3.10/guides/typescript_project.mdx b/website/versioned_docs/version-3.10/guides/typescript_project.mdx new file mode 100644 index 000000000000..db8c2452cb19 --- /dev/null +++ b/website/versioned_docs/version-3.10/guides/typescript_project.mdx @@ -0,0 +1,154 @@ +--- +id: typescript-project +title: TypeScript Projects +description: Stricter, safer, and better development experience +--- + +Crawlee is built with TypeScript, which means it provides the type definition directly in the package. This allows writing code with auto-completion for TypeScript and JavaScript code alike. Besides that, projects written in TypeScript can take advantage of compile-time type-checking and avoid many coding mistakes, while providing documentation for functions, parameters and return values. It will also help with refactoring a lot, and ensuring the least amount of bugs will sneak through. + +## Setting up a TypeScript project + +To use TypeScript in our projects, we'll need the following prerequisites: + +1. TypeScript compiler `tsc` installed somewhere: + + ```shell script + npm install --save-dev typescript + ``` + + TypeScript can be a development dependency in our project, as shown above. There's no need to pollute the production environment or the system's global repository with TypeScript. + +2. A build script invoking `tsc` and a correctly specified `main` entry point defined in the `package.json` (pointing to the built code): + + ```json + { + "scripts": { + "build": "tsc" + }, + "main": "dist/main.js" + } + ``` + +3. Type declarations for NodeJS, so we can take advantage of type-checking in all the features we'll use: + + ```shell script + npm install --save-dev @types/node + ``` + +4. TypeScript configuration file allowing `tsc` to understand the project layout and the features used in the project: + + > We are extending the [`@apify/tsconfig`](https://github.com/apify/apify-tsconfig), it contains [the set of rules](https://github.com/apify/apify-tsconfig/blob/main/tsconfig.json) we believe are worth following. + + > To be able to use feature called [Top level await](https://blog.saeloun.com/2021/11/25/ecmascript-top-level-await.html), we will need to set the `module` and `target` compiler options to `ES2022` or above. This will make the project compile to [ECMAScript Modules](https://nodejs.org/api/esm.html). + + ```json title="tsconfig.json" + { + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "ES2022", + "target": "ES2022", + "outDir": "dist" + }, + "include": [ + "./src/**/*" + ] + } + ``` + + Place the content above inside a `tsconfig.json` in the root folder. + + Also, to enjoy using the types in `.js` source files, VSCode users that are using JavaScript should create a `jsconfig.json` with the same content and add `"checkJs": true` to `"compilerOptions"`. + + > If we want to use one of the browser crawlers, we will also need to add `"lib": ["DOM"]` to the compiler options. + + Ensure that you have installed `@apify/tsconfig` + + ```shell script + npm install --save-dev @apify/tsconfig + ``` + +### Running the project with `ts-node` + +During development, it's handy to run the project directly instead of compiling the TypeScript code to JavaScript every time. We can use `ts-node` for that, just install it as a dev dependency and add a new NPM script: + +```shell script +npm install --save-dev ts-node +``` + +> As mentioned above, our project will be compiled to use ES Modules. Because of this, we need to use the `ts-node-esm` binary. + +> We use the `-T` or `--transpileOnly` flag, this means the code will **not** be type-checked, which results in faster compilation. If you don't mind the added time and want to do the type checking, just remove this flag. + +```json title="package.json" +{ + "scripts": { + "start:dev": "ts-node-esm -T src/main.ts" + } +} +``` + +### Running in production + +To run the project in production, we first need to compile it via build script. After that, we will have the compiled JavaScript code in the `dist`, and we can use `node dist/main.js` to run it. + +```json title="package.json" +{ + "scripts": { + "start:prod": "node dist/main.js" + } +} +``` + +## Docker build + +For `Dockerfile` we recommend using multi-stage build, so we don't install the dev dependencies like TypeScript in the final image: + +```dockerfile title="Dockerfile" +# using multistage build, as we need dev deps to build the TS source code +FROM apify/actor-node:16 AS builder + +# copy all files, install all dependencies (including dev deps) and build the project +COPY . ./ +RUN npm install --include=dev \ + && npm run build + +# create final image +FROM apify/actor-node:16 +# copy only necessary files +COPY --from=builder /usr/src/app/package*.json ./ +COPY --from=builder /usr/src/app/dist ./dist + +# install only prod deps +RUN npm --quiet set progress=false \ + && npm install --only=prod --no-optional + +# run compiled code +CMD npm run start:prod +``` + +### Putting it all together + +Let's wrap it up to. In addition to the scripts we described above, we also need to set the `type: 'module'` in the `package.json` to be able to use the Top level await described above. For convenience, we will have 3 `start` scripts, the default one will be an alias to `start:dev`, which is our `ts-node` script that does not require compilation (nor type checking). The production script (`start:prod`) is then used in the `Dockerfile`, after explicit `npm run build` call. + +```json title="package.json" +{ + "name": "my-crawlee-project", + "type": "module", + "main": "dist/main.js", + "dependencies": { + "crawlee": "3.0.0" + }, + "devDependencies": { + "@apify/tsconfig": "^0.1.0", + "@types/node": "^18.14.0", + "ts-node": "^10.8.0", + "typescript": "^4.7.4" + }, + "scripts": { + "start": "npm run start:dev", + "start:prod": "node dist/main.js", + "start:dev": "ts-node-esm -T src/main.ts", + "build": "tsc" + } +} +``` diff --git a/website/versioned_docs/version-3.10/introduction/01-setting-up.mdx b/website/versioned_docs/version-3.10/introduction/01-setting-up.mdx new file mode 100644 index 000000000000..b1b131dab631 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/01-setting-up.mdx @@ -0,0 +1,89 @@ +--- +id: setting-up +title: "Setting up" +description: Your first steps into the world of scraping with Crawlee +--- + +import ThemedImage from '@theme/ThemedImage'; + +import ApiLink from '@site/src/components/ApiLink'; + +To run Crawlee on your own computer, you need to meet the following pre-requisites first: + +1. Have **Node.js version 16.0** (Visit [Node.js website](https://nodejs.org/en/download/) to download or use [fnm](https://github.com/Schniz/fnm)) or higher installed. +2. Have **NPM** installed, or use other package manager of your choice. + +If not certain, confirm the prerequisites by running: + +```bash +node -v +``` + +```bash +npm -v +``` + +## Creating a new project + +The fastest and best way to create new projects with Crawlee is to use the [Crawlee CLI](https://www.npmjs.com/package/@crawlee/cli). You can use the `npx` utility to download and run the CLI - it is embedded in the `crawlee` package: + +```bash +npx crawlee create my-crawler +``` + +A prompt will be shown, asking you to select a template. Crawlee is written in TypeScript so if you're familiar with it, choosing a TypeScript template will give you better code completion and static type checking, but feel free to use JavaScript as well. Functionally they're identical. + +Let's choose the first template called **Getting started example**. The command will create a new directory in your current working directory, called **my-crawler**, add a **package.json** to this folder and install all the necessary dependencies. It will also add example source code that you can immediately run. + +Let's try that! + +```bash +cd my-crawler +npm start +``` + +You will see log messages in the terminal as Crawlee boots up and starts scraping the Crawlee website. + +```log +INFO PlaywrightCrawler: Starting the crawl +INFO PlaywrightCrawler: Title of https://crawlee.dev/ is 'Crawlee · Build reliable crawlers. Fast. | Crawlee' +INFO PlaywrightCrawler: Title of https://crawlee.dev/docs/examples is 'Examples | Crawlee' +INFO PlaywrightCrawler: Title of https://crawlee.dev/api/core is '@crawlee/core | API | Crawlee' +INFO PlaywrightCrawler: Title of https://crawlee.dev/api/core/changelog is 'Changelog | API | Crawlee' +INFO PlaywrightCrawler: Title of https://crawlee.dev/docs/quick-start is 'Quick Start | Crawlee' +``` + +You can always terminate the crawl with a keypress in the terminal: + +```text +CTRL+C +``` + +### Running headful browsers + +Browsers controlled by Playwright run headless (without a visible window). You can switch to headful by uncommenting the `headless: false` option in the crawler's constructor. This is useful in the development phase when you want to see what's going on in the browser. + +```typescript +// Uncomment this option to see the browser window. +headless: false +``` + +When you run the example again, after a second a Chromium browser window will open. In the window, you'll see quickly changing pages as the crawler does its job. + +:::note + +For the sake of this show off, we've slowed down the crawler, but rest assured, it's blazing fast in real world usage. + +::: + +<ThemedImage + alt="An image showing off Crawlee scraping the Crawlee website using Puppeteer/Playwright and Chromium" + sources={{ + light: '/img/chrome-scrape-light.gif', + dark: '/img/chrome-scrape-dark.gif', + }} +/> + +## Next steps + +Next, you will see how to create a very simple crawler and explain Crawlee components while building it. diff --git a/website/versioned_docs/version-3.10/introduction/02-first-crawler.mdx b/website/versioned_docs/version-3.10/introduction/02-first-crawler.mdx new file mode 100644 index 000000000000..92ddaef74b50 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/02-first-crawler.mdx @@ -0,0 +1,128 @@ +--- +id: first-crawler +title: "First crawler" +description: Your first steps into the world of scraping with Crawlee +--- + +import ApiLink from '@site/src/components/ApiLink'; + +Now, you will build your first crawler. But before you do, let's briefly introduce the Crawlee classes involved in the process. + +## How Crawlee works + +There are 3 main crawler classes available for use in Crawlee. + +- <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink> +- <ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink> +- <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink> + +We'll talk about their differences later. Now, let's talk about what they have in common. + +The general idea of each crawler is to go to a web page, open it, do some stuff there, save some results, continue to the next page, and repeat this process until the crawler's done its job. So the crawler always needs to find answers to two questions: _Where should I go?_ and _What should I do there?_ Answering those two questions is the only required setup. The crawlers have reasonable defaults for everything else. + +### The Where - `Request` and `RequestQueue` + +All crawlers use instances of the <ApiLink to="core/class/Request">`Request`</ApiLink> class to determine where they need to go. Each request may hold a lot of information, but at the very least, it must hold a URL - a web page to open. But having only one URL would not make sense for crawling. Sometimes you have a pre-existing list of your own URLs that you wish to visit, perhaps a thousand. Other times you need to build this list dynamically as you crawl, adding more and more URLs to the list as you progress. Most of the time, you will use both options. + +The requests are stored in a <ApiLink to="core/class/RequestQueue">`RequestQueue`</ApiLink>, a dynamic queue of `Request` instances. You can seed it with start URLs and also add more requests while the crawler is running. This allows the crawler to open one page, extract interesting URLs, such as links to other pages on the same domain, add them to the queue (called _enqueuing_) and repeat this process to build a queue of virtually unlimited number of URLs. + +### The What - `requestHandler` + +In the `requestHandler` you tell the crawler what to do at each and every page it visits. You can use it to handle extraction of data from the page, processing the data, saving it, calling APIs, doing calculations and so on. + +The `requestHandler` is a user-defined function, invoked automatically by the crawler for each `Request` from the `RequestQueue`. It always receives a single argument - a <ApiLink to="core/interface/CrawlingContext">`CrawlingContext`</ApiLink>. Its properties change depending on the crawler class used, but it always includes the `request` property, which represents the currently crawled URL and related metadata. + +## Building a crawler + +Let's put the theory into practice and start with something easy. Visit a page and get its HTML title. In this tutorial, you'll scrape the Crawlee website [https://crawlee.dev](https://crawlee.dev), but the same code will work for any website. + +:::info Top level await configuration + +We are using a JavaScript feature called [Top level await](https://blog.saeloun.com/2021/11/25/ecmascript-top-level-await.html) in our examples. To be able to use that, you might need some extra setup. Namely, it requires the use of [ECMAScript Modules](https://nodejs.org/api/esm.html) - this means you either need to add `"type": "module"` to your `package.json` file, or use `*.mjs` extension for your files. Additionally, if you are in a TypeScript project, you need to set the `module` and `target` compiler options to `ES2022` or above. + +::: + +### Adding requests to the crawling queue + +Earlier you learned that the crawler uses a queue of requests as its source of URLs to crawl. Let's create it and add the first request. + +```ts title="src/main.js" +import { RequestQueue } from 'crawlee'; + +// First you create the request queue instance. +const requestQueue = await RequestQueue.open(); +// And then you add one or more requests to it. +await requestQueue.addRequest({ url: 'https://crawlee.dev' }); +``` + +The <ApiLink to="core/class/RequestQueue#addRequest">`requestQueue.addRequest()`</ApiLink> function automatically converts the object with URL string to a <ApiLink to="core/class/Request">`Request`</ApiLink> instance. So now you have a `requestQueue` that holds one request which points to `https://crawlee.dev`. + +:::tip Bulk add requests + +The code above is for illustration of the request queue concept. Soon you'll learn about the `crawler.addRequests()` method which allows you to skip this initialization code, and it also supports adding a large number of requests without blocking. + +::: + +### Building a CheerioCrawler + +Crawlee comes with three main crawler classes: <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink>, <ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink> and <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink>. You can read their short descriptions in the [Quick start](../quick-start) lesson. + +Unless you have a good reason to start with a different one, you should try building a `CheerioCrawler` first. It is an HTTP crawler with HTTP2 support, anti-blocking features and integrated HTML parser - [Cheerio](https://www.npmjs.com/package/cheerio). It's fast, simple, cheap to run and does not require complicated dependencies. The only downside is that it won't work out of the box for websites which require JavaScript rendering. But you might not need JavaScript rendering at all, because many modern websites use server-side rendering. + +Let's continue with the earlier `RequestQueue` example. + +```ts title="src/main.js" +// Add import of CheerioCrawler +import { RequestQueue, CheerioCrawler } from 'crawlee'; + +const requestQueue = await RequestQueue.open(); +await requestQueue.addRequest({ url: 'https://crawlee.dev' }); + +// Create the crawler and add the queue with our URL +// and a request handler to process the page. +const crawler = new CheerioCrawler({ + requestQueue, + // The `$` argument is the Cheerio object + // which contains parsed HTML of the website. + async requestHandler({ $, request }) { + // Extract <title> text with Cheerio. + // See Cheerio documentation for API docs. + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + } +}) + +// Start the crawler and wait for it to finish +await crawler.run(); +``` + +When you run the example, you will see the title of https://crawlee.dev printed to the log. What really happens is that CheerioCrawler first makes an HTTP request to `https://crawlee.dev`, then parses the received HTML with Cheerio and makes it available as the `$` argument of the `requestHandler`. + +```log +The title of "https://crawlee.dev" is: Crawlee · The scalable web crawling, scraping and automation library for JavaScript/Node.js | Crawlee. +``` + +### Add requests faster + +Earlier we mentioned that you'll learn how to use the `crawler.addRequests()` method to skip the request queue initialization. It's simple. Every crawler has an implicit `RequestQueue` instance, and you can add requests to it with the `crawler.addRequests()` method. In fact, you can go even further and just use the first parameter of `crawler.run()`! + +```ts title="src/main.js" +// You don't need to import RequestQueue anymore +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + async requestHandler({ $, request }) { + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + } +}) + +// Start the crawler with the provided URLs +await crawler.run(['https://crawlee.dev']); +``` + +When you run this code, you'll see exactly the same output as with the earlier, longer example. The `RequestQueue` is still there, it's just managed by the crawler automatically. + +## Next steps + +Next, you'll learn about crawling links. That means finding new URLs on the pages you crawl and adding them to the `RequestQueue` for the crawler to visit. diff --git a/website/versioned_docs/version-3.10/introduction/03-adding-urls.mdx b/website/versioned_docs/version-3.10/introduction/03-adding-urls.mdx new file mode 100644 index 000000000000..21e6e58b059f --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/03-adding-urls.mdx @@ -0,0 +1,166 @@ +--- +id: adding-urls +title: "Adding more URLs" +description: Your first steps into the world of scraping with Crawlee +--- + +import ApiLink from '@site/src/components/ApiLink'; + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import FindWithELSource from '!!raw-loader!./03-find-el.ts'; +import FilterWithELSource from '!!raw-loader!./03-filter-el.ts'; +import FindWithoutELSource from '!!raw-loader!./03-find-without-el.ts'; +import FilterWithoutELSource from '!!raw-loader!./03-filter-without-el.ts'; + +Previously you've built a very simple crawler that downloads HTML of a single page, reads its title and prints it to the console. +This is the original source code: + +```ts +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + async requestHandler({ $, request }) { + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + } +}) + +await crawler.run(['https://crawlee.dev']); +``` + +Now you'll use the example from the previous section and improve on it. You'll add more URLs to the queue and thanks to that the crawler will keep going, finding new links, enqueuing them into the `RequestQueue` and then scraping them. + +## How crawling works + +The process is simple: + +1. Find new links on the page. +2. Filter only those pointing to the same domain, in this case `crawlee.dev`. +3. Enqueue (add) them to the `RequestQueue`. +4. Visit the newly enqueued links. +5. Repeat the process. + +In the following paragraphs you will learn about the <ApiLink to="core/function/enqueueLinks">`enqueueLinks`</ApiLink> function which simplifies crawling to a single function call. For comparison and learning purposes we will show an equivalent solution written without `enqueueLinks` in the second code tab. + +:::tip `enqueueLinks` context awareness + +The `enqueueLinks` function is context aware. It means that it will read the information about the currently crawled page from the context, and you don't need to explicitly provide any arguments. It will find the links using the Cheerio function `$` and automatically add the links to the running crawler's `RequestQueue`. + +::: + +## Limit your crawls with `maxRequestsPerCrawl` + + When you're just testing your code or when your crawler could potentially find millions of links, it's very useful to set a maximum limit of crawled pages. The option is called `maxRequestsPerCrawl`, is available in all crawlers, and you can set it like this: + +```ts +const crawler = new CheerioCrawler({ + maxRequestsPerCrawl: 20, + // ... +}); +``` + +This means that no new requests will be started after the 20th request is finished. The actual number of processed requests might be a little higher thanks to parallelization, because the running requests won't be forcefully aborted. It's not even possible in most cases. + +## Finding new links + +There are numerous approaches to finding links to follow when crawling the web. For our purposes, we will be looking for `<a>` elements that contain the `href` attribute because that's what you need in most cases. For example: + +```html +<a href="https://crawlee.dev/docs/introduction">This is a link to Crawlee introduction</a> +``` + +Since this is the most common case, it is also the `enqueueLinks` default. + +<Tabs groupId="crawling-links"> +<TabItem value="enqueue-links" label="with enqueueLinks" default> +<CodeBlock language="js" title="src/main.mjs">{FindWithELSource}</CodeBlock> +</TabItem> +<TabItem value="plain-js" label="without enqueueLinks"> +<CodeBlock language="js" title="src/main.mjs">{FindWithoutELSource}</CodeBlock> +</TabItem> +</Tabs> + +If you need to override the default selection of elements in `enqueueLinks`, you can use the `selector` argument. + +```ts +await enqueueLinks({ + selector: 'div.has-link' +}); +``` + +## Filtering links to same domain + +Websites typically contain a lot of links that lead away from the original page. This is normal, but when crawling a website, we usually want to crawl that one site and not let our crawler wander away to Google, Facebook and Twitter. Therefore, we need to filter out the off-domain links and only keep the ones that lead to the same domain. + +<Tabs groupId="crawling-links"> + <TabItem value="enqueue-links" label="with enqueueLinks" default> + <CodeBlock language="js" title="src/main.mjs">{FilterWithELSource}</CodeBlock> + </TabItem> + <TabItem value="plain-js" label="without enqueueLinks"> + <CodeBlock language="js" title="src/main.mjs">{FilterWithoutELSource}</CodeBlock> + </TabItem> +</Tabs> + +The default behavior of `enqueueLinks` is to stay on the same hostname. This **does not include subdomains**. To include subdomains in your crawl, use the `strategy` argument. + +```ts +await enqueueLinks({ + strategy: 'same-domain' +}); +``` + +When you run the code, you will see the crawler log the **title** of the first page, then the **enqueueing** message showing number of URLs, followed by the **title** of the first enqueued page and so on and so on. + +## Skipping duplicate URLs + +Skipping of duplicate URLs is critical, because visiting the same page multiple times would lead to duplicate results. This is automatically handled by the `RequestQueue` which deduplicates requests using their `uniqueKey`. This `uniqueKey` is automatically generated from the request's URL by lowercasing the URL, lexically ordering query parameters, removing fragments and a few other tweaks that ensure the queue only includes unique URLs. + +## Advanced filtering arguments + +While the defaults for `enqueueLinks` can be often exactly what you need, it also gives you fine-grained control over which URLs should be enqueued. One way we already mentioned above. It is using the <ApiLink to="core/enum/EnqueueStrategy">`EnqueueStrategy`</ApiLink>. You can use the <ApiLink to="core/enum/EnqueueStrategy#All">`All`</ApiLink> strategy if you want to follow every single link, regardless of its domain, or you can enqueue links that target the same domain name with the <ApiLink to="core/enum/EnqueueStrategy#SameDomain">`SameDomain`</ApiLink> strategy. + +```ts +await enqueueLinks({ + strategy: 'all', // wander the internet +}); +``` + +### Filter URLs with patterns + +For even more control, you can use `globs`, `regexps` and `pseudoUrls` to filter the URLs. Each of those arguments is always an `Array`, but the contents can take on many forms. <ApiLink to="core/interface/EnqueueLinksOptions">See the reference</ApiLink> for more information about them as well as other options. + +:::caution Defaults override + +If you provide one of those options, the default `same-hostname` strategy will **not** be applied unless explicitly set in the options. + +::: + +```ts +await enqueueLinks({ + globs: ['http?(s)://apify.com/*/*'], +}); +``` + +### Transform requests + +To have absolute control, we have the <ApiLink to="core/interface/EnqueueLinksOptions/#transformRequestFunction">`transformRequestFunction`</ApiLink>. Just before a new <ApiLink to="core/class/Request">`Request`</ApiLink> is constructed and enqueued to the <ApiLink to="core/class/RequestQueue">`RequestQueue`</ApiLink>, this function can be used to skip it or modify its contents such as `userData`, `payload` or, most importantly, `uniqueKey`. This is useful when you need to enqueue multiple requests to the queue, and these requests share the same URL, but differ in methods or payloads. Another use case is to dynamically update or create the `userData`. + +```ts +await enqueueLinks({ + globs: ['http?(s)://apify.com/*/*'], + transformRequestFunction(req) { + // ignore all links ending with `.pdf` + if (req.url.endsWith('.pdf')) return false; + return req; + }, +}); +``` + +And that's it! `enqueueLinks()` is just one example of Crawlee's powerful helper functions. They're all designed to make your life easier, so you can focus on getting your data, while leaving the mundane crawling management to the tools. + +## Next steps + +Next, you will start your project of scraping a production website and learn some more Crawlee tricks in the process. diff --git a/website/versioned_docs/version-3.10/introduction/03-filter-el.ts b/website/versioned_docs/version-3.10/introduction/03-filter-el.ts new file mode 100644 index 000000000000..9f9c09f73d4c --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/03-filter-el.ts @@ -0,0 +1,15 @@ +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + maxRequestsPerCrawl: 20, + async requestHandler({ $, request, enqueueLinks }) { + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + // The default behavior of enqueueLinks is to stay on the same hostname, + // so it does not require any parameters. + // This will ensure the subdomain stays the same. + await enqueueLinks(); + }, +}); + +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/introduction/03-filter-without-el.ts b/website/versioned_docs/version-3.10/introduction/03-filter-without-el.ts new file mode 100644 index 000000000000..e50b05d8f321 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/03-filter-without-el.ts @@ -0,0 +1,32 @@ +import { CheerioCrawler } from 'crawlee'; +import { URL } from 'node:url'; + +const crawler = new CheerioCrawler({ + maxRequestsPerCrawl: 20, + async requestHandler({ request, $ }) { + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + + const links = $('a[href]') + .map((_, el) => $(el).attr('href')) + .get(); + + // Besides resolving the URLs, we now also need to + // grab their hostname for filtering. + const { hostname } = new URL(request.loadedUrl); + const absoluteUrls = links.map( + (link) => new URL(link, request.loadedUrl), + ); + + // We use the hostname to filter links that point + // to a different domain, even subdomain. + const sameHostnameLinks = absoluteUrls + .filter((url) => url.hostname === hostname) + .map((url) => ({ url: url.href })); + + // Finally, we have to add the URLs to the queue + await crawler.addRequests(sameHostnameLinks); + }, +}); + +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/introduction/03-find-el.ts b/website/versioned_docs/version-3.10/introduction/03-find-el.ts new file mode 100644 index 000000000000..50983a24fe38 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/03-find-el.ts @@ -0,0 +1,17 @@ +import { CheerioCrawler } from 'crawlee'; + +const crawler = new CheerioCrawler({ + // Let's limit our crawls to make our + // tests shorter and safer. + maxRequestsPerCrawl: 20, + // enqueueLinks is an argument of the requestHandler + async requestHandler({ $, request, enqueueLinks }) { + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + // The enqueueLinks function is context aware, + // so it does not require any parameters. + await enqueueLinks(); + }, +}); + +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/introduction/03-find-without-el.ts b/website/versioned_docs/version-3.10/introduction/03-find-without-el.ts new file mode 100644 index 000000000000..33561d0190f3 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/03-find-without-el.ts @@ -0,0 +1,29 @@ +import { CheerioCrawler } from 'crawlee'; +import { URL } from 'node:url'; + +const crawler = new CheerioCrawler({ + // Let's limit our crawls to make our + // tests shorter and safer. + maxRequestsPerCrawl: 20, + async requestHandler({ request, $ }) { + const title = $('title').text(); + console.log(`The title of "${request.url}" is: ${title}.`); + + // Without enqueueLinks, we first have to extract all + // the URLs from the page with Cheerio. + const links = $('a[href]') + .map((_, el) => $(el).attr('href')) + .get(); + + // Then we need to resolve relative URLs, + // otherwise they would be unusable for crawling. + const absoluteUrls = links.map( + (link) => new URL(link, request.loadedUrl).href, + ); + + // Finally, we have to add the URLs to the queue + await crawler.addRequests(absoluteUrls); + }, +}); + +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/introduction/04-pw-w-cheerio.ts b/website/versioned_docs/version-3.10/introduction/04-pw-w-cheerio.ts new file mode 100644 index 000000000000..448d8fd2a601 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/04-pw-w-cheerio.ts @@ -0,0 +1,21 @@ +// Instead of CheerioCrawler let's use Playwright +// to be able to render JavaScript. +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + requestHandler: async ({ page, parseWithCheerio }) => { + // Wait for the actor cards to render. + await page.waitForSelector('.collection-block-item'); + // Extract the page's HTML from browser + // and parse it with Cheerio. + const $ = await parseWithCheerio(); + // Use familiar Cheerio syntax to + // select all the actor cards. + $('.collection-block-item').each((i, el) => { + const text = $(el).text(); + console.log(`CATEGORY_${i + 1}: ${text}\n`); + }); + }, +}); + +await crawler.run(['https://warehouse-theme-metal.myshopify.com/collections']); diff --git a/website/versioned_docs/version-3.10/introduction/04-pw.ts b/website/versioned_docs/version-3.10/introduction/04-pw.ts new file mode 100644 index 000000000000..0760944671a8 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/04-pw.ts @@ -0,0 +1,21 @@ +// Instead of CheerioCrawler let's use Playwright +// to be able to render JavaScript. +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + requestHandler: async ({ page }) => { + // Wait for the actor cards to render. + await page.waitForSelector('.collection-block-item'); + // Execute a function in the browser which targets + // the actor card elements and allows their manipulation. + const categoryTexts = await page.$$eval('.collection-block-item', (els) => { + // Extract text content from the actor cards + return els.map((el) => el.textContent); + }); + categoryTexts.forEach((text, i) => { + console.log(`CATEGORY_${i + 1}: ${text}\n`); + }); + }, +}); + +await crawler.run(['https://warehouse-theme-metal.myshopify.com/collections']); diff --git a/website/versioned_docs/version-3.10/introduction/04-real-world-project.mdx b/website/versioned_docs/version-3.10/introduction/04-real-world-project.mdx new file mode 100644 index 000000000000..3ff078a02461 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/04-real-world-project.mdx @@ -0,0 +1,173 @@ +--- +id: real-world-project +title: 'Getting some real-world data' +sidebar_label: 'Real-world project' +description: Your first steps into the world of scraping with Crawlee +--- + +import ApiLink from '@site/src/components/ApiLink'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; + +import PwSource from '!!raw-loader!./04-pw.ts'; +import PwWCheerioSource from '!!raw-loader!./04-pw-w-cheerio.ts'; + +> _Hey, guys, you know, it's cool that we can scrape the `<title>` elements of web pages, but that's not very useful. Can we finally scrape some real data and save it somewhere in a machine-readable format? Because that's why I started reading this tutorial in the first place!_ + +We hear you, young padawan! First, learn how to crawl, you must. Only then, walk through data, you can! + +## Making a production-grade crawler + +Making a production-grade crawler is not difficult, but there are many pitfalls of scraping that can catch you off guard. So for the real world project you'll learn how to scrape an [example Warehouse Store](https://warehouse-theme-metal.myshopify.com/collections) instead of the Crawlee website. It contains a list of products of different categories, and each product has its own detail page. + +The website requires JavaScript rendering, which allows us to showcase more features of Crawlee. We've also added some helpful tips that prepare you for the real-world issues that you will surely encounter when scraping at scale. + +:::tip Not interested in theory? + +If you're not interested in crawling theory, feel free to [skip to the next chapter](./crawling) and get right back to coding. + +::: + +## Drawing a plan + +Sometimes scraping is really straightforward, but most of the time, it really pays off to do a bit of research first and try to answer some of these questions: + +- How is the website structured? +- Can I scrape it only with HTTP requests (read "with `CheerioCrawler`")? +- Do I need a headless browser for something? +- Are there any anti-scraping protections in place? +- Do I need to parse the HTML or can I get the data otherwise, such as directly from the website's API? + +For the purposes of this tutorial, let's assume that the website cannot be scraped with `CheerioCrawler`. It actually can, but we would have to dive a bit deeper than this introductory guide allows. So for now we will make things easier for you, scrape it with `PlaywrightCrawler`, and you'll learn about headless browsers in the process. + +## Choosing the data you need + +A good first step is to figure out what data you want to scrape and where to find it. For the time being, let's just agree that we want to scrape all products from all categories available on the [All collections page of the store](https://warehouse-theme-metal.myshopify.com/collections) and for each product we want to get its: + +- URL +- Manufacturer +- SKU +- Title +- Current price +- Stock available + +You will notice that some information is available directly on the list page, but for details such as "SKU" we'll also need to open the product's detail page. + +![data to scrape](/img/getting-started/scraping-practice.jpg 'Overview of data to be scraped.') + +### The start URL(s) + +This is where you start your crawl. It's convenient to start as close to the data as possible. For example, it wouldn't make much sense to start at `https://warehouse-theme-metal.myshopify.com/` and look for a `collections` link there, when we already know that everything we want to extract can be found at the `https://warehouse-theme-metal.myshopify.com/collections` page. + +## Exploring the page + +Let's take a look at the `https://warehouse-theme-metal.myshopify.com/collections` page more carefully. There are some **categories** on the page, and each category has a list of **items**. On some category pages, at the bottom you will notice there are links to the next pages of results. This is usually called **the pagination**. + +### Categories and sorting + +When you click the categories, you'll see that they load a page of products filtered by that category. By going through a few categories and observing the behavior, we can also observe that we can sort by different conditions (such as `Best selling`, or `Price, low to high`), but for this example, we will not be looking into those. + +:::caution Limited pagination + +Be careful, because on some websites, like [amazon.com](https://amazon.com), this is not true and the sum of products in categories is actually larger than what's available without filters. Learn more in our [tutorial on scraping websites with limited pagination](https://docs.apify.com/tutorials/scrape-paginated-sites). + +::: + +### Pagination + +The pagination of the demo Warehouse Store is simple enough. When switching between pages, you will see that the URL changes to: + +```text +https://warehouse-theme-metal.myshopify.com/collections/headphones?page=2 +``` + +Try clicking on the link to page 4. You'll see that the pagination links update and show more pages. But can you trust that this will include all pages and won't stop at some point? + +:::caution Test your assumptions + +Similarly to the issue with filters explained above, the existence of pagination does not guarantee that you can simply paginate through all the results. Always test your assumptions about pagination. Otherwise, you might miss a chunk of results, and not even know about it. + +::: + +At the time of writing the `Headphones` collection results counter showed 75 results - products. Quick count of products on one page of results makes 24. 6 rows times 4 products. This means that there are 4 pages of results. + +If you're not convinced, you can visit a page somewhere in the middle, like `https://warehouse-theme-metal.myshopify.com/collections/headphones?page=2` and see how the pagination looks there. + +## The crawling strategy + +Now that you know where to start and how to find all the Actor details, let's look at the crawling process. + +1. Visit the store page containing the list of categories (our start URL). +2. Enqueue all links to all categories. +3. Enqueue all product pages from the current page. +4. Enqueue links to next pages of results. +5. Open the next page in queue. + - When it's a results list page, go to 2. + - When it's a product page, scrape the data. +6. Repeat until all results pages and all products have been processed. + +`PlaywrightCrawler` will make sure to visit the pages for you, if you provide the correct requests, and you already know how to enqueue pages, so this should be fairly easy. Nevertheless, there are few more tricks that we'd like to showcase. + +## Sanity check + +Let's check that everything is set up correctly before writing the scraping logic itself. You might realize that something in your previous analysis doesn't quite add up, or the website might not behave exactly as you expected. + +The example below creates a new crawler that visits the start URL and prints the text content of all the categories on that page. When you run the code, you will see the _very badly formatted_ content of the individual category card. + +<Tabs groupId="sanity-check"> + <TabItem value="playwright" label="Playwright" default> + <CodeBlock language="js" title="src/main.mjs"> + {PwSource} + </CodeBlock> + </TabItem> + <TabItem value="playwright-with-cheerio" label="Playwright with Cheerio"> + <CodeBlock language="js" title="src/main.mjs"> + {PwWCheerioSource} + </CodeBlock> + </TabItem> +</Tabs> + +If you're wondering how to get that `.collection-block-item` selector. We'll explain it in the next chapter on DevTools. + +## DevTools - the scraper's toolbox + +:::info DevTool choice + +We'll use Chrome DevTools here, since it's the most common browser, but feel free to use any other, they're all very similar. + +::: + +Let's open DevTools by going to https://warehouse-theme-metal.myshopify.com/collections in Chrome and then right-clicking anywhere in the page and selecting **Inspect**, or by pressing **F12** or whatever your system prefers. With DevTools, you can inspect or manipulate any aspect of the currently open web page. You can learn more about DevTools in their [official documentation](https://developer.chrome.com/docs/devtools/). + +## Selecting elements + +In the DevTools, choose the **Select an element** tool and try hovering over one of the Actor cards. + +![select an element](/img/getting-started/select-an-element.png 'Finding the select an element tool.') + +You'll see that you can select different elements inside the card. Instead, select the whole card, not just some of its contents, such as its title or description. + +![selected element](/img/getting-started/selected-element.png 'Selecting an element by hovering over it.') + +Selecting an element will highlight it in the DevTools HTML inspector. When carefully look at the elements, you'll see that there are some **classes** attached to the different HTML elements. Those are called **CSS classes**, and we can make a use of them in scraping. + +Conversely, by hovering over elements in the HTML inspector, you will see them highlight on the page. Inspect the page's structure around the collection card. You'll see that all the card's data is displayed in an `<a>` element with a `class` attribute that includes **collection-block-item**. It should now make sense how we got that `.collection-block-item` selector. It's just a way to find all elements that are annotated with the `collection-block-item`. + +It's always a good idea to double-check that you're not getting any unwanted elements with this class. To do that, go into the **Console** tab of DevTools and run: + +```ts +document.querySelectorAll('.collection-block-item'); +``` + +You will see that only the 31 collection cards will be returned, and nothing else. + +:::tip Learn more about CSS selectors and DevTools + +CSS selectors and DevTools are quite a big topic. If you want to learn more, visit the [Web scraping for beginners course](https://developers.apify.com/academy/web-scraping-for-beginners) in the Apify Academy. **It's free and open-source** ❤️. + +::: + +## Next steps + +Next, you will crawl the whole store, including all the listing pages and all the product detail pages. diff --git a/website/versioned_docs/version-3.10/introduction/05-crawling.mdx b/website/versioned_docs/version-3.10/introduction/05-crawling.mdx new file mode 100644 index 000000000000..6621ee10b0ff --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/05-crawling.mdx @@ -0,0 +1,102 @@ +--- +id: crawling +title: 'Crawling the Store' +sidebar_label: 'Crawling' +description: Your first steps into the world of scraping with Crawlee +--- + +To crawl the whole [example Warehouse Store](https://warehouse-theme-metal.myshopify.com/collections) and find all the data, you first need to visit all the pages with products - going through all categories available and also all the product detail pages. + +## Crawling the listing pages + +In previous lessons, you used the `enqueueLinks()` function like this: + +```js +await enqueueLinks(); +``` + +While useful in that scenario, you need something different now. Instead of finding all the `<a href="..">` elements with links to the same hostname, you need to find only the specific ones that will take your crawler to the next page of results. Otherwise, the crawler will visit a lot of other pages that you're not interested in. Using the power of DevTools and yet another `enqueueLinks()` parameter, this becomes fairly easy. + +```ts +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + requestHandler: async ({ page, request, enqueueLinks }) => { + console.log(`Processing: ${request.url}`); + // Wait for the category cards to render, + // otherwise enqueueLinks wouldn't enqueue anything. + await page.waitForSelector('.collection-block-item'); + + // Add links to the queue, but only from + // elements matching the provided selector. + await enqueueLinks({ + selector: '.collection-block-item', + label: 'CATEGORY', + }); + }, +}); + +await crawler.run(['https://warehouse-theme-metal.myshopify.com/collections']); +``` + +The code should look pretty familiar to you. It's a very simple `requestHandler` where we log the currently processed URL to the console and enqueue more links. But there are also a few new, interesting additions. Let's break it down. + +### The `selector` parameter of `enqueueLinks()` + +When you previously used `enqueueLinks()`, you were not providing any `selector` parameter, and it was fine, because you wanted to use the default value, which is `a` - finds all `<a>` elements. But now, you need to be more specific. There are multiple `<a>` links on the `Categories` page, and you're only interested in those that will take your crawler to the available list of results. Using the DevTools, you'll find that you can select the links you need using the `.collection-block-item` selector, which selects all the elements that have the `class=collection-block-item` attribute. + +### The `label` of `enqueueLinks()` + +You will see `label` used often throughout Crawlee, as it's a convenient way of labelling a `Request` instance for quick identification later. You can access it with `request.label` and it's a `string`. You can name your requests any way you want. Here, we used the label `CATEGORY` to note that we're enqueueing pages that represent a category of products. The `enqueueLinks()` function will add this label to all requests before enqueueing them to the `RequestQueue`. Why this is useful will become obvious in a minute. + +## Crawling the detail pages + +In a similar fashion, you need to collect all the URLs to the product detail pages, because only from there you can scrape all the data you need. The following code only repeats the concepts you already know for another set of links. + +```ts +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + requestHandler: async ({ page, request, enqueueLinks }) => { + console.log(`Processing: ${request.url}`); + if (request.label === 'DETAIL') { + // We're not doing anything with the details yet. + } else if (request.label === 'CATEGORY') { + // We are now on a category page. We can use this to paginate through and enqueue all products, + // as well as any subsequent pages we find + + await page.waitForSelector('.product-item > a'); + await enqueueLinks({ + selector: '.product-item > a', + label: 'DETAIL', // <= note the different label + }); + + // Now we need to find the "Next" button and enqueue the next page of results (if it exists) + const nextButton = await page.$('a.pagination__next'); + if (nextButton) { + await enqueueLinks({ + selector: 'a.pagination__next', + label: 'CATEGORY', // <= note the same label + }); + } + } else { + // This means we're on the start page, with no label. + // On this page, we just want to enqueue all the category pages. + + await page.waitForSelector('.collection-block-item'); + await enqueueLinks({ + selector: '.collection-block-item', + label: 'CATEGORY', + }); + } + }, +}); + +await crawler.run(['https://warehouse-theme-metal.myshopify.com/collections']); +``` + +The crawling code is now complete. When you run the code, you'll see the crawler visit all the listing URLs and all the detail URLs. + +## Next steps + +This concludes the Crawling lesson, because you have taught the crawler to visit all the pages it needs. Let's continue with scraping data. diff --git a/website/versioned_docs/version-3.10/introduction/06-example.ts b/website/versioned_docs/version-3.10/introduction/06-example.ts new file mode 100644 index 000000000000..cd1eceeb0dfe --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/06-example.ts @@ -0,0 +1,77 @@ +import { PlaywrightCrawler } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + requestHandler: async ({ page, request, enqueueLinks }) => { + console.log(`Processing: ${request.url}`); + if (request.label === 'DETAIL') { + const urlPart = request.url.split('/').slice(-1); // ['sennheiser-mke-440-professional-stereo-shotgun-microphone-mke-440'] + const manufacturer = urlPart[0].split('-')[0]; // 'sennheiser' + + const title = await page.locator('.product-meta h1').textContent(); + const sku = await page.locator('span.product-meta__sku-number').textContent(); + + const priceElement = page + .locator('span.price') + .filter({ + hasText: '$', + }) + .first(); + + const currentPriceString = await priceElement.textContent(); + const rawPrice = currentPriceString.split('$')[1]; + const price = Number(rawPrice.replaceAll(',', '')); + + const inStockElement = page + .locator('span.product-form__inventory') + .filter({ + hasText: 'In stock', + }) + .first(); + + const inStock = (await inStockElement.count()) > 0; + + const results = { + url: request.url, + manufacturer, + title, + sku, + currentPrice: price, + availableInStock: inStock, + }; + + console.log(results); + } else if (request.label === 'CATEGORY') { + // We are now on a category page. We can use this to paginate through and enqueue all products, + // as well as any subsequent pages we find + + await page.waitForSelector('.product-item > a'); + await enqueueLinks({ + selector: '.product-item > a', + label: 'DETAIL', // <= note the different label + }); + + // Now we need to find the "Next" button and enqueue the next page of results (if it exists) + const nextButton = await page.$('a.pagination__next'); + if (nextButton) { + await enqueueLinks({ + selector: 'a.pagination__next', + label: 'CATEGORY', // <= note the same label + }); + } + } else { + // This means we're on the start page, with no label. + // On this page, we just want to enqueue all the category pages. + + await page.waitForSelector('.collection-block-item'); + await enqueueLinks({ + selector: '.collection-block-item', + label: 'CATEGORY', + }); + } + }, + + // Let's limit our crawls to make our tests shorter and safer. + maxRequestsPerCrawl: 50, +}); + +await crawler.run(['https://warehouse-theme-metal.myshopify.com/collections']); diff --git a/website/versioned_docs/version-3.10/introduction/06-scraping.mdx b/website/versioned_docs/version-3.10/introduction/06-scraping.mdx new file mode 100644 index 000000000000..7957ded1a6a0 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/06-scraping.mdx @@ -0,0 +1,175 @@ +--- +id: scraping +title: 'Scraping the Store' +sidebar_label: 'Scraping' +description: Your first steps into the world of scraping with Crawlee +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import ExampleCode from '!!raw-loader!roa-loader!./06-example.ts'; + +In the [Real-world project chapter](./real-world-project#choosing-the-data-you-need), you've created a list of the information you wanted to collect about the products in the example Warehouse store. Let's review that and figure out ways to access the data. + +- URL +- Manufacturer +- SKU +- Title +- Current price +- Stock available + +![data to scrape](/img/getting-started/scraping-practice.jpg 'Overview of data to be scraped.') + +### Scraping the URL, Manufacturer and SKU + +Some information is lying right there in front of us without even having to touch the product detail pages. The `URL` we already have - the `request.url`. And by looking at it carefully, we realize that we can also extract the manufacturer from the URL (as all product urls start with `/products/<manufacturer>`). We can just split the `string` and be on our way then! + +:::info `request.loaderUrl` vs `request.url` + +You can use `request.loadedUrl` as well. Remember the difference: `request.url` is what you enqueue, `request.loadedUrl` is what gets processed (after possible redirects). + +::: + +```js +// request.url = https://warehouse-theme-metal.myshopify.com/products/sennheiser-mke-440-professional-stereo-shotgun-microphone-mke-440 + +const urlPart = request.url.split('/').slice(-1); // ['sennheiser-mke-440-professional-stereo-shotgun-microphone-mke-440'] +const manufacturer = urlPart[0].split('-')[0]; // 'sennheiser' +``` + +:::tip Storing information + +It's a matter of preference, whether to store this information separately in the resulting dataset, or not. Whoever uses the dataset can easily parse the `manufacturer` from the `URL`, so should you duplicate the data unnecessarily? Our opinion is that unless the increased data consumption would be too large to bear, it's better to make the dataset as rich as possible. For example, someone might want to filter by `manufacturer`. + +::: + +:::caution Adapt and extract + +One thing you may notice is that the `manufacturer` might have a `-` in its name. If that's the case, your best bet is extracting it from the details page instead, but it's not mandatory. At the end of the day, you should always adjust and pick the best solution for your use case, and website you are crawling. + +::: + +Now it's time to add more data to the results. Let's open one of the product detail pages, for example the [`Sony XBR-950G`](https://warehouse-theme-metal.myshopify.com/products/sony-xbr-65x950g-65-class-64-5-diag-bravia-4k-hdr-ultra-hd-tv) page and use our DevTools-Fu 🥋 to figure out how to get the title of the product. + +### Title + +![product title](/img/getting-started/title.jpg 'Finding product title in DevTools.') + +By using the element selector tool, you can see that the title is there under an `<h1>` tag, as titles should be. The `<h1>` tag is enclosed in a `<div>` with class `product-meta`. We can leverage this to create a combined selector `.product-meta h1`. It selects any `<h1>` element that is a child of a different element with the class `product-meta`. + +:::tip Verifying selectors with DevTools + +Remember that you can press CTRL+F (or CMD+F on Mac) in the **Elements** tab of DevTools to open the search bar where you can quickly search for elements using their selectors. Always verify your scraping process and assumptions using the DevTools. It's faster than changing the crawler code all the time. + +::: + +To get the title, you need to find it using `Playwright` and a `.product-meta h1` locator, which selects the `<h1>` element you're looking for, or throws, if it finds more than one. That's good. It's usually better to crash the crawler than silently return bad data. + +```js +const title = await page.locator('.product-meta h1').textContent(); +``` + +### SKU + +Using the DevTools, you can find that the product SKU is inside a `<span>` tag with a class `product-meta__sku-number`. And since there's no other `<span>` with that class on the page, you can safely use it. + +![product sku selector](/img/getting-started/sku.jpg 'Finding product SKU in DevTools.') + +```js +const sku = await page.locator('span.product-meta__sku-number').textContent(); +``` + +### Current price + +DevTools can tell you that the `currentPrice` can be found in a `<span>` element tagged with the `price` class. But it also shows that it is nested as raw text alongside another `<span>` element with the `visually-hidden` class. You don't want that, so you need to filter it out, and the `hasText` helper can be used for that for that. + +![product current price selector](/img/getting-started/current-price.jpg 'Finding product current price in DevTools.') + +```js +const priceElement = page + .locator('span.price') + .filter({ + hasText: '$', + }) + .first(); + +const currentPriceString = await priceElement.textContent(); +const rawPrice = currentPriceString.split('$')[1]; +const price = Number(rawPrice.replaceAll(',', '')); +``` + +It might look a little too complex at first glance, but let's walk through what you did. First off, you find the right part of the `price` span (specifically the actual price) by filtering the element that has the `$` sign in it. When you do that, you will get a string similar to `Sale price$1,398.00`. This, by itself, is not that useful, so you extract the actual numeric part by splitting by the `$` sign. + +Once you do that, you receive a string that represents our price, but you will be converting it to a number. You do that by replacing all the commas with nothingness (so we can parse it into a number), then it is parsed into a number using `Number()`. + +### Stock available + +You're finishing up with the `availableInStock`. There is a span with the `product-form__inventory` class, and it contains the text `In stock`. You can use the `hasText` helper again to filter out the right element. + +```js +const inStockElement = await page + .locator('span.product-form__inventory') + .filter({ + hasText: 'In stock', + }) + .first(); + +const inStock = (await inStockElement.count()) > 0; +``` + +For this, all that matter is whether the element exists or not, so you can use the `count()` method to check if there are any elements that match our selector. If there are, that means the product is in stock. + +And there you have it! All the needed data. For the sake of completeness, let's add all the properties together, and you're good to go. + +```js +const urlPart = request.url.split('/').slice(-1); // ['sennheiser-mke-440-professional-stereo-shotgun-microphone-mke-440'] +const manufacturer = urlPart.split('-')[0]; // 'sennheiser' + +const title = await page.locator('.product-meta h1').textContent(); +const sku = await page.locator('span.product-meta__sku-number').textContent(); + +const priceElement = page + .locator('span.price') + .filter({ + hasText: '$', + }) + .first(); + +const currentPriceString = await priceElement.textContent(); +const rawPrice = currentPriceString.split('$')[1]; +const price = Number(rawPrice.replaceAll(',', '')); + +const inStockElement = await page + .locator('span.product-form__inventory') + .filter({ + hasText: 'In stock', + }) + .first(); + +const inStock = (await inStockElement.count()) > 0; +``` + +## Trying it out + +You have everything that is needed, so grab your newly created scraping logic, dump it into your original `requestHandler()` and see the magic happen! + +<RunnableCodeBlock className="language-js" type="playwright"> + {ExampleCode} +</RunnableCodeBlock> + +When you run the crawler, you will see the crawled URLs and their scraped data printed to the console. The output will look something like this: + +```json +{ + "url": "https://warehouse-theme-metal.myshopify.com/products/sony-str-za810es-7-2-channel-hi-res-wi-fi-network-av-receiver", + "manufacturer": "sony", + "title": "Sony STR-ZA810ES 7.2-Ch Hi-Res Wi-Fi Network A/V Receiver", + "sku": "SON-692802-STR-DE", + "currentPrice": 698, + "availableInStock": true +} +``` + +## Next steps + +Next, you'll see how to save the data you scraped to the disk for further processing. diff --git a/website/versioned_docs/version-3.10/introduction/07-example.ts b/website/versioned_docs/version-3.10/introduction/07-example.ts new file mode 100644 index 000000000000..43937be28d6f --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/07-example.ts @@ -0,0 +1,78 @@ +import { PlaywrightCrawler, Dataset } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + requestHandler: async ({ page, request, enqueueLinks }) => { + console.log(`Processing: ${request.url}`); + if (request.label === 'DETAIL') { + const urlPart = request.url.split('/').slice(-1); // ['sennheiser-mke-440-professional-stereo-shotgun-microphone-mke-440'] + const manufacturer = urlPart[0].split('-')[0]; // 'sennheiser' + + const title = await page.locator('.product-meta h1').textContent(); + const sku = await page.locator('span.product-meta__sku-number').textContent(); + + const priceElement = page + .locator('span.price') + .filter({ + hasText: '$', + }) + .first(); + + const currentPriceString = await priceElement.textContent(); + const rawPrice = currentPriceString.split('$')[1]; + const price = Number(rawPrice.replaceAll(',', '')); + + const inStockElement = page + .locator('span.product-form__inventory') + .filter({ + hasText: 'In stock', + }) + .first(); + + const inStock = (await inStockElement.count()) > 0; + + const results = { + url: request.url, + manufacturer, + title, + sku, + currentPrice: price, + availableInStock: inStock, + }; + + // highlight-next-line + await Dataset.pushData(results); + } else if (request.label === 'CATEGORY') { + // We are now on a category page. We can use this to paginate through and enqueue all products, + // as well as any subsequent pages we find + + await page.waitForSelector('.product-item > a'); + await enqueueLinks({ + selector: '.product-item > a', + label: 'DETAIL', // <= note the different label + }); + + // Now we need to find the "Next" button and enqueue the next page of results (if it exists) + const nextButton = await page.$('a.pagination__next'); + if (nextButton) { + await enqueueLinks({ + selector: 'a.pagination__next', + label: 'CATEGORY', // <= note the same label + }); + } + } else { + // This means we're on the start page, with no label. + // On this page, we just want to enqueue all the category pages. + + await page.waitForSelector('.collection-block-item'); + await enqueueLinks({ + selector: '.collection-block-item', + label: 'CATEGORY', + }); + } + }, + + // Let's limit our crawls to make our tests shorter and safer. + maxRequestsPerCrawl: 50, +}); + +await crawler.run(['https://warehouse-theme-metal.myshopify.com/collections']); diff --git a/website/versioned_docs/version-3.10/introduction/07-saving-data.mdx b/website/versioned_docs/version-3.10/introduction/07-saving-data.mdx new file mode 100644 index 000000000000..dfcd37ce264d --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/07-saving-data.mdx @@ -0,0 +1,59 @@ +--- +id: saving-data +title: "Saving data" +description: Your first steps into the world of scraping with Crawlee +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; +import Example from '!!raw-loader!roa-loader!./07-example.ts'; + +A data extraction job would not be complete without saving the data for later use and processing. You've come to the final and most difficult part of this tutorial so make sure to pay attention very carefully! + +First, add a new import to the top of the file: + +```ts +import { PlaywrightCrawler, Dataset } from 'crawlee'; +``` + +Then, replace the `console.log(results)` call with: + +```js +await Dataset.pushData(results); +``` + +and that's it. Unlike earlier, we are being serious now. That's it, you're done. The final code looks like this: + +<RunnableCodeBlock className="language-js" type="playwright"> + {Example} +</RunnableCodeBlock> + +## What's `Dataset.pushData()` + +​<ApiLink to="core/class/Dataset#pushData">`Dataset.pushData()`</ApiLink> is a function that saves data to the default <ApiLink to="core/class/Dataset">`Dataset`</ApiLink>. `Dataset` is a storage designed to hold data in a format similar to a table. Each time you call `Dataset.pushData()` a new row in the table is created, with the property names serving as column titles. In the default configuration, the rows are represented as JSON files saved on your disk, but other storage systems can be plugged into Crawlee as well. + +:::info Automatic dataset initialization in Crawlee + +Each time you start Crawlee a default `Dataset` is automatically created, so there's no need to initialize it or create an instance first. You can create as many datasets as you want and even give them names. For more details see the [Result storage guide](../guides/result-storage#dataset) and the <ApiLink to="core/class/Dataset#open">`Dataset.open()`</ApiLink> function. + +::: + +## Finding saved data + +Unless you changed the configuration that Crawlee uses locally, which would suggest that you knew what you were doing, and you didn't need this tutorial anyway, you'll find your data in the `storage` directory that Crawlee creates in the working directory of the running script: + +```bash +{PROJECT_FOLDER}/storage/datasets/default/ +``` + +The above folder will hold all your saved data in numbered files, as they were pushed into the dataset. Each file represents one invocation of `Dataset.pushData()` or one table row. + +:::tip Single file data storage options + +If you would like to store your data in a single big file, instead of many small ones, see the [Result storage guide](../guides/result-storage#key-value-store) for Key-value stores. + +::: + +## Next steps + +Next, you'll see some improvements that you can add to your crawler code that will make it more readable and maintainable in the long run. diff --git a/website/versioned_docs/version-3.10/introduction/08-refactoring.mdx b/website/versioned_docs/version-3.10/introduction/08-refactoring.mdx new file mode 100644 index 000000000000..450048013258 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/08-refactoring.mdx @@ -0,0 +1,159 @@ +--- +id: refactoring +title: 'Refactoring' +description: Your first steps into the world of scraping with Crawlee +--- + +import ApiLink from '@site/src/components/ApiLink'; +import Admonition from '@theme/Admonition'; + +It may seem that the data is extracted and the crawler is done, but honestly, this is just the beginning. For the sake of brevity, we've completely omitted error handling, proxies, logging, architecture, tests, documentation and other stuff that a reliable software should have. The good thing is, **error handling is mostly done by Crawlee itself**, so no worries on that front, unless you need some custom magic. + +:::info Navigating automatic bot-protextion avoidance + +You might be wondering about the **anti-blocking, bot-protection avoiding stealthy features** and why we haven't highlighted them yet. The reason is straightforward: these features are **automatically used** within the default configuration, providing a smooth start without manual adjustments. However, the default configuration, while powerful, may not cover every scenario. + +If you want to learn more, browse the [Avoid getting blocked](../guides/avoid-blocking), [Proxy management](../guides/proxy-management) and [Session management](../guides/session-management) guides. + +::: + +Anyway, to promote good coding practices, let's look at how you can use a <ApiLink to="core/class/Router">`Router`</ApiLink> to better structure your crawler code. + +## Routing + +In the following code we've made several changes: + +- Split the code into multiple files. +- Replaced `console.log` with the Crawlee logger for nicer, colourful logs. +- Added a `Router` to make our routing cleaner, without `if` clauses. + +In our `main.mjs` file, we place the general structure of the crawler: + +```js title="src/main.mjs" +import { PlaywrightCrawler, log } from 'crawlee'; +import { router } from './routes.mjs'; + +// This is better set with CRAWLEE_LOG_LEVEL env var +// or a configuration option. This is just for show 😈 +log.setLevel(log.LEVELS.DEBUG); + +log.debug('Setting up crawler.'); +const crawler = new PlaywrightCrawler({ + // Instead of the long requestHandler with + // if clauses we provide a router instance. + requestHandler: router, +}); + +await crawler.run(['https://warehouse-theme-metal.myshopify.com/collections']); +``` + +Then in a separate `routes.mjs` file: + +```js title="src/routes.mjs" +import { createPlaywrightRouter, Dataset } from 'crawlee'; + +// createPlaywrightRouter() is only a helper to get better +// intellisense and typings. You can use Router.create() too. +export const router = createPlaywrightRouter(); + +// This replaces the request.label === DETAIL branch of the if clause. +router.addHandler('DETAIL', async ({ request, page, log }) => { + log.debug(`Extracting data: ${request.url}`); + const urlPart = request.url.split('/').slice(-1); // ['sennheiser-mke-440-professional-stereo-shotgun-microphone-mke-440'] + const manufacturer = urlPart[0].split('-')[0]; // 'sennheiser' + + const title = await page.locator('.product-meta h1').textContent(); + const sku = await page + .locator('span.product-meta__sku-number') + .textContent(); + + const priceElement = page + .locator('span.price') + .filter({ + hasText: '$', + }) + .first(); + + const currentPriceString = await priceElement.textContent(); + const rawPrice = currentPriceString.split('$')[1]; + const price = Number(rawPrice.replaceAll(',', '')); + + const inStockElement = page + .locator('span.product-form__inventory') + .filter({ + hasText: 'In stock', + }) + .first(); + + const inStock = (await inStockElement.count()) > 0; + + const results = { + url: request.url, + manufacturer, + title, + sku, + currentPrice: price, + availableInStock: inStock, + }; + + log.debug(`Saving data: ${request.url}`); + await Dataset.pushData(results); +}); + +router.addHandler('CATEGORY', async ({ page, enqueueLinks, request, log }) => { + log.debug(`Enqueueing pagination for: ${request.url}`); + // We are now on a category page. We can use this to paginate through and enqueue all products, + // as well as any subsequent pages we find + + await page.waitForSelector('.product-item > a'); + await enqueueLinks({ + selector: '.product-item > a', + label: 'DETAIL', // <= note the different label + }); + + // Now we need to find the "Next" button and enqueue the next page of results (if it exists) + const nextButton = await page.$('a.pagination__next'); + if (nextButton) { + await enqueueLinks({ + selector: 'a.pagination__next', + label: 'CATEGORY', // <= note the same label + }); + } +}); + +// This is a fallback route which will handle the start URL +// as well as the LIST labeled URLs. +router.addDefaultHandler(async ({ request, page, enqueueLinks, log }) => { + log.debug(`Enqueueing categories from page: ${request.url}`); + // This means we're on the start page, with no label. + // On this page, we just want to enqueue all the category pages. + + await page.waitForSelector('.collection-block-item'); + await enqueueLinks({ + selector: '.collection-block-item', + label: 'CATEGORY', + }); +}); +``` + +Let's explore the changes in more detail. We believe these modification will enhance the readability and manageability of the crawler. + +## Splitting your code into multiple files + +There's no reason not to split your code into multiple files and keep your logic separate. Less code in a single file means less code you need to think about at any time, and that's good. We would most likely go even further and split even the routes into separate files. + +## Using Crawlee `log` instead of `console.log` + +We won't go to great lengths here to talk about `log` object from Crawlee, because you can read all about it in the <ApiLink to="core/class/Log">documentation</ApiLink>, but there's just one thing that we need to stress: **log levels**. + +Crawlee `log` has multiple log levels, such as `log.debug`, `log.info` or `log.warning`. It not only makes your log more readable, but it also allows selective turning off of some levels by either calling the `log.setLevel()` function or by setting the `CRAWLEE_LOG_LEVEL` environment variable. Thanks to this you can add a lot of debug logs to your crawler without polluting your log when they're not needed, but ready to help when you encounter issues. + +## Using a router to structure your crawling + +Initially, using a simple `if/else` statement for selecting different logic based on the crawled pages might appear more readable. However, this approach can become cumbersome with more than two types of pages, especially when the logic for each page extends over dozens or even hundreds of lines of code. + +It's good practice in any programming language to split your logic into bite-sized chunks that are easy to read and reason about. Scrolling through a thousand line long `requestHandler()` where everything interacts with everything and variables can be used everywhere is not a beautiful thing to do and a pain to debug. That's why we prefer the separation of routes into their own files. + +## Next steps + +In the next and final step, you'll see how to deploy your Crawlee project to the cloud. If you used the CLI to bootstrap your project, you already have a **Dockerfile** ready, and the next section will show you how to deploy it to the [Apify Platform](../deployment/apify-platform) with ease. diff --git a/website/versioned_docs/version-3.10/introduction/09-deployment.mdx b/website/versioned_docs/version-3.10/introduction/09-deployment.mdx new file mode 100644 index 000000000000..4a9fd97f4ce1 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/09-deployment.mdx @@ -0,0 +1,118 @@ +--- +id: deployment +title: 'Running your crawler in the Cloud' +sidebar_label: 'Running in the Cloud' +description: Deploying Crawlee projects to the Apify Platform +--- + +## Apify Platform + +Crawlee is developed by [**Apify**](https://apify.com), the web scraping and automation platform. You could say it is the **home of Crawlee projects**. In this section you'll see how to deploy the crawler there with just a few simple steps. You can deploy a **Crawlee** project wherever you want, but using the [**Apify Platform**](https://console.apify.com) will give you the best experience. + +In case you want to deploy your Crawlee project to other platforms, check out the [**Deployment**](../deployment) section. + +With a few simple steps, you can convert your Crawlee project into a so-called **Actor**. Actors are serverless micro-apps that are easy to develop, run, share, and integrate. The infra, proxies, and storages are ready to go. [Learn more about Actors](https://apify.com/actors). + +:::info Choosing between Crawlee CLI and Apify CLI for project setup + +We started this guide by using the Crawlee CLI to bootstrap the project - it offers the basic Crawlee templates, including a ready-made `Dockerfile`. If you know you will be deploying your project to the Apify Platform, you might want to start with the Apify CLI instead. It also offers several project templates, and those are all set up to be used on the Apify Platform right ahead. + +::: + +## Dependencies + +The first step will be installing two new dependencies: + +- Apify SDK, a toolkit for working with the Apify Platform. This will allow us to wire the storages (e.g. `RequestQueue` and `Dataset`) to the Apify cloud products. This will be a dependency of our Node.js project. + + ```bash + npm install apify + ``` + +- Apify CLI, a command-line tool that will help us with authentication and deployment. This will be a globally installed tool, you will install it only once and use it in all your Crawlee/Apify projects. + + ```bash + npm install -g apify-cli + ``` + +## Logging in to the Apify Platform + +The next step will be [creating your Apify account](https://console.apify.com/sign-up). Don't worry, we have a **free tier**, so you can try things out before you buy in! Once you have that, it's time to log in with the just-installed [Apify CLI](https://docs.apify.com/cli/). You will need your personal access token, which you can find at https://console.apify.com/account#/integrations. + +```bash +apify login +``` + +## Adjusting the code + +Now that you have your account set up, you will need to adjust the code a tiny bit. We will use the [Apify SDK](https://docs.apify.com/sdk/js/), which will help us to wire the Crawlee storages (like the `RequestQueue`) to their Apify Platform counterparts - otherwise Crawlee would keep things only in memory. + +Open your `src/main.js` file (or `src/main.ts` if you used a TypeScript template), and add `Actor.init()` to the beginning of your main script and `Actor.exit()` to the end of it. Don't forget to `await` those calls, as both functions are async. Your code should look like this: + +```ts title="src/main.js" +// highlight-next-line +import { Actor } from 'apify'; +import { PlaywrightCrawler, log } from 'crawlee'; +import { router } from './routes.mjs'; + +// highlight-next-line +await Actor.init(); + +// This is better set with CRAWLEE_LOG_LEVEL env var +// or a configuration option. This is just for show 😈 +log.setLevel(log.LEVELS.DEBUG); + +log.debug('Setting up crawler.'); +const crawler = new PlaywrightCrawler({ + // Instead of the long requestHandler with + // if clauses we provide a router instance. + requestHandler: router, +}); + +await crawler.run(['https://warehouse-theme-metal.myshopify.com/collections']); + +// highlight-next-line +await Actor.exit(); +``` + +The `Actor.init()` call will configure Crawlee to use the Apify API instead of its default memory storage interface. It also sets up few other things, like listening to the platform events via websockets. The `Actor.exit()` call then handles graceful shutdown - it will close the open handles created by the `Actor.init()` call, as without that, the Node.js process would be stuck. + +:::info Understanding `Actor.init()` behavior with environment variables + +The `Actor.init()` call works conditionally based on the environment variables, namely based on the `APIFY_IS_AT_HOME` env var, which is set to `true` on the Apify Platform. This means that your project will remain working the same locally, but will use the Apify API when deployed to the Apify Platform. + +::: + +## Initializing the project + +You will also need to initialize the project for Apify, to do that, use the Apify CLI again: + +```bash +apify init +``` + +This will create a folder called `.actor`, and an `actor.json` file inside it - this file contains the configuration relevant to the Apify Platform, namely the Actor name, version, build tag, and few other things. Check out the [relevant documentation](https://docs.apify.com/platform/actors/development/actor-definition/actor-json) to see all the different things you can set there up. + +## Ship it! + +And that's all, your project is now ready to be published on the Apify Platform. You can use the Apify CLI once more to do that: + +```bash +apify push +``` + +This command will create an archive from your project, upload it to the Apify Platform and initiate a Docker build. Once finished, you will get a link to your new Actor on the platform. + +## Learning more about web scraping + +:::tip Explore Apify Academy Resources + +If you want to learn more about web scraping and browser automation, check out the [Apify Academy](https://developers.apify.com/academy). It's full of courses and tutorials on the topic. From beginner to advanced. And the best thing: **It's free and open source** ❤️ + +If you want to do one more project, checkout our tutorial on building a [HackerNews scraper using Crawlee](https://blog.apify.com/crawlee-web-scraping-tutorial/). + +::: + +## Thank you! 🎉 + +That's it! Thanks for reading the whole introduction and if there's anything wrong, please 🙏 let us know on [GitHub](https://github.com/apify/crawlee) or in our [Discord community](https://discord.com/invite/jyEM2PRvMU). Happy scraping! 👋 diff --git a/website/versioned_docs/version-3.10/introduction/index.mdx b/website/versioned_docs/version-3.10/introduction/index.mdx new file mode 100644 index 000000000000..2fc99fbd2a85 --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/index.mdx @@ -0,0 +1,49 @@ +--- +id: introduction +title: Introduction +description: Your first steps into the world of scraping with Crawlee +--- + +import ApiLink from '@site/src/components/ApiLink'; + +Crawlee covers your crawling and scraping end-to-end and helps you **build reliable scrapers. Fast.** + +Your crawlers will appear human-like and fly under the radar of modern bot protections even with the default configuration. Crawlee gives you the tools to crawl the web for links, scrape data and persistently store it in machine-readable formats, without having to worry about the technical details. And thanks to rich configuration options, you can tweak almost any aspect of Crawlee to suit your project's needs if the default settings don't cut it. + +## What you will learn + +The goal of the introduction is to provide a step-by-step guide to the most important features of Crawlee. It will walk you through creating the simplest of crawlers that only prints text to console, all the way up to a full-featured scraper that collects links from a website and extracts data. + +## 🛠 Features + +- Single interface for **HTTP and headless browser** crawling +- Persistent **queue** for URLs to crawl (breadth & depth first) +- Pluggable **storage** of both tabular data and files +- Automatic **scaling** with available system resources +- Integrated **proxy rotation** and session management +- Lifecycles customizable with **hooks** +- **CLI** to bootstrap your projects +- Configurable **routing**, **error handling** and **retries** +- **Dockerfiles** ready to deploy +- Written in **TypeScript** with generics + +### 👾 HTTP crawling + +- Zero config **HTTP2 support**, even for proxies +- Automatic generation of **browser-like headers** +- Replication of browser **TLS fingerprints** +- Integrated fast **HTML parsers**. Cheerio and JSDOM +- Yes, you can scrape **JSON APIs** as well + +### 💻 Real browser crawling + +- JavaScript **rendering** and **screenshots** +- **Headless** and **headful** support +- Zero-config generation of **human-like fingerprints** +- Automatic **browser management** +- Use **Playwright** and **Puppeteer** with the same interface +- **Chrome**, **Firefox**, **Webkit** and many others + +## Next steps + +Next, you will install Crawlee and learn how to bootstrap projects with the Crawlee CLI. diff --git a/website/versioned_docs/version-3.10/introduction/tsconfig.json b/website/versioned_docs/version-3.10/introduction/tsconfig.json new file mode 100644 index 000000000000..62b84708237b --- /dev/null +++ b/website/versioned_docs/version-3.10/introduction/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "@apify/tsconfig", + "compilerOptions": { + "baseUrl": "../..", + "paths": { + "crawlee": ["packages/crawlee/src"], + "@crawlee/basic": ["packages/basic-crawler/src"], + "@crawlee/browser": ["packages/browser-crawler/src"], + "@crawlee/http": ["packages/http-crawler/src"], + "@crawlee/linkedom": ["packages/linkedom-crawler/src"], + "@crawlee/jsdom": ["packages/jsdom-crawler/src"], + "@crawlee/cheerio": ["packages/cheerio-crawler/src"], + "@crawlee/playwright": ["packages/playwright-crawler/src"], + "@crawlee/puppeteer": ["packages/puppeteer-crawler/src"], + "@crawlee/*": ["packages/*/src"] + }, + "target": "ES2022", + "module": "ES2022", + "noUnusedParameters": false + } +} diff --git a/website/versioned_docs/version-3.10/quick-start/headful_playwright.ts b/website/versioned_docs/version-3.10/quick-start/headful_playwright.ts new file mode 100644 index 000000000000..088e5b7f294a --- /dev/null +++ b/website/versioned_docs/version-3.10/quick-start/headful_playwright.ts @@ -0,0 +1,19 @@ +import { PlaywrightCrawler, Dataset } from 'crawlee'; + +const crawler = new PlaywrightCrawler({ + async requestHandler({ request, page, enqueueLinks, log }) { + const title = await page.title(); + log.info(`Title of ${request.loadedUrl} is '${title}'`); + await Dataset.pushData({ title, url: request.loadedUrl }); + await enqueueLinks(); + }, + // When you turn off headless mode, the crawler + // will run with a visible browser window. + headless: false, + + // Let's limit our crawls to make our tests shorter and safer. + maxRequestsPerCrawl: 50, +}); + +// Add first URL to the queue and start the crawl. +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/quick-start/headful_puppeteer.ts b/website/versioned_docs/version-3.10/quick-start/headful_puppeteer.ts new file mode 100644 index 000000000000..73798fd13e90 --- /dev/null +++ b/website/versioned_docs/version-3.10/quick-start/headful_puppeteer.ts @@ -0,0 +1,19 @@ +import { PuppeteerCrawler, Dataset } from 'crawlee'; + +const crawler = new PuppeteerCrawler({ + async requestHandler({ request, page, enqueueLinks, log }) { + const title = await page.title(); + log.info(`Title of ${request.loadedUrl} is '${title}'`); + await Dataset.pushData({ title, url: request.loadedUrl }); + await enqueueLinks(); + }, + // When you turn off headless mode, the crawler + // will run with a visible browser window. + headless: false, + + // Let's limit our crawls to make our tests shorter and safer. + maxRequestsPerCrawl: 50, +}); + +// Add first URL to the queue and start the crawl. +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/quick-start/index.mdx b/website/versioned_docs/version-3.10/quick-start/index.mdx new file mode 100644 index 000000000000..ffe401dcd656 --- /dev/null +++ b/website/versioned_docs/version-3.10/quick-start/index.mdx @@ -0,0 +1,171 @@ +--- +id: quick-start +title: Quick Start +description: With this short tutorial you can start scraping with Crawlee in a minute or two. To learn more, read the Introduction. +--- + +import RunnableCodeBlock from '@site/src/components/RunnableCodeBlock'; +import ApiLink from '@site/src/components/ApiLink'; + +import Admonition from '@theme/Admonition'; +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import CodeBlock from '@theme/CodeBlock'; +import ThemedImage from '@theme/ThemedImage'; + +import CheerioSource from '!!raw-loader!roa-loader!./quick_start_cheerio.ts'; +import PlaywrightSource from '!!raw-loader!roa-loader!./quick_start_playwright.ts'; +import PlaywrightHeadful from '!!raw-loader!roa-loader!./headful_playwright.ts'; +import PuppeteerSource from '!!raw-loader!roa-loader!./quick_start_puppeteer.ts'; +import PuppeteerHeadful from '!!raw-loader!roa-loader!./headful_puppeteer.ts'; + +import CheerioLog from '!!raw-loader!./quick_start_cheerio.txt'; + +With this short tutorial you can start scraping with Crawlee in a minute or two. To learn in-depth how Crawlee works, read the [Introduction](./introduction), which is a comprehensive step-by-step guide for creating your first scraper. + +## Choose your crawler + +Crawlee comes with three main crawler classes: <ApiLink to="cheerio-crawler/class/CheerioCrawler">`CheerioCrawler`</ApiLink>, <ApiLink to="puppeteer-crawler/class/PuppeteerCrawler">`PuppeteerCrawler`</ApiLink> and <ApiLink to="playwright-crawler/class/PlaywrightCrawler">`PlaywrightCrawler`</ApiLink>. All classes share the same interface for maximum flexibility when switching between them. + +### CheerioCrawler +This is a plain HTTP crawler. It parses HTML using the [Cheerio](https://github.com/cheeriojs/cheerio) library and crawls the web using the specialized [got-scraping](https://github.com/apify/got-scraping) HTTP client which masks as a browser. It's very fast and efficient, but can't handle JavaScript rendering. + +### PuppeteerCrawler +This crawler uses a headless browser to crawl, controlled by the [Puppeteer](https://github.com/puppeteer/puppeteer) library. It can control Chromium or Chrome. Puppeteer is the de-facto standard in headless browser automation. + +### PlaywrightCrawler +[Playwright](https://github.com/microsoft/playwright) is a more powerful and full-featured successor to Puppeteer. It can control Chromium, Chrome, Firefox, Webkit and many other browsers. If you're not familiar with Puppeteer already, and you need a headless browser, go with Playwright. + +:::caution before you start + +Crawlee requires [Node.js 16 or later](https://nodejs.org/en/). + +::: + +## Installation with Crawlee CLI + +The fastest way to try Crawlee out is to use the **Crawlee CLI** and choose the **Getting started example**. +The CLI will install all the necessary dependencies and add boilerplate code for you to play with. + +```bash +npx crawlee create my-crawler +``` + +After the installation is complete you can start the crawler like this: + +```bash +cd my-crawler && npm start +``` + +## Manual installation + +You can add Crawlee to any Node.js project by running: + +<Tabs groupId="quick_start"> +<TabItem value="cheerio" label="CheerioCrawler" default> +<CodeBlock language="bash">npm install crawlee</CodeBlock> +</TabItem> +<TabItem value="playwright" label="PlaywrightCrawler"> + +:::caution + +`playwright` is not bundled with Crawlee to reduce install size and allow greater flexibility. You need to explicitly install it with NPM. 👇 + +::: + +<CodeBlock language="bash">npm install crawlee playwright</CodeBlock> +</TabItem> +<TabItem value="puppeteer" label="PuppeteerCrawler"> + +:::caution + +`puppeteer` is not bundled with Crawlee to reduce install size and allow greater flexibility. You need to explicitly install it with NPM. 👇 + +::: + +<CodeBlock language="bash">npm install crawlee puppeteer</CodeBlock> +</TabItem> +</Tabs> + +## Crawling + +Run the following example to perform a recursive crawl of the Crawlee website using the selected crawler. + +<Admonition type="caution" title="Don't forget about module imports"> + To run the example, add a <code>"type": "module"</code> clause into your <code>package.json</code> or + copy it into a file with an <code>.mjs</code> suffix. This enables <code>import</code> statements in Node.js. + See <a href="https://nodejs.org/dist/latest-v16.x/docs/api/esm.html#enabling" target="_blank" rel="noreferrer">Node.js docs</a> for + more information. +</Admonition> + +<Tabs groupId="quick_start"> + <TabItem value="cheerio" label="CheerioCrawler" default> + <RunnableCodeBlock className="language-js" type="cheerio">{CheerioSource}</RunnableCodeBlock> + </TabItem> + <TabItem value="playwright" label="PlaywrightCrawler"> + <RunnableCodeBlock className="language-js" type="playwright">{PlaywrightSource}</RunnableCodeBlock> + </TabItem> + <TabItem value="puppeteer" label="PuppeteerCrawler"> + <RunnableCodeBlock className="language-js" type="puppeteer">{PuppeteerSource}</RunnableCodeBlock> + </TabItem> +</Tabs> + +When you run the example, you will see Crawlee automating the data extraction process in your terminal. + +<CodeBlock language="log">{CheerioLog}</CodeBlock> + + +### Running headful browsers + +Browsers controlled by Puppeteer and Playwright run headless (without a visible window). You can switch to headful by adding the `headless: false` option to the crawlers' constructor. This is useful in the development phase when you want to see what's going on in the browser. + +<Tabs groupId="quick_start"> + <TabItem value="playwright" label="PlaywrightCrawler"> + <RunnableCodeBlock className="language-js" type="playwright">{PlaywrightHeadful}</RunnableCodeBlock> + </TabItem> + <TabItem value="puppeteer" label="PuppeteerCrawler"> + <RunnableCodeBlock className="language-js" type="puppeteer">{PuppeteerHeadful}</RunnableCodeBlock> + </TabItem> +</Tabs> + +When you run the example code, you'll see an automated browser blaze through the Crawlee website. + +:::note + +For the sake of this show off, we've slowed down the crawler, but rest assured, it's blazing fast in real world usage. + +::: + +<ThemedImage + alt="An image showing off Crawlee scraping the Crawlee website using Puppeteer/Playwright and Chromium" + sources={{ + light: '/img/chrome-scrape-light.gif', + dark: '/img/chrome-scrape-dark.gif', + }} +/> + +## Results + +Crawlee stores data to the `./storage` directory in your current working directory. The results of your crawl will be available under `./storage/datasets/default/*.json` as JSON files. + +```json title="./storage/datasets/default/000000001.json" +{ + "url": "https://crawlee.dev/", + "title": "Crawlee · The scalable web crawling, scraping and automation library for JavaScript/Node.js | Crawlee" +} +``` + +:::tip + +You can override the storage directory by setting the `CRAWLEE_STORAGE_DIR` environment variable. + +::: + +## Examples and further reading +You can find more examples showcasing various features of Crawlee in the [Examples](./examples) section of the documentation. To better understand Crawlee and its components you should read the [Introduction](./introduction) step-by-step guide. + +**Related links** + +- [Configuration](./guides/configuration) +- [Request storage](./guides/request-storage) +- [Result storage](./guides/result-storage) diff --git a/website/versioned_docs/version-3.10/quick-start/quick_start_cheerio.ts b/website/versioned_docs/version-3.10/quick-start/quick_start_cheerio.ts new file mode 100644 index 000000000000..62fe06f9d0aa --- /dev/null +++ b/website/versioned_docs/version-3.10/quick-start/quick_start_cheerio.ts @@ -0,0 +1,24 @@ +import { CheerioCrawler, Dataset } from 'crawlee'; + +// CheerioCrawler crawls the web using HTTP requests +// and parses HTML using the Cheerio library. +const crawler = new CheerioCrawler({ + // Use the requestHandler to process each of the crawled pages. + async requestHandler({ request, $, enqueueLinks, log }) { + const title = $('title').text(); + log.info(`Title of ${request.loadedUrl} is '${title}'`); + + // Save results as JSON to ./storage/datasets/default + await Dataset.pushData({ title, url: request.loadedUrl }); + + // Extract links from the current page + // and add them to the crawling queue. + await enqueueLinks(); + }, + + // Let's limit our crawls to make our tests shorter and safer. + maxRequestsPerCrawl: 50, +}); + +// Add first URL to the queue and start the crawl. +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/quick-start/quick_start_cheerio.txt b/website/versioned_docs/version-3.10/quick-start/quick_start_cheerio.txt new file mode 100644 index 000000000000..e68fa4133ca5 --- /dev/null +++ b/website/versioned_docs/version-3.10/quick-start/quick_start_cheerio.txt @@ -0,0 +1,5 @@ +INFO CheerioCrawler: Starting the crawl +INFO CheerioCrawler: Title of https://crawlee.dev/ is 'Crawlee · Build reliable crawlers. Fast. | Crawlee' +INFO CheerioCrawler: Title of https://crawlee.dev/docs/examples is 'Examples | Crawlee' +INFO CheerioCrawler: Title of https://crawlee.dev/docs/quick-start is 'Quick Start | Crawlee' +INFO CheerioCrawler: Title of https://crawlee.dev/docs/guides is 'Guides | Crawlee' diff --git a/website/versioned_docs/version-3.10/quick-start/quick_start_playwright.ts b/website/versioned_docs/version-3.10/quick-start/quick_start_playwright.ts new file mode 100644 index 000000000000..00bf910dc074 --- /dev/null +++ b/website/versioned_docs/version-3.10/quick-start/quick_start_playwright.ts @@ -0,0 +1,26 @@ +import { PlaywrightCrawler, Dataset } from 'crawlee'; + +// PlaywrightCrawler crawls the web using a headless +// browser controlled by the Playwright library. +const crawler = new PlaywrightCrawler({ + // Use the requestHandler to process each of the crawled pages. + async requestHandler({ request, page, enqueueLinks, log }) { + const title = await page.title(); + log.info(`Title of ${request.loadedUrl} is '${title}'`); + + // Save results as JSON to ./storage/datasets/default + await Dataset.pushData({ title, url: request.loadedUrl }); + + // Extract links from the current page + // and add them to the crawling queue. + await enqueueLinks(); + }, + // Uncomment this option to see the browser window. + // headless: false, + + // Let's limit our crawls to make our tests shorter and safer. + maxRequestsPerCrawl: 50, +}); + +// Add first URL to the queue and start the crawl. +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/quick-start/quick_start_puppeteer.ts b/website/versioned_docs/version-3.10/quick-start/quick_start_puppeteer.ts new file mode 100644 index 000000000000..5b8bb70e699b --- /dev/null +++ b/website/versioned_docs/version-3.10/quick-start/quick_start_puppeteer.ts @@ -0,0 +1,26 @@ +import { PuppeteerCrawler, Dataset } from 'crawlee'; + +// PuppeteerCrawler crawls the web using a headless +// browser controlled by the Puppeteer library. +const crawler = new PuppeteerCrawler({ + // Use the requestHandler to process each of the crawled pages. + async requestHandler({ request, page, enqueueLinks, log }) { + const title = await page.title(); + log.info(`Title of ${request.loadedUrl} is '${title}'`); + + // Save results as JSON to ./storage/datasets/default + await Dataset.pushData({ title, url: request.loadedUrl }); + + // Extract links from the current page + // and add them to the crawling queue. + await enqueueLinks(); + }, + // Uncomment this option to see the browser window. + // headless: false, + + // Let's limit our crawls to make our tests shorter and safer. + maxRequestsPerCrawl: 50, +}); + +// Add first URL to the queue and start the crawl. +await crawler.run(['https://crawlee.dev']); diff --git a/website/versioned_docs/version-3.10/upgrading/upgrading_v1.md b/website/versioned_docs/version-3.10/upgrading/upgrading_v1.md new file mode 100644 index 000000000000..c6d7d6bba19d --- /dev/null +++ b/website/versioned_docs/version-3.10/upgrading/upgrading_v1.md @@ -0,0 +1,450 @@ +--- +id: upgrading-to-v1 +title: Upgrading to v1 +--- + +## Summary +After 3.5 years of rapid development and a lot of breaking changes and deprecations, +here comes the result - **Apify SDK v1**. There were two goals for this release. **Stability** +and **adding support for more browsers** - Firefox and Webkit (Safari). + +The SDK has grown quite popular over the years, powering thousands of web scraping +and automation projects. We think our developers deserve a stable environment to work +in and by releasing SDK v1, **we commit to only make breaking changes once a year, +with a new major release**. + +We added support for more browsers by replacing `PuppeteerPool` with +[`browser-pool`](https://github.com/apify/browser-pool). A new library that we created +specifically for this purpose. It builds on the ideas from `PuppeteerPool` and extends +them to support [Playwright](https://github.com/microsoft/playwright). Playwright is +a browser automation library similar to Puppeteer. It works with all well known browsers +and uses almost the same interface as Puppeteer, while adding useful features and simplifying +common tasks. Don't worry, you can still use Puppeteer with the new `BrowserPool`. + +A large breaking change is that neither `puppeteer` nor `playwright` are bundled with +the SDK v1. To make the choice of a library easier and installs faster, users will +have to install the selected modules and versions themselves. This allows us to add +support for even more libraries in the future. + +Thanks to the addition of Playwright we now have a `PlaywrightCrawler`. It is very similar +to `PuppeteerCrawler` and you can pick the one you prefer. It also means we needed to make +some interface changes. The `launchPuppeteerFunction` option of `PuppeteerCrawler` is gone +and `launchPuppeteerOptions` were replaced by `launchContext`. We also moved things around +in the `handlePageFunction` arguments. See the +[migration guide](#migration-guide) +for more detailed explanation and migration examples. + +What's in store for SDK v2? We want to split the SDK into smaller libraries, +so that everyone can install only the things they need. We plan a TypeScript migration +to make crawler development faster and safer. Finally, we will take a good look +at the interface of the whole SDK and update it to improve the developer experience. +Bug fixes and scraping features will of course keep landing in versions 1.X as well. + +## Migration Guide +There are a lot of breaking changes in the v1.0.0 release, but we're confident that +updating your code will be a matter of minutes. Below, you'll find examples how to do it +and also short tutorials how to use many of the new features. + +> Many of the new features are made with power users in mind, +> so don't worry if something looks complicated. You don't need to use it. + +## Installation +Previous versions of the SDK bundled the `puppeteer` package, so you did not have to install +it. SDK v1 supports also `playwright` and we don't want to force users to install both. +To install SDK v1 with Puppeteer (same as previous versions), run: + +```bash +npm install apify puppeteer +``` + +To install SDK v1 with Playwright run: +```bash +npm install apify playwright +``` + +> While we tried to add the most important functionality in the initial release, +> you may find that there are still some utilities or options that are only +> supported by Puppeteer and not Playwright. + +## Running on Apify Platform +If you want to make use of Playwright on the Apify Platform, you need to use a Docker image +that supports Playwright. We've created them for you, so head over to the new +[Docker image guide](https://sdk.apify.com/docs/guides/docker-images) and pick the one +that best suits your needs. + +Note that your `package.json` **MUST** include `puppeteer` and/or `playwright` as dependencies. +If you don't list them, the libraries will be uninstalled from your `node_modules` folder +when you build your actors. + +## Handler arguments are now Crawling Context +Previously, arguments of user provided handler functions were provided in separate +objects. This made it difficult to track values across function invocations. + +```js +const handlePageFunction = async (args1) => { + args1.hasOwnProperty('proxyInfo') // true +} + +const handleFailedRequestFunction = async (args2) => { + args2.hasOwnProperty('proxyInfo') // false +} + +args1 === args2 // false +``` + +This happened because a new arguments object was created for each function. +With SDK v1 we now have a single object called Crawling Context. + +```js +const handlePageFunction = async (crawlingContext1) => { + crawlingContext1.hasOwnProperty('proxyInfo') // true +} + +const handleFailedRequestFunction = async (crawlingContext2) => { + crawlingContext2.hasOwnProperty('proxyInfo') // true +} + +// All contexts are the same object. +crawlingContext1 === crawlingContext2 // true +``` + +### `Map` of crawling contexts and their IDs +Now that all the objects are the same, we can keep track of all running crawling contexts. +We can do that by working with the new `id` property of `crawlingContext` +This is useful when you need cross-context access. + +```js +let masterContextId; +const handlePageFunction = async ({ id, page, request, crawler }) => { + if (request.userData.masterPage) { + masterContextId = id; + // Prepare the master page. + } else { + const masterContext = crawler.crawlingContexts.get(masterContextId); + const masterPage = masterContext.page; + const masterRequest = masterContext.request; + // Now we can manipulate the master data from another handlePageFunction. + } +} +``` + +### `autoscaledPool` was moved under `crawlingContext.crawler` +To prevent bloat and to make access to certain key objects easier, we exposed a `crawler` +property on the handle page arguments. + +```js +const handePageFunction = async ({ request, page, crawler }) => { + await crawler.requestQueue.addRequest({ url: 'https://example.com' }); + await crawler.autoscaledPool.pause(); +} +``` + +This also means that some shorthands like `puppeteerPool` or `autoscaledPool` were +no longer necessary. + +```js +const handePageFunction = async (crawlingContext) => { + crawlingContext.autoscaledPool // does NOT exist anymore + crawlingContext.crawler.autoscaledPool // <= this is correct usage +} +``` + +## Replacement of `PuppeteerPool` with `BrowserPool` +`BrowserPool` was created to extend `PuppeteerPool` with the ability to manage other +browser automation libraries. The API is similar, but not the same. + +### Access to running `BrowserPool` +Only `PuppeteerCrawler` and `PlaywrightCrawler` use `BrowserPool`. You can access it +on the `crawler` object. + +```js +const crawler = new Apify.PlaywrightCrawler({ + handlePageFunction: async ({ page, crawler }) => { + crawler.browserPool // <----- + } +}); + +crawler.browserPool // <----- +``` + +### Pages now have IDs +And they're equal to `crawlingContext.id` which gives you access to full `crawlingContext` +in hooks. See [Lifecycle hooks](#configuration-and-lifecycle-hooks) below. + +```js +const pageId = browserPool.getPageId +``` + +### Configuration and lifecycle hooks +The most important addition with `BrowserPool` are the +[lifecycle hooks](https://github.com/apify/browser-pool#browserpool). +You can access them via `browserPoolOptions` in both crawlers. A full list of `browserPoolOptions` +can be found in [`browser-pool` readme](https://github.com/apify/browser-pool#new-browserpooloptions). + +```js +const crawler = new Apify.PuppeteerCrawler({ + browserPoolOptions: { + retireBrowserAfterPageCount: 10, + preLaunchHooks: [ + async (pageId, launchContext) => { + const { request } = crawler.crawlingContexts.get(pageId); + if (request.userData.useHeadful === true) { + launchContext.launchOptions.headless = false; + } + } + ] + } +}) +``` + +### Introduction of `BrowserController` +[`BrowserController`](https://github.com/apify/browser-pool#browsercontroller) +is a class of `browser-pool` that's responsible for browser management. +Its purpose is to provide a single API for working with both Puppeteer and Playwright browsers. +It works automatically in the background, but if you ever wanted to close a browser properly, +you should use a `browserController` to do it. You can find it in the handle page arguments. + +```js +const handlePageFunction = async ({ page, browserController }) => { + // Wrong usage. Could backfire because it bypasses BrowserPool. + await page.browser().close(); + + // Correct usage. Allows graceful shutdown. + await browserController.close(); + + const cookies = [/* some cookie objects */]; + // Wrong usage. Will only work in Puppeteer and not Playwright. + await page.setCookies(...cookies); + + // Correct usage. Will work in both. + await browserController.setCookies(page, cookies); +} +``` + +The `BrowserController` also includes important information about the browser, such as +the context it was launched with. This was difficult to do before SDK v1. + +```js +const handlePageFunction = async ({ browserController }) => { + // Information about the proxy used by the browser + browserController.launchContext.proxyInfo + + // Session used by the browser + browserController.launchContext.session +} +``` + +### `BrowserPool` methods vs `PuppeteerPool` +Some functions were removed (in line with earlier deprecations), and some were changed a bit: + +```js +// OLD +await puppeteerPool.recyclePage(page); + +// NEW +await page.close(); +``` + +```js +// OLD +await puppeteerPool.retire(page.browser()); + +// NEW +browserPool.retireBrowserByPage(page); +``` + +```js +// OLD +await puppeteerPool.serveLiveViewSnapshot(); + +// NEW +// There's no LiveView in BrowserPool +``` + +## Updated `PuppeteerCrawlerOptions` +To keep `PuppeteerCrawler` and `PlaywrightCrawler` consistent, we updated the options. + +### Removal of `gotoFunction` +The concept of a configurable `gotoFunction` is not ideal. Especially since we use a modified +`gotoExtended`. Users have to know this when they override `gotoFunction` if they want to +extend default behavior. We decided to replace `gotoFunction` with `preNavigationHooks` and +`postNavigationHooks`. + +The following example illustrates how `gotoFunction` makes things complicated. +```js +const gotoFunction = async ({ request, page }) => { + // pre-processing + await makePageStealthy(page); + + // Have to remember how to do this: + const response = await gotoExtended(page, request, {/* have to remember the defaults */}); + + // post-processing + await page.evaluate(() => { + window.foo = 'bar'; + }); + + // Must not forget! + return response; +} + +const crawler = new Apify.PuppeteerCrawler({ + gotoFunction, + // ... +}) +``` + +With `preNavigationHooks` and `postNavigationHooks` it's much easier. `preNavigationHooks` +are called with two arguments: `crawlingContext` and `gotoOptions`. `postNavigationHooks` +are called only with `crawlingContext`. + +```js +const preNavigationHooks = [ + async ({ page }) => makePageStealthy(page) +]; + +const postNavigationHooks = [ + async ({ page }) => page.evaluate(() => { + window.foo = 'bar' + }) +] + +const crawler = new Apify.PuppeteerCrawler({ + preNavigationHooks, + postNavigationHooks, + // ... +}) +``` + +### `launchPuppeteerOptions` => `launchContext` +Those were always a point of confusion because they merged custom Apify options with +`launchOptions` of Puppeteer. + +```js +const launchPuppeteerOptions = { + useChrome: true, // Apify option + headless: false, // Puppeteer option +} +``` + +Use the new `launchContext` object, which explicitly defines `launchOptions`. +`launchPuppeteerOptions` were removed. + +```js +const crawler = new Apify.PuppeteerCrawler({ + launchContext: { + useChrome: true, // Apify option + launchOptions: { + headless: false // Puppeteer option + } + } +}) +``` + +> LaunchContext is also a type of [`browser-pool`](https://github.com/apify/browser-pool) and +> the structure is exactly the same there. SDK only adds extra options. + +### Removal of `launchPuppeteerFunction` +`browser-pool` introduces the idea of [lifecycle hooks](https://github.com/apify/browser-pool#browserpool), +which are functions that are executed when a certain event in the browser lifecycle happens. + +```js +const launchPuppeteerFunction = async (launchPuppeteerOptions) => { + if (someVariable === 'chrome') { + launchPuppeteerOptions.useChrome = true; + } + return Apify.launchPuppeteer(launchPuppeteerOptions); +} + +const crawler = new Apify.PuppeteerCrawler({ + launchPuppeteerFunction, + // ... +}) +``` + +Now you can recreate the same functionality with a `preLaunchHook`: + +```js +const maybeLaunchChrome = (pageId, launchContext) => { + if (someVariable === 'chrome') { + launchContext.useChrome = true; + } +} + +const crawler = new Apify.PuppeteerCrawler({ + browserPoolOptions: { + preLaunchHooks: [maybeLaunchChrome] + }, + // ... +}) +``` + +This is better in multiple ways. It is consistent across both Puppeteer and Playwright. +It allows you to easily construct your browsers with pre-defined behavior: + +```js +const preLaunchHooks = [ + maybeLaunchChrome, + useHeadfulIfNeeded, + injectNewFingerprint, +] +``` + +And thanks to the addition of [`crawler.crawlingContexts`](#handler-arguments-are-now-crawling-context) +the functions also have access to the `crawlingContext` of the `request` that triggered the launch. + +```js +const preLaunchHooks = [ + async function maybeLaunchChrome(pageId, launchContext) { + const { request } = crawler.crawlingContexts.get(pageId); + if (request.userData.useHeadful === true) { + launchContext.launchOptions.headless = false; + } + } +] +``` + +## Launch functions +In addition to `Apify.launchPuppeteer()` we now also have `Apify.launchPlaywright()`. + +### Updated arguments +We [updated the launch options object](#launchpuppeteeroptions--launchcontext) because +it was a frequent source of confusion. + +```js +// OLD +await Apify.launchPuppeteer({ + useChrome: true, + headless: true, +}) + +// NEW +await Apify.launchPuppeteer({ + useChrome: true, + launchOptions: { + headless: true, + } +}) +``` + +### Custom modules +`Apify.launchPuppeteer` already supported the `puppeteerModule` option. With Playwright, +we normalized the name to `launcher` because the `playwright` module itself does not +launch browsers. + +```js +const puppeteer = require('puppeteer'); +const playwright = require('playwright'); + +await Apify.launchPuppeteer(); +// Is the same as: +await Apify.launchPuppeteer({ + launcher: puppeteer +}) + +await Apify.launchPlaywright(); +// Is the same as: +await Apify.launchPlaywright({ + launcher: playwright.chromium +}) +``` diff --git a/website/versioned_docs/version-3.10/upgrading/upgrading_v2.md b/website/versioned_docs/version-3.10/upgrading/upgrading_v2.md new file mode 100644 index 000000000000..c0a84584d11c --- /dev/null +++ b/website/versioned_docs/version-3.10/upgrading/upgrading_v2.md @@ -0,0 +1,8 @@ +--- +id: upgrading-to-v2 +title: Upgrading to v2 +--- + +- **BREAKING**: Require Node.js >=15.10.0 because HTTP2 support on lower Node.js versions is very buggy. +- **BREAKING**: Bump `cheerio` to `1.0.0-rc.10` from `rc.3`. There were breaking changes in `cheerio` between the versions so this bump might be breaking for you as well. +- Remove `LiveViewServer` which was deprecated before release of SDK v1. diff --git a/website/versioned_docs/version-3.10/upgrading/upgrading_v3.md b/website/versioned_docs/version-3.10/upgrading/upgrading_v3.md new file mode 100644 index 000000000000..bd7f43018a32 --- /dev/null +++ b/website/versioned_docs/version-3.10/upgrading/upgrading_v3.md @@ -0,0 +1,484 @@ +--- +id: upgrading-to-v3 +title: Upgrading to v3 +--- + +import ApiLink from '@site/src/components/ApiLink'; + +This page summarizes most of the breaking changes between Crawlee (v3) and Apify SDK (v2). Crawlee is the spiritual successor to Apify SDK, so we decided to keep the versioning and release Crawlee as v3. + +:::info Crawlee vs Apify SDK v2 + +Up until version 3 of `apify`, the package contained both scraping related tools and Apify platform related helper methods. With v3 we are splitting the whole project into two main parts: + +- [Crawlee](https://github.com/apify/crawlee), the new web-scraping library, available as [`crawlee`](https://www.npmjs.com/package/crawlee) package on NPM +- [Apify SDK](https://github.com/apify/apify-sdk-js), helpers for the Apify platform, available as [`apify`](https://www.npmjs.com/package/apify) package on NPM + +::: + +## Crawlee monorepo + +The [`crawlee`](https://www.npmjs.com/package/crawlee) package consists of several smaller packages, released separately under `@crawlee` namespace: + +- [`@crawlee/core`](https://crawlee.dev/api/core): the base for all the crawler implementations, also contains things like `Request`, `RequestQueue`, `RequestList` or `Dataset` classes +- [`@crawlee/cheerio`](https://crawlee.dev/api/cheerio-crawler): exports `CheerioCrawler` +- [`@crawlee/playwright`](https://crawlee.dev/api/playwright-crawler): exports `PlaywrightCrawler` +- [`@crawlee/puppeteer`](https://crawlee.dev/api/puppeteer-crawler): exports `PuppeteerCrawler` +- [`@crawlee/jsdom`](https://crawlee.dev/api/jsdom-crawler): exports `JSDOMCrawler` +- [`@crawlee/basic`](https://crawlee.dev/api/basic-crawler): exports `BasicCrawler` +- [`@crawlee/http`](https://crawlee.dev/api/http-crawler): exports `HttpCrawler` (which is used for creating [`@crawlee/jsdom`](https://crawlee.dev/api/jsdom-crawler) and [`@crawlee/cheerio`](https://crawlee.dev/api/cheerio-crawler)) +- [`@crawlee/browser`](https://crawlee.dev/api/browser-crawler): exports `BrowserCrawler` (which is used for creating [`@crawlee/playwright`](https://crawlee.dev/api/playwright-crawler) and [`@crawlee/puppeteer`](https://crawlee.dev/api/puppeteer-crawler)) +- [`@crawlee/memory-storage`](https://crawlee.dev/api/memory-storage): [`@apify/storage-local`](https://npmjs.com/package/@apify/storage-local) alternative +- [`@crawlee/browser-pool`](https://crawlee.dev/api/browser-pool): previously [`browser-pool`](https://npmjs.com/package/browser-pool) package +- [`@crawlee/utils`](https://crawlee.dev/api/utils): utility methods +- [`@crawlee/types`](https://crawlee.dev/api/types): holds TS interfaces mainly about the [`StorageClient`](https://crawlee.dev/api/core/interface/StorageClient) + +### Installing Crawlee + +Most of the Crawlee packages are extending and reexporting each other, so it's enough to install just the one you plan on using, e.g. `@crawlee/playwright` if you plan on using `playwright` - it already contains everything from the `@crawlee/browser` package, which includes everything from `@crawlee/basic`, which includes everything from `@crawlee/core`. + +If we don't care much about additional code being pulled in, we can just use the `crawlee` meta-package, which contains (re-exports) most of the `@crawlee/*` packages, and therefore contains all the crawler classes. + +```bash +npm install crawlee +``` + +Or if all we need is cheerio support, we can install only `@crawlee/cheerio`. + +```bash +npm install @crawlee/cheerio +``` + +When using `playwright` or `puppeteer`, we still need to install those dependencies explicitly - this allows the users to be in control of which version will be used. + +```bash +npm install crawlee playwright +# or npm install @crawlee/playwright playwright +``` + +Alternatively we can also use the `crawlee` meta-package which contains (re-exports) most of the `@crawlee/*` packages, and therefore contains all the crawler classes. + +> Sometimes you might want to use some utility methods from `@crawlee/utils`, so you might want to install that as well. This package contains some utilities that were previously available under `Apify.utils`. Browser related utilities can be also found in the crawler packages (e.g. `@crawlee/playwright`). + +## Full TypeScript support + +Both Crawlee and Apify SDK are full TypeScript rewrite, so they include up-to-date types in the package. For your TypeScript crawlers we recommend using our predefined TypeScript configuration from `@apify/tsconfig` package. Don't forget to set the `module` and `target` to `ES2022` or above to be able to use top level await. + +> The `@apify/tsconfig` config has [`noImplicitAny`](https://www.typescriptlang.org/tsconfig#noImplicitAny) enabled, you might want to disable it during the initial development as it will cause build failures if you left some unused local variables in your code. + +```json title="tsconfig.json" +{ + "extends": "@apify/tsconfig", + "compilerOptions": { + "module": "ES2022", + "target": "ES2022", + "outDir": "dist", + "lib": ["DOM"] + }, + "include": [ + "./src/**/*" + ] +} +``` + +### Docker build + +For `Dockerfile` we recommend using multi-stage build, so you don't install the dev dependencies like TypeScript in your final image: + +```dockerfile title="Dockerfile" +# using multistage build, as we need dev deps to build the TS source code +FROM apify/actor-node:16 AS builder + +# copy all files, install all dependencies (including dev deps) and build the project +COPY . ./ +RUN npm install --include=dev \ + && npm run build + +# create final image +FROM apify/actor-node:16 +# copy only necessary files +COPY --from=builder /usr/src/app/package*.json ./ +COPY --from=builder /usr/src/app/README.md ./ +COPY --from=builder /usr/src/app/dist ./dist +COPY --from=builder /usr/src/app/apify.json ./apify.json +COPY --from=builder /usr/src/app/INPUT_SCHEMA.json ./INPUT_SCHEMA.json + +# install only prod deps +RUN npm --quiet set progress=false \ + && npm install --only=prod --no-optional \ + && echo "Installed NPM packages:" \ + && (npm list --only=prod --no-optional --all || true) \ + && echo "Node.js version:" \ + && node --version \ + && echo "NPM version:" \ + && npm --version + +# run compiled code +CMD npm run start:prod +``` + +## Browser fingerprints + +Previously we had a magical `stealth` option in the puppeteer crawler that enabled several tricks aiming to mimic the real users as much as possible. While this worked to a certain degree, we decided to replace it with generated browser fingerprints. + +In case we don't want to have dynamic fingerprints, we can disable this behaviour via `useFingerprints` in `browserPoolOptions`: + + ```ts +const crawler = new PlaywrightCrawler({ + browserPoolOptions: { + useFingerprints: false, + }, +}); + ``` + +## Session cookie method renames + +Previously, if we wanted to get or add cookies for the session that would be used for the request, we had to call `session.getPuppeteerCookies()` or `session.setPuppeteerCookies()`. Since this method could be used for any of our crawlers, not just `PuppeteerCrawler`, the methods have been renamed to `session.getCookies()` and `session.setCookies()` respectively. Otherwise, their usage is exactly the same! + +## Memory storage + +When we store some data or intermediate state (like the one `RequestQueue` holds), we now use `@crawlee/memory-storage` by default. It is an alternative to the `@apify/storage-local`, that stores the state inside memory (as opposed to SQLite database used by `@apify/storage-local`). While the state is stored in memory, it also dumps it to the file system, so we can observe it, as well as respects the existing data stored in KeyValueStore (e.g. the `INPUT.json` file). + +When we want to run the crawler on Apify platform, we need to use `Actor.init` or `Actor.main`, which will automatically switch the storage client to `ApifyClient` when on the Apify platform. + +We can still use the `@apify/storage-local`, to do it, first install it pass it to the `Actor.init` or `Actor.main` options: + +> `@apify/storage-local` v2.1.0+ is required for Crawlee + +```ts +import { Actor } from 'apify'; +import { ApifyStorageLocal } from '@apify/storage-local'; + +const storage = new ApifyStorageLocal(/* options like `enableWalMode` belong here */); +await Actor.init({ storage }); +``` + +## Purging of the default storage + +Previously the state was preserved between local runs, and we had to use `--purge` argument of the `apify-cli`. With Crawlee, this is now the default behaviour, we purge the storage automatically on `Actor.init/main` call. We can opt out of it via `purge: false` in the `Actor.init` options. + +## Renamed crawler options and interfaces + +Some options were renamed to better reflect what they do. We still support all the old parameter names too, but not at the TS level. + +* `handleRequestFunction` -> `requestHandler` +* `handlePageFunction` -> `requestHandler` +* `handleRequestTimeoutSecs` -> `requestHandlerTimeoutSecs` +* `handlePageTimeoutSecs` -> `requestHandlerTimeoutSecs` +* `requestTimeoutSecs` -> `navigationTimeoutSecs` +* `handleFailedRequestFunction` -> `failedRequestHandler` + +We also renamed the crawling context interfaces, so they follow the same convention and are more meaningful: + +* `CheerioHandlePageInputs` -> `CheerioCrawlingContext` +* `PlaywrightHandlePageFunction` -> `PlaywrightCrawlingContext` +* `PuppeteerHandlePageFunction` -> `PuppeteerCrawlingContext` + +## Context aware helpers + +Some utilities previously available under `Apify.utils` namespace are now moved to the crawling context and are _context aware_. This means they have some parameters automatically filled in from the context, like the current `Request` instance or current `Page` object, or the `RequestQueue` bound to the crawler. + +### Enqueuing links + +One common helper that received more attention is the `enqueueLinks`. As mentioned above, it is context aware - we no longer need pass in the `requestQueue` or `page` arguments (or the cheerio handle `$`). In addition to that, it now offers 3 enqueuing strategies: + +* `EnqueueStrategy.All` (`'all'`): Matches any URLs found +* `EnqueueStrategy.SameHostname` (`'same-hostname'`) Matches any URLs that have the same subdomain as the base URL (default) +* `EnqueueStrategy.SameDomain` (`'same-domain'`) Matches any URLs that have the same domain name. For example, `https://wow.an.example.com` and `https://example.com` will both be matched for a base url of `https://example.com`. + +This means we can even call `enqueueLinks()` without any parameters. By default, it will go through all the links found on current page and filter only those targeting the same subdomain. + +Moreover, we can specify patterns the URL should match via globs: + +```ts +const crawler = new PlaywrightCrawler({ + async requestHandler({ enqueueLinks }) { + await enqueueLinks({ + globs: ['https://crawlee.dev/*/*'], + // we can also use `regexps` and `pseudoUrls` keys here + }); + }, +}); +``` + +## Implicit `RequestQueue` instance + +All crawlers now have the `RequestQueue` instance automatically available via `crawler.getRequestQueue()` method. It will create the instance for you if it does not exist yet. This mean we no longer need to create the `RequestQueue` instance manually, and we can just use `crawler.addRequests()` method described underneath. + +> We can still create the `RequestQueue` explicitly, the `crawler.getRequestQueue()` method will respect that and return the instance provided via crawler options. + +## `crawler.addRequests()` + +We can now add multiple requests in batches. The newly added `addRequests` method will handle everything for us. It enqueues the first 1000 requests and resolves, while continuing with the rest in the background, again in a smaller 1000 items batches, so we don't fall into any API rate limits. This means the crawling will start almost immediately (within few seconds at most), something previously possible only with a combination of `RequestQueue` and `RequestList`. + +```ts +// will resolve right after the initial batch of 1000 requests is added +const result = await crawler.addRequests([/* many requests, can be even millions */]); + +// if we want to wait for all the requests to be added, we can await the `waitForAllRequestsToBeAdded` promise +await result.waitForAllRequestsToBeAdded; +``` + +## Less verbose error logging + +Previously an error thrown from inside request handler resulted in full error object being logged. With Crawlee, we log only the error message as a warning as long as we know the request will be retried. If you want to enable verbose logging like in v2, use the `CRAWLEE_VERBOSE_LOG` env var. + +## `Request.label` shortcut + +Labeling requests used to work via the `Request.userData` object. With Crawlee, we can also use the `Request.label` shortcut. It is implemented as a `get/set` pair, using the value from `Request.userData`. The support for this shortcut is also added to the `enqueueLinks` options interface. + +```ts +async requestHandler({ request, enqueueLinks }) { + if (request.label !== 'DETAIL') { + await enqueueLinks({ + globs: ['...'], + label: 'DETAIL', + }); + } +} +``` + +## Removal of `requestAsBrowser` + +In v1 we replaced the underlying implementation of `requestAsBrowser` to be just a proxy over calling [`got-scraping`](https://github.com/apify/got-scraping) - our custom extension to `got` that tries to mimic the real browsers as much as possible. With v3, we are removing the `requestAsBrowser`, encouraging the use of [`got-scraping`](https://github.com/apify/got-scraping) directly. + +For easier migration, we also added `context.sendRequest()` helper that allows processing the context bound `Request` object through [`got-scraping`](https://github.com/apify/got-scraping): + +```ts +const crawler = new BasicCrawler({ + async requestHandler({ sendRequest, log }) { + // we can use the options parameter to override gotScraping options + const res = await sendRequest({ responseType: 'json' }); + log.info('received body', res.body); + }, +}); +``` + +### How to use `sendRequest()`? + +See [the Got Scraping guide](../guides/got_scraping.mdx). + +### Removed options + +The `useInsecureHttpParser` option has been removed. It's permanently set to `true` in order to better mimic browsers' behavior. + +Got Scraping automatically performs protocol negotiation, hence we removed the `useHttp2` option. It's set to `true` - 100% of browsers nowadays are capable of HTTP/2 requests. Oh, more and more of the web is using it too! + +### Renamed options + +In the `requestAsBrowser` approach, some of the options were named differently. Here's a list of renamed options: + +#### `payload` + +This options represents the body to send. It could be a `string` or a `Buffer`. However, there is no `payload` option anymore. You need to use `body` instead. Or, if you wish to send JSON, `json`. Here's an example: + +```ts +// Before: +await Apify.utils.requestAsBrowser({ …, payload: 'Hello, world!' }); +await Apify.utils.requestAsBrowser({ …, payload: Buffer.from('c0ffe', 'hex') }); +await Apify.utils.requestAsBrowser({ …, json: { hello: 'world' } }); + +// After: +await gotScraping({ …, body: 'Hello, world!' }); +await gotScraping({ …, body: Buffer.from('c0ffe', 'hex') }); +await gotScraping({ …, json: { hello: 'world' } }); +``` + +#### `ignoreSslErrors` + +It has been renamed to `https.rejectUnauthorized`. By default, it's set to `false` for convenience. However, if you want to make sure the connection is secure, you can do the following: + +```ts +// Before: +await Apify.utils.requestAsBrowser({ …, ignoreSslErrors: false }); + +// After: +await gotScraping({ …, https: { rejectUnauthorized: true } }); +``` + +Please note: the meanings are opposite! So we needed to invert the values as well. + +#### `header-generator` options + +`useMobileVersion`, `languageCode` and `countryCode` no longer exist. Instead, you need to use `headerGeneratorOptions` directly: + +```ts +// Before: +await Apify.utils.requestAsBrowser({ + …, + useMobileVersion: true, + languageCode: 'en', + countryCode: 'US', +}); + +// After: +await gotScraping({ + …, + headerGeneratorOptions: { + devices: ['mobile'], // or ['desktop'] + locales: ['en-US'], + }, +}); +``` + +#### `timeoutSecs` + +In order to set a timeout, use `timeout.request` (which is **milliseconds** now). + +```ts +// Before: +await Apify.utils.requestAsBrowser({ + …, + timeoutSecs: 30, +}); + +// After: +await gotScraping({ + …, + timeout: { + request: 30 * 1000, + }, +}); +``` + +#### `throwOnHttpErrors` + +`throwOnHttpErrors` → `throwHttpErrors`. This options throws on unsuccessful HTTP status codes, for example `404`. By default, it's set to `false`. + +#### `decodeBody` + +`decodeBody` → `decompress`. This options decompresses the body. Defaults to `true` - please do not change this or websites will break (unless you know what you're doing!). + +#### `abortFunction` + +This function used to make the promise throw on specific responses, if it returned `true`. However, it wasn't that useful. + +You probably want to cancel the request instead, which you can do in the following way: + +```ts +const promise = gotScraping(…); + +promise.on('request', request => { + // Please note this is not a Got Request instance, but a ClientRequest one. + // https://nodejs.org/api/http.html#class-httpclientrequest + + if (request.protocol !== 'https:') { + // Unsecure request, abort. + promise.cancel(); + + // If you set `isStream` to `true`, please use `stream.destroy()` instead. + } +}); + +const response = await promise; +``` + +## Removal of browser pool plugin mixing + +Previously, you were able to have a browser pool that would mix Puppeteer and Playwright plugins (or even your own custom plugins if you've built any). As of this version, that is no longer allowed, and creating such a browser pool will cause an error to be thrown (it's expected that all plugins that will be used are of the same type). + +:::info Confused? + +As an example, this change disallows a pool to mix Puppeteer with Playwright. You can still create pools that use multiple Playwright plugins, each with a different launcher if you want! + +::: + +## Handling requests outside of browser + +One small feature worth mentioning is the ability to handle requests with browser crawlers outside the browser. To do that, we can use a combination of `Request.skipNavigation` and `context.sendRequest()`. + +Take a look at how to achieve this by checking out the [Skipping navigation for certain requests](../examples/skip-navigation) example! + +## Logging + +Crawlee exports the default `log` instance directly as a named export. We also have a scoped `log` instance provided in the crawling context - this one will log messages prefixed with the crawler name and should be preferred for logging inside the request handler. + +```ts +const crawler = new CheerioCrawler({ + async requestHandler({ log, request }) { + log.info(`Opened ${request.loadedUrl}`); + }, +}); +``` + +## Auto-saved crawler state + +Every crawler instance now has `useState()` method that will return a state object we can use. It will be automatically saved when `persistState` event occurs. The value is cached, so we can freely call this method multiple times and get the exact same reference. No need to worry about saving the value either, as it will happen automatically. + +```ts +const crawler = new CheerioCrawler({ + async requestHandler({ crawler }) { + const state = await crawler.useState({ foo: [] as number[] }); + // just change the value, no need to care about saving it + state.foo.push(123); + }, +}); +``` + +## Apify SDK + +The Apify platform helpers can be now found in the Apify SDK (`apify` NPM package). It exports the `Actor` class that offers following static helpers: + +* `ApifyClient` shortcuts: `addWebhook()`, `call()`, `callTask()`, `metamorph()` +* helpers for running on Apify platform: `init()`, `exit()`, `fail()`, `main()`, `isAtHome()`, `createProxyConfiguration()` +* storage support: `getInput()`, `getValue()`, `openDataset()`, `openKeyValueStore()`, `openRequestQueue()`, `pushData()`, `setValue()` +* events support: `on()`, `off()` +* other utilities: `getEnv()`, `newClient()`, `reboot()` + +`Actor.main` is now just a syntax sugar around calling `Actor.init()` at the beginning and `Actor.exit()` at the end (plus wrapping the user function in try/catch block). All those methods are async and should be awaited - with node 16 we can use the top level await for that. In other words, following is equivalent: + +```ts +import { Actor } from 'apify'; + +await Actor.init(); +// your code +await Actor.exit('Crawling finished!'); +``` + +```ts +import { Actor } from 'apify'; + +await Actor.main(async () => { + // your code +}, { statusMessage: 'Crawling finished!' }); +``` + +`Actor.init()` will conditionally set the storage implementation of Crawlee to the `ApifyClient` when running on the Apify platform, or keep the default (memory storage) implementation otherwise. It will also subscribe to the websocket events (or mimic them locally). `Actor.exit()` will handle the tear down and calls `process.exit()` to ensure our process won't hang indefinitely for some reason. + +### Events + +Apify SDK (v2) exports `Apify.events`, which is an `EventEmitter` instance. With Crawlee, the events are managed by <ApiLink to="core/class/EventManager">`EventManager`</ApiLink> class instead. We can either access it via `Actor.eventManager` getter, or use `Actor.on` and `Actor.off` shortcuts instead. + +```diff +-Apify.events.on(...); ++Actor.on(...); +``` + +> We can also get the <ApiLink to="core/class/EventManager">`EventManager`</ApiLink> instance via `Configuration.getEventManager()`. + +In addition to the existing events, we now have an `exit` event fired when calling `Actor.exit()` (which is called at the end of `Actor.main()`). This event allows you to gracefully shut down any resources when `Actor.exit` is called. + +## Smaller/internal breaking changes + +* `Apify.call()` is now just a shortcut for running `ApifyClient.actor(actorId).call(input, options)`, while also taking the token inside env vars into account +* `Apify.callTask()` is now just a shortcut for running `ApifyClient.task(taskId).call(input, options)`, while also taking the token inside env vars into account +* `Apify.metamorph()` is now just a shortcut for running `ApifyClient.task(taskId).metamorph(input, options)`, while also taking the ACTOR_RUN_ID inside env vars into account +* `Apify.waitForRunToFinish()` has been removed, use `ApifyClient.waitForFinish()` instead +* `Actor.main/init` purges the storage by default +* remove `purgeLocalStorage` helper, move purging to the storage class directly + * `StorageClient` interface now has optional `purge` method + * purging happens automatically via `Actor.init()` (you can opt out via `purge: false` in the options of `init/main` methods) +* `QueueOperationInfo.request` is no longer available +* `Request.handledAt` is now string date in ISO format +* `Request.inProgress` and `Request.reclaimed` are now `Set`s instead of POJOs +* `injectUnderscore` from puppeteer utils has been removed +* `APIFY_MEMORY_MBYTES` is no longer taken into account, use `CRAWLEE_AVAILABLE_MEMORY_RATIO` instead +* some `AutoscaledPool` options are no longer available: + * `cpuSnapshotIntervalSecs` and `memorySnapshotIntervalSecs` has been replaced with top level `systemInfoIntervalMillis` configuration + * `maxUsedCpuRatio` has been moved to the top level configuration +* `ProxyConfiguration.newUrlFunction` can be async. `.newUrl()` and `.newProxyInfo()` now return promises. +* `prepareRequestFunction` and `postResponseFunction` options are removed, use navigation hooks instead +* `gotoFunction` and `gotoTimeoutSecs` are removed +* removed compatibility fix for old/broken request queues with null `Request` props +* `fingerprintsOptions` renamed to `fingerprintOptions` (`fingerprints` -> `fingerprint`). +* `fingerprintOptions` now accept `useFingerprintCache` and `fingerprintCacheSize` (instead of `useFingerprintPerProxyCache` and `fingerprintPerProxyCacheSize`, which are now no longer available). This is because the cached fingerprints are no longer connected to proxy URLs but to sessions. diff --git a/website/versioned_docs/version-3.9/examples/crawl_relative_links.mdx b/website/versioned_docs/version-3.9/examples/crawl_relative_links.mdx index 7281f0c7a1a4..8fb369106b2b 100644 --- a/website/versioned_docs/version-3.9/examples/crawl_relative_links.mdx +++ b/website/versioned_docs/version-3.9/examples/crawl_relative_links.mdx @@ -69,7 +69,7 @@ For instance, hyperlinks like `https://example.com/some/path`, `/absolute/exampl </TabItem> -<TabItem value="same-subdomain" label="Same Subdomain" default> +<TabItem value="same-domain" label="Same Domain" default> :::note Example domains diff --git a/website/versioned_sidebars/version-3.10-sidebars.json b/website/versioned_sidebars/version-3.10-sidebars.json new file mode 100644 index 000000000000..5ca179028f08 --- /dev/null +++ b/website/versioned_sidebars/version-3.10-sidebars.json @@ -0,0 +1,141 @@ +{ + "docs": [ + "quick-start/quick-start", + { + "type": "category", + "label": "Introduction", + "collapsed": false, + "link": { + "type": "doc", + "id": "introduction/introduction" + }, + "items": [ + "introduction/setting-up", + "introduction/first-crawler", + "introduction/adding-urls", + "introduction/real-world-project", + "introduction/crawling", + "introduction/scraping", + "introduction/saving-data", + "introduction/refactoring", + "introduction/deployment" + ] + }, + { + "type": "category", + "label": "Guides", + "link": { + "type": "generated-index", + "title": "Guides", + "slug": "/guides", + "keywords": [ + "guides" + ] + }, + "items": [ + "guides/request-storage", + "guides/result-storage", + "guides/configuration", + "guides/cheerio-crawler-guide", + "guides/javascript-rendering", + "guides/proxy-management", + "guides/session-management", + "guides/scaling-crawlers", + "guides/avoid-blocking", + "guides/jsdom-crawler-guide", + "guides/got-scraping", + "guides/typescript-project", + "guides/docker-images", + "guides/parallel-scraping/parallel-scraping-guide" + ] + }, + { + "type": "category", + "label": "Deployment", + "link": { + "type": "generated-index", + "title": "Deployment guides", + "description": "Here you can find guides on how to deploy your crawlers to various cloud providers.", + "slug": "/deployment" + }, + "items": [ + { + "type": "doc", + "id": "deployment/apify-platform", + "label": "Deploy on Apify" + }, + { + "type": "category", + "label": "Deploy on AWS", + "items": [ + "deployment/aws-cheerio", + "deployment/aws-browsers" + ] + }, + { + "type": "category", + "label": "Deploy to Google Cloud", + "items": [ + "deployment/gcp-cheerio", + "deployment/gcp-browsers" + ] + } + ] + }, + { + "type": "category", + "label": "Examples", + "link": { + "type": "generated-index", + "title": "Examples", + "slug": "/examples", + "keywords": [ + "examples" + ] + }, + "items": [ + { + "type": "autogenerated", + "dirName": "examples" + } + ] + }, + { + "type": "category", + "label": "Experiments", + "link": { + "type": "generated-index", + "title": "Experiments", + "slug": "/experiments", + "keywords": [ + "experiments", + "experimental-features" + ] + }, + "items": [ + { + "type": "autogenerated", + "dirName": "experiments" + } + ] + }, + { + "type": "category", + "label": "Upgrading", + "link": { + "type": "generated-index", + "title": "Upgrading", + "slug": "/upgrading", + "keywords": [ + "upgrading" + ] + }, + "items": [ + { + "type": "autogenerated", + "dirName": "upgrading" + } + ] + } + ] +} diff --git a/website/versions.json b/website/versions.json index 8c6e83011d45..ff9f4697c4e9 100644 --- a/website/versions.json +++ b/website/versions.json @@ -1,4 +1,5 @@ [ + "3.10", "3.9", "3.8", "3.7", diff --git a/website/yarn.lock b/website/yarn.lock index 80059cade50d..b0873364f5a4 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -5,13 +5,6 @@ __metadata: version: 8 cacheKey: 10c0 -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f - languageName: node - linkType: hard - "@algolia/autocomplete-core@npm:1.9.3": version: 1.9.3 resolution: "@algolia/autocomplete-core@npm:1.9.3" @@ -223,10 +216,10 @@ __metadata: languageName: node linkType: hard -"@apify/consts@npm:^2.26.0": - version: 2.26.0 - resolution: "@apify/consts@npm:2.26.0" - checksum: 10c0/34fea5e981432b98192f52e2d03b3322966ea0e6b136513079cad8dbbbea85b1a80ed07f3cacc7386dd17ef971dd1772758983087a58643d4d2a69ff26e4a6db +"@apify/consts@npm:^2.27.0": + version: 2.27.0 + resolution: "@apify/consts@npm:2.27.0" + checksum: 10c0/66f300e9e93d3bb7c4976e38f41327e10e2e6091d053fe22c7cc0986715a4d47db0df0ebca2c40a94ddd4b0ee138b527d400fdb93ba7fb85dfacbdaf1e2926f7 languageName: node linkType: hard @@ -266,13 +259,13 @@ __metadata: languageName: node linkType: hard -"@apify/log@npm:^2.5.0": - version: 2.5.0 - resolution: "@apify/log@npm:2.5.0" +"@apify/log@npm:^2.5.1": + version: 2.5.1 + resolution: "@apify/log@npm:2.5.1" dependencies: - "@apify/consts": "npm:^2.26.0" + "@apify/consts": "npm:^2.27.0" ansi-colors: "npm:^4.1.1" - checksum: 10c0/f63d6ff0ba69f3c944a3f9c7c125dcc61bfbc71a4674cc93549179d2810ca2f31883f6bdc5edc7146048b9e9a2439c478948ba63a51910b3e8f811c8f74df6a4 + checksum: 10c0/c465fc1a2c3a7fda11490ea07463cf17c6646c5763f4b67dc3e3f8e69cc965f36aa839fe5bd26cad416ae4e4b333887f184135e9bcdf9d57b2c3f7f6401f895e languageName: node linkType: hard @@ -284,127 +277,127 @@ __metadata: linkType: hard "@apify/utilities@npm:^2.8.0": - version: 2.10.1 - resolution: "@apify/utilities@npm:2.10.1" + version: 2.10.2 + resolution: "@apify/utilities@npm:2.10.2" dependencies: - "@apify/consts": "npm:^2.26.0" - "@apify/log": "npm:^2.5.0" - checksum: 10c0/8b319bdeff6136dbeb8300a7002fd25124a8f283c23980c5a4f950c83432d2c23ed391a8832dc5923f490e1c35fca86e9328b9882a452da5bb95c5acd4d71f9b + "@apify/consts": "npm:^2.27.0" + "@apify/log": "npm:^2.5.1" + checksum: 10c0/dbc641f0aa14795bdc85b345a06d3507b3ac80fc088e74d551cdc568c83c5106e5dc68a51c2382005409d4ca3c31140012e1605e8f3a2186966aadebdaee5013 languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.23.5, @babel/code-frame@npm:^7.24.1, @babel/code-frame@npm:^7.24.2, @babel/code-frame@npm:^7.8.3": - version: 7.24.2 - resolution: "@babel/code-frame@npm:7.24.2" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.16.0, @babel/code-frame@npm:^7.24.6, @babel/code-frame@npm:^7.8.3": + version: 7.24.6 + resolution: "@babel/code-frame@npm:7.24.6" dependencies: - "@babel/highlight": "npm:^7.24.2" + "@babel/highlight": "npm:^7.24.6" picocolors: "npm:^1.0.0" - checksum: 10c0/d1d4cba89475ab6aab7a88242e1fd73b15ecb9f30c109b69752956434d10a26a52cbd37727c4eca104b6d45227bd1dfce39a6a6f4a14c9b2f07f871e968cf406 + checksum: 10c0/c93c6d1763530f415218c31d07359364397f19b70026abdff766164c21ed352a931cf07f3102c5fb9e04792de319e332d68bcb1f7debef601a02197f90f9ba24 languageName: node linkType: hard -"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.23.5, @babel/compat-data@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/compat-data@npm:7.24.4" - checksum: 10c0/9cd8a9cd28a5ca6db5d0e27417d609f95a8762b655e8c9c97fd2de08997043ae99f0139007083c5e607601c6122e8432c85fe391731b19bf26ad458fa0c60dd3 +"@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/compat-data@npm:7.24.6" + checksum: 10c0/f50abbd4008eb2a5d12139c578809cebbeaeb8e660fb12d546eb2e7c2108ae1836ab8339184a5f5ce0e95bf81bb91e18edce86b387c59db937b01693ec0bc774 languageName: node linkType: hard -"@babel/core@npm:^7.19.6, @babel/core@npm:^7.23.3": - version: 7.24.4 - resolution: "@babel/core@npm:7.24.4" +"@babel/core@npm:^7.21.3, @babel/core@npm:^7.23.3": + version: 7.24.6 + resolution: "@babel/core@npm:7.24.6" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.2" - "@babel/generator": "npm:^7.24.4" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.24.4" - "@babel/parser": "npm:^7.24.4" - "@babel/template": "npm:^7.24.0" - "@babel/traverse": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" + "@babel/code-frame": "npm:^7.24.6" + "@babel/generator": "npm:^7.24.6" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helpers": "npm:^7.24.6" + "@babel/parser": "npm:^7.24.6" + "@babel/template": "npm:^7.24.6" + "@babel/traverse": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/fc136966583e64d6f84f4a676368de6ab4583aa87f867186068655b30ef67f21f8e65a88c6d446a7efd219ad7ffb9185c82e8a90183ee033f6f47b5026641e16 + checksum: 10c0/e0762a8daef7f417494d555929418cfacd6848c7fc3310ec00e6dd8cecac20b7f590e760bfc9365d2af07874a3f5599832f9c9ff7f1a9d126a168f77ba67945a languageName: node linkType: hard -"@babel/generator@npm:^7.23.3, @babel/generator@npm:^7.24.1, @babel/generator@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/generator@npm:7.24.4" +"@babel/generator@npm:^7.23.3, @babel/generator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/generator@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.24.0" + "@babel/types": "npm:^7.24.6" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" jsesc: "npm:^2.5.1" - checksum: 10c0/67a1b2f7cc985aaaa11b01e8ddd4fffa4f285837bc7a209738eb8203aa34bdafeb8507ed75fd883ddbabd641a036ca0a8d984e760f28ad4a9d60bff29d0a60bb + checksum: 10c0/8d71a17b386536582354afba53cc784396458a88cc9f05f0c6de0ec99475f6f539943b3566b2e733820c4928236952473831765e483c25d68cc007a6e604d782 languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-annotate-as-pure@npm:7.22.5" +"@babel/helper-annotate-as-pure@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-annotate-as-pure@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/5a80dc364ddda26b334bbbc0f6426cab647381555ef7d0cd32eb284e35b867c012ce6ce7d52a64672ed71383099c99d32765b3d260626527bb0e3470b0f58e45 + "@babel/types": "npm:^7.24.6" + checksum: 10c0/3fe446e3bd37e5e32152279c84ace4e83815e5b88b9e09a82a83974a0bb22e941d89db26b23aaab4c9eb0f9713772c2f6163feffc1bcb055c4cdb6b67e5dc82f languageName: node linkType: hard -"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.22.15": - version: 7.22.15 - resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.22.15" +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.22.15" - checksum: 10c0/2535e3824ca6337f65786bbac98e562f71699f25532cecd196f027d7698b4967a96953d64e36567956658ad1a05ccbdc62d1ba79ee751c79f4f1d2d3ecc2e01c + "@babel/types": "npm:^7.24.6" + checksum: 10c0/d468ba492163bdcf5b6c53248edcf0aaed6194c0f7bdebef4f29ef626e5b03e9fcc7ed737445eb80a961ec6e687c330e1c5242d8a724efb0af002141f3b3e66c languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.23.6": - version: 7.23.6 - resolution: "@babel/helper-compilation-targets@npm:7.23.6" +"@babel/helper-compilation-targets@npm:^7.22.6, @babel/helper-compilation-targets@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-compilation-targets@npm:7.24.6" dependencies: - "@babel/compat-data": "npm:^7.23.5" - "@babel/helper-validator-option": "npm:^7.23.5" + "@babel/compat-data": "npm:^7.24.6" + "@babel/helper-validator-option": "npm:^7.24.6" browserslist: "npm:^4.22.2" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/ba38506d11185f48b79abf439462ece271d3eead1673dd8814519c8c903c708523428806f05f2ec5efd0c56e4e278698fac967e5a4b5ee842c32415da54bc6fa + checksum: 10c0/4d41150086959f5f4d72d27bae29204192e943537ecb71df1711d1f5d8791358a44f3a5882ed3c8238ba0c874b0b55213af43767e14771765f13b8d15b262432 languageName: node linkType: hard -"@babel/helper-create-class-features-plugin@npm:^7.24.1, @babel/helper-create-class-features-plugin@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/helper-create-class-features-plugin@npm:7.24.4" +"@babel/helper-create-class-features-plugin@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.24.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-member-expression-to-functions": "npm:^7.23.0" - "@babel/helper-optimise-call-expression": "npm:^7.22.5" - "@babel/helper-replace-supers": "npm:^7.24.1" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/helper-member-expression-to-functions": "npm:^7.24.6" + "@babel/helper-optimise-call-expression": "npm:^7.24.6" + "@babel/helper-replace-supers": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" + "@babel/helper-split-export-declaration": "npm:^7.24.6" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/6ebb38375dcd44c79f40008c2de4d023376cf436c135439f15c9c54603c2d6a8ada39b2e07be545da684d9e40b602a0cb0d1670f3877d056deb5f0d786c4bf86 + checksum: 10c0/e6734671bc6a5f3cca4ec46e4cc70238e5a2fa063e51225c2be572f157119002af419b33ea0f846dbb1307370fe9f3aa92d199449abbea5e88e0262513c8a821 languageName: node linkType: hard -"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.22.15, @babel/helper-create-regexp-features-plugin@npm:^7.22.5": - version: 7.22.15 - resolution: "@babel/helper-create-regexp-features-plugin@npm:7.22.15" +"@babel/helper-create-regexp-features-plugin@npm:^7.18.6, @babel/helper-create-regexp-features-plugin@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.24.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" + "@babel/helper-annotate-as-pure": "npm:^7.24.6" regexpu-core: "npm:^5.3.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/8eba4c1b7b94a83e7a82df5c3e504584ff0ba6ab8710a67ecc2c434a7fb841a29c2f5c94d2de51f25446119a1df538fa90b37bd570db22ddd5e7147fe98277c6 + checksum: 10c0/c6e1b07c94b3b93a3f534039da88bc67ec3156080f1959aa07d5d534e9a640de3533e7ded0516dfcbccde955e91687044e6a950852b1d3f402ac5d5001be56cf languageName: node linkType: hard @@ -423,243 +416,242 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-environment-visitor@npm:7.22.20" - checksum: 10c0/e762c2d8f5d423af89bd7ae9abe35bd4836d2eb401af868a63bbb63220c513c783e25ef001019418560b3fdc6d9a6fb67e6c0b650bcdeb3a2ac44b5c3d2bdd94 +"@babel/helper-environment-visitor@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-environment-visitor@npm:7.24.6" + checksum: 10c0/fdcd18ac505ed71f40c05cc992b648a4495b0aa5310a774492a0f74d8dcf3579691102f516561a651d3de6c3a44fe64bfb3049d11c14c5857634ef1823ea409a languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.22.5, @babel/helper-function-name@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-function-name@npm:7.23.0" +"@babel/helper-function-name@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-function-name@npm:7.24.6" dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.23.0" - checksum: 10c0/d771dd1f3222b120518176733c52b7cadac1c256ff49b1889dbbe5e3fed81db855b8cc4e40d949c9d3eae0e795e8229c1c8c24c0e83f27cfa6ee3766696c6428 + "@babel/template": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + checksum: 10c0/5ba2f8db789b3f5a2b2239300a217aa212e303cd7bfad9c8b90563807f49215e8c679e8f8f177b6aaca2038038e29bc702b83839e1f7b4896d79c44a75cac97a languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-hoist-variables@npm:7.22.5" +"@babel/helper-hoist-variables@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-hoist-variables@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/60a3077f756a1cd9f14eb89f0037f487d81ede2b7cfe652ea6869cd4ec4c782b0fb1de01b8494b9a2d2050e3d154d7d5ad3be24806790acfb8cbe2073bf1e208 + "@babel/types": "npm:^7.24.6" + checksum: 10c0/e10ec6b864aaa419ec4934f5fcb5d0cfcc9d0657584a1b6c3c42ada949d44ca6bffcdab433a90ada4396c747e551cca31ba0e565ea005ab3f50964e3817bf6cf languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.23.0": - version: 7.23.0 - resolution: "@babel/helper-member-expression-to-functions@npm:7.23.0" +"@babel/helper-member-expression-to-functions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-member-expression-to-functions@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.23.0" - checksum: 10c0/b810daddf093ffd0802f1429052349ed9ea08ef7d0c56da34ffbcdecbdafac86f95bdea2fe30e0e0e629febc7dd41b56cb5eacc10d1a44336d37b755dac31fa4 + "@babel/types": "npm:^7.24.6" + checksum: 10c0/7595f62978f55921b24de6ed5252fcedbffacfb8271f71e092f38724179ba554cb3a24a4764a1a3890b8a53504c2bee9c99eab81f1f365582739f566c8e28eaa languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.22.15, @babel/helper-module-imports@npm:^7.24.1, @babel/helper-module-imports@npm:^7.24.3": - version: 7.24.3 - resolution: "@babel/helper-module-imports@npm:7.24.3" +"@babel/helper-module-imports@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-module-imports@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.24.0" - checksum: 10c0/052c188adcd100f5e8b6ff0c9643ddaabc58b6700d3bbbc26804141ad68375a9f97d9d173658d373d31853019e65f62610239e3295cdd58e573bdcb2fded188d + "@babel/types": "npm:^7.24.6" + checksum: 10c0/e0db3fbfcd963d138f0792ff626f940a576fcf212d02b8fe6478dccf3421bd1c2a76f8e69c7450c049985e7b63b30be309a24eeeb6ad7c2137a31b676a095a84 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/helper-module-transforms@npm:7.23.3" +"@babel/helper-module-transforms@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-module-transforms@npm:7.24.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-simple-access": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-module-imports": "npm:^7.24.6" + "@babel/helper-simple-access": "npm:^7.24.6" + "@babel/helper-split-export-declaration": "npm:^7.24.6" + "@babel/helper-validator-identifier": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/211e1399d0c4993671e8e5c2b25383f08bee40004ace5404ed4065f0e9258cc85d99c1b82fd456c030ce5cfd4d8f310355b54ef35de9924eabfc3dff1331d946 + checksum: 10c0/9e2e3d0ddb397b36b9e8c7d94e175a36be8cb888ef370cefef2cdfd53ae1f87d567b268bd90ed9a6c706485a8de3da19cac577657613e9cd17210b91cbdfb00b languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-optimise-call-expression@npm:7.22.5" +"@babel/helper-optimise-call-expression@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-optimise-call-expression@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/31b41a764fc3c585196cf5b776b70cf4705c132e4ce9723f39871f215f2ddbfb2e28a62f9917610f67c8216c1080482b9b05f65dd195dae2a52cef461f2ac7b8 + "@babel/types": "npm:^7.24.6" + checksum: 10c0/7fce2c4ce22c4ba3c2178d1ce85f34fc9bbe286af5ec153b4b6ea9bf2212390359c4a1e8a54551c4daa4688022d619668bdb8c8060cb185c0c9ad02c5247efc9 languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.24.0 - resolution: "@babel/helper-plugin-utils@npm:7.24.0" - checksum: 10c0/90f41bd1b4dfe7226b1d33a4bb745844c5c63e400f9e4e8bf9103a7ceddd7d425d65333b564d9daba3cebd105985764d51b4bd4c95822b97c2e3ac1201a8a5da +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.24.6, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.24.6 + resolution: "@babel/helper-plugin-utils@npm:7.24.6" + checksum: 10c0/636d3ce8cabc0621c1f78187e1d95f1087209921fa452f76aad06224ef5dffb3d934946f5183109920f32a4b94dd75ac91c63bc52813fee639d10cd54d49ba1f languageName: node linkType: hard -"@babel/helper-remap-async-to-generator@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-remap-async-to-generator@npm:7.22.20" +"@babel/helper-remap-async-to-generator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-remap-async-to-generator@npm:7.24.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-wrap-function": "npm:^7.22.20" + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-wrap-function": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/aa93aa74250b636d477e8d863fbe59d4071f8c2654841b7ac608909e480c1cf3ff7d7af5a4038568829ad09d810bb681668cbe497d9c89ba5c352793dc9edf1e + checksum: 10c0/b379b844eba352ac9487d31867e7bb2b8a264057f1739d9161b614145ea6e60969a7a82e75e5e83089e50cf1b6559f53aa085a787942bf40706fee15a2faa33c languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/helper-replace-supers@npm:7.24.1" +"@babel/helper-replace-supers@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-replace-supers@npm:7.24.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-member-expression-to-functions": "npm:^7.23.0" - "@babel/helper-optimise-call-expression": "npm:^7.22.5" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-member-expression-to-functions": "npm:^7.24.6" + "@babel/helper-optimise-call-expression": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/d39a3df7892b7c3c0e307fb229646168a9bd35e26a72080c2530729322600e8cff5f738f44a14860a2358faffa741b6a6a0d6749f113387b03ddbfa0ec10e1a0 + checksum: 10c0/aaf2dfaf25360da1525ecea5979d5afed201b96f0feeed2e15f90883a97776132a720b25039e67fee10a5c537363aea5cc2a46c0f1d13fdb86d0e920244f2da7 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-simple-access@npm:7.22.5" +"@babel/helper-simple-access@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-simple-access@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/f0cf81a30ba3d09a625fd50e5a9069e575c5b6719234e04ee74247057f8104beca89ed03e9217b6e9b0493434cedc18c5ecca4cea6244990836f1f893e140369 + "@babel/types": "npm:^7.24.6" + checksum: 10c0/b17e404dd6c9787fc7d558aea5222471a77e29596705f0d10b4c2a58b9d71ff7eae915094204848cc1af99b771553caa69337a768b9abdd82b54a0050ba83eb9 languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.22.5" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/ab7fa2aa709ab49bb8cd86515a1e715a3108c4bb9a616965ba76b43dc346dee66d1004ccf4d222b596b6224e43e04cbc5c3a34459501b388451f8c589fbc3691 + "@babel/types": "npm:^7.24.6" + checksum: 10c0/6928f698362d6082a67ee2bc73991ef6b0cc6b5f2854177389bc8f3c09296580f0ee20134dd1a29dfcb1906ad9e346fa0f7c6fcd7589ab3ff176d4f09504577f languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.22.6": - version: 7.22.6 - resolution: "@babel/helper-split-export-declaration@npm:7.22.6" +"@babel/helper-split-export-declaration@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-split-export-declaration@npm:7.24.6" dependencies: - "@babel/types": "npm:^7.22.5" - checksum: 10c0/d83e4b623eaa9622c267d3c83583b72f3aac567dc393dda18e559d79187961cb29ae9c57b2664137fc3d19508370b12ec6a81d28af73a50e0846819cb21c6e44 + "@babel/types": "npm:^7.24.6" + checksum: 10c0/53a5dd8691fdffc89cc7fcf5aed0ad1d8bc39796a5782a3d170dcbf249eb5c15cc8a290e8d09615711d18798ad04a7d0694ab5195d35fa651abbc1b9c885d6a8 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.23.4": - version: 7.24.1 - resolution: "@babel/helper-string-parser@npm:7.24.1" - checksum: 10c0/2f9bfcf8d2f9f083785df0501dbab92770111ece2f90d120352fda6dd2a7d47db11b807d111e6f32aa1ba6d763fe2dc6603d153068d672a5d0ad33ca802632b2 +"@babel/helper-string-parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-string-parser@npm:7.24.6" + checksum: 10c0/95115bf676e92c4e99166395649108d97447e6cabef1fabaec8cdbc53a43f27b5df2268ff6534439d405bc1bd06685b163eb3b470455bd49f69159dada414145 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e +"@babel/helper-validator-identifier@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-identifier@npm:7.24.6" + checksum: 10c0/d29d2e3fca66c31867a009014169b93f7bc21c8fc1dd7d0b9d85d7a4000670526ff2222d966febb75a6e12f9859a31d1e75b558984e28ecb69651314dd0a6fd1 languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.23.5": - version: 7.23.5 - resolution: "@babel/helper-validator-option@npm:7.23.5" - checksum: 10c0/af45d5c0defb292ba6fd38979e8f13d7da63f9623d8ab9ededc394f67eb45857d2601278d151ae9affb6e03d5d608485806cd45af08b4468a0515cf506510e94 +"@babel/helper-validator-option@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-option@npm:7.24.6" + checksum: 10c0/787268dff5cf77f3b704454b96ab7b58aa4f43b2808247e51859a103a1c28a9c252100f830433f4b37a73f4a61ba745bbeef4cdccbab48c1e9adf037f4ca3491 languageName: node linkType: hard -"@babel/helper-wrap-function@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-wrap-function@npm:7.22.20" +"@babel/helper-wrap-function@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-wrap-function@npm:7.24.6" dependencies: - "@babel/helper-function-name": "npm:^7.22.5" - "@babel/template": "npm:^7.22.15" - "@babel/types": "npm:^7.22.19" - checksum: 10c0/97b5f42ff4d305318ff2f99a5f59d3e97feff478333b2d893c4f85456d3c66372070f71d7bf9141f598c8cf2741c49a15918193633c427a88d170d98eb8c46eb + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/template": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + checksum: 10c0/d32844275a544a8e7c71c13e9832d34d80656aafce659dc6c23b02e14d1c1179d8045125ded5096da1a99de83299ffb48211183d0403da2c8584ed55dc0ab646 languageName: node linkType: hard -"@babel/helpers@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/helpers@npm:7.24.4" +"@babel/helpers@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helpers@npm:7.24.6" dependencies: - "@babel/template": "npm:^7.24.0" - "@babel/traverse": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" - checksum: 10c0/747ef62b7fe87de31a2f3c19ff337a86cbb79be2f6c18af63133b614ab5a8f6da5b06ae4b06fb0e71271cb6a27efec6f8b6c9f44c60b8a18777832dc7929e6c5 + "@babel/template": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + checksum: 10c0/e5b5c0919fd6fa56ae11c15a72962d8de0ac19db524849554af28cf08ac32f9ae5aee49a43146eb150f54418cefb8e890fa2b2f33d029434dc7777dbcdfd5bac languageName: node linkType: hard -"@babel/highlight@npm:^7.24.2": - version: 7.24.2 - resolution: "@babel/highlight@npm:7.24.2" +"@babel/highlight@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/highlight@npm:7.24.6" dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-validator-identifier": "npm:^7.24.6" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/98ce00321daedeed33a4ed9362dc089a70375ff1b3b91228b9f05e6591d387a81a8cba68886e207861b8871efa0bc997ceabdd9c90f6cce3ee1b2f7f941b42db + checksum: 10c0/5bbc31695e5d44e97feb267f7aaf4c52908560d184ffeb2e2e57aae058d40125592931883889413e19def3326895ddb41ff45e090fa90b459d8c294b4ffc238c languageName: node linkType: hard -"@babel/parser@npm:^7.24.0, @babel/parser@npm:^7.24.1, @babel/parser@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/parser@npm:7.24.4" +"@babel/parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/parser@npm:7.24.6" bin: parser: ./bin/babel-parser.js - checksum: 10c0/8381e1efead5069cb7ed2abc3a583f4a86289b2f376c75cecc69f59a8eb36df18274b1886cecf2f97a6a0dff5334b27330f58535be9b3e4e26102cc50e12eac8 + checksum: 10c0/cbef70923078a20fe163b03f4a6482be65ed99d409a57f3091a23ce3a575ee75716c30e7ea9f40b692ac5660f34055f4cbeb66a354fad15a6cf1fca35c3496c5 languageName: node linkType: hard -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.4" +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-bugfix-firefox-class-in-computed-class-key@npm:7.24.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/9aed453a1a21e4fd29add0b4a2d82a2c6f43a47c80d28411f8327f2a714064bc93a6f622c701d263970e0d72d7901d28f7f51e91ba91a31306efe8f17c411182 + checksum: 10c0/0dbf12de5a7e5d092271124f0d9bff1ceb94871d5563041940512671cd40ab2a93d613715ee37076cd8263cf49579afb805faa3189996c11639bb10d3e9837f1 languageName: node linkType: hard -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.24.1" +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/d4e592e6fc4878654243d2e7b51ea86471b868a8cb09de29e73b65d2b64159990c6c198fd7c9c2af2e38b1cddf70206243792853c47384a84f829dada152f605 + checksum: 10c0/b0a03d4f587e1fa92312c912864a0af3f68bfc87367b7c93770e94f171767d563d7adfca7ad571d20cd755e89e1373e7414973ce30e694e7b6eb8f57d2b1b889 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.1" +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.1" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.13.0 - checksum: 10c0/351c36e45795a7890d610ab9041a52f4078a59429f6e74c281984aa44149a10d43e82b3a8172c703c0d5679471e165d1c02b6d2e45a677958ee301b89403f202 + checksum: 10c0/fdd40fdf7e87f3dbc5396c9a8f92005798865f6f20d2c24c33246ac43aab8df93742b63dfcfcda67c0a5cf1f7b8a987fdbccaceb9ccbb9a67bef10012b522390 languageName: node linkType: hard -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.24.1" +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@npm:7.24.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/d7dd5a59a54635a3152895dcaa68f3370bb09d1f9906c1e72232ff759159e6be48de4a598a993c986997280a2dc29922a48aaa98020f16439f3f57ad72788354 + checksum: 10c0/cc1e8ee138c71e78ec262a5198d2cf75c305f2fb4ea9771ebd4ded47f51bc1bacbf917db3cb28c681e7499a07f9803ab0bbe5ad50b9576cbe03902189e3871ed languageName: node linkType: hard @@ -727,25 +719,25 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-import-assertions@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.1" +"@babel/plugin-syntax-import-assertions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-import-assertions@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/72f0340d73e037f0702c61670054e0af66ece7282c5c2f4ba8de059390fee502de282defdf15959cd9f71aa18dc5c5e4e7a0fde317799a0600c6c4e0a656d82b + checksum: 10c0/8e81c7cd3d5812a3dda32f06f84492a1b5640f42c594619ed57bf4017529889f87bfb4e8e95c50ba1527d89501dae71a0c73770502676545c2cd9ce58ce3258d languageName: node linkType: hard -"@babel/plugin-syntax-import-attributes@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.1" +"@babel/plugin-syntax-import-attributes@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/309634e3335777aee902552b2cf244c4a8050213cc878b3fb9d70ad8cbbff325dc46ac5e5791836ff477ea373b27832238205f6ceaff81f7ea7c4c7e8fbb13bb + checksum: 10c0/c4d8554b89c0daa6d3c430582b98c10a3af2de8eab484082e97cb73f2712780ab6dd8d11d783c4b266efef76f4479abf4944ef8f416a4459b05eecaf438f8774 languageName: node linkType: hard @@ -771,14 +763,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-jsx@npm:^7.23.3, @babel/plugin-syntax-jsx@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-syntax-jsx@npm:7.24.1" +"@babel/plugin-syntax-jsx@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-jsx@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6cec76fbfe6ca81c9345c2904d8d9a8a0df222f9269f0962ed6eb2eb8f3f10c2f15e993d1ef09dbaf97726bf1792b5851cf5bd9a769f966a19448df6be95d19a + checksum: 10c0/f00d783a9e2d52f0a8797823a3cbdbe2d0dc09c7235fe8c88e6dce3a02f234f52fb5e976a001cc30b0e2b330590b5680f54436e56d67f9ab05d1e4bdeb3992cd languageName: node linkType: hard @@ -870,14 +862,14 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-typescript@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-syntax-typescript@npm:7.24.1" +"@babel/plugin-syntax-typescript@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-syntax-typescript@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7a81e277dcfe3138847e8e5944e02a42ff3c2e864aea6f33fd9b70d1556d12b0e70f0d56cc1985d353c91bcbf8fe163e6cc17418da21129b7f7f1d8b9ac00c93 + checksum: 10c0/b1eeabf8bebfa78cea559c0a0d55e480fe2ebd799472d1f6bd5afbd2759d02b362d29ad30009c81d5b112797beb987e58a3000d2331adaa4bf03862e1ed18cef languageName: node linkType: hard @@ -893,695 +885,695 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-arrow-functions@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.1" +"@babel/plugin-transform-arrow-functions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f44bfacf087dc21b422bab99f4e9344ee7b695b05c947dacae66de05c723ab9d91800be7edc1fa016185e8c819f3aca2b4a5f66d8a4d1e47d9bad80b8fa55b8e + checksum: 10c0/46250eb3f535327825db323740a301b76b882b70979f1fb5f89cbb1a820378ab68ee880b912981dd5276dd116deaaee0f4a2a95f1c9cf537a67749fd4209a2d3 languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.24.3": - version: 7.24.3 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.24.3" +"@babel/plugin-transform-async-generator-functions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.24.6" dependencies: - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-remap-async-to-generator": "npm:^7.24.6" "@babel/plugin-syntax-async-generators": "npm:^7.8.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/55ceed059f819dcccbfe69600bfa1c055ada466bd54eda117cfdd2cf773dd85799e2f6556e4a559b076e93b9704abcca2aef9d72aad7dc8a5d3d17886052f1d3 + checksum: 10c0/8876431855220ccfbf1ae510a4a7c4e0377b21189d3f73ea6dde5ffd31eee57f03ea2b2d1da59b6a36b6e107e41b38d0c1d1bb015e0d1c2c2fb627962260edb7 languageName: node linkType: hard -"@babel/plugin-transform-async-to-generator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.1" +"@babel/plugin-transform-async-to-generator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.24.6" dependencies: - "@babel/helper-module-imports": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-remap-async-to-generator": "npm:^7.22.20" + "@babel/helper-module-imports": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-remap-async-to-generator": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3731ba8e83cbea1ab22905031f25b3aeb0b97c6467360a2cc685352f16e7c786417d8883bc747f5a0beff32266bdb12a05b6292e7b8b75967087200a7bc012c4 + checksum: 10c0/52c137668e7a35356c3b1caf25ab3bf90ff61199885bfd9f0232bfe168a53a5cf0ca4c1e283c27e44ad76cc366b73e4ff7042241469d1944c7042fb78c57bfd8 languageName: node linkType: hard -"@babel/plugin-transform-block-scoped-functions@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.1" +"@babel/plugin-transform-block-scoped-functions@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6fbaa85f5204f34845dfc0bebf62fdd3ac5a286241c85651e59d426001e7a1785ac501f154e093e0b8ee49e1f51e3f8b06575a5ae8d4a9406d43e4816bf18c37 + checksum: 10c0/0c761b5e3a2959b63edf47d67f6752e01f24777ad1accd82457a2dca059877f8a8297fbc7a062db6b48836309932f2ac645c507070ef6ad4e765b3600822c048 languageName: node linkType: hard -"@babel/plugin-transform-block-scoping@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/plugin-transform-block-scoping@npm:7.24.4" +"@babel/plugin-transform-block-scoping@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-block-scoping@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/62f55fd1b60a115506e9553c3bf925179b1ab8a42dc31471c4e3ada20573a488b5c5e3317145da352493ef07f1d9750ce1f8a49cb3f39489ac1ab42e5ddc883d + checksum: 10c0/95c25e501c4553515f92d4e86032a8859a8855cea8aafb6df30f956979caa70af1e126e6dfaf9e51328d1306232ff1e081bda7d84a9aaf23f418d9da120c7018 languageName: node linkType: hard -"@babel/plugin-transform-class-properties@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-class-properties@npm:7.24.1" +"@babel/plugin-transform-class-properties@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-class-properties@npm:7.24.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/00dff042ac9df4ae67b5ef98b1137cc72e0a24e6d911dc200540a8cb1f00b4cff367a922aeb22da17da662079f0abcd46ee1c5f4cdf37ceebf6ff1639bb9af27 + checksum: 10c0/ae01e00dd528112d542a77f0f1cf6b43726553d2011bbdec9e4fac441dfa161d44bf14449dc4121b45cc971686a8c652652032594e83c5d6cab8e9fd794eecb2 languageName: node linkType: hard -"@babel/plugin-transform-class-static-block@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/plugin-transform-class-static-block@npm:7.24.4" +"@babel/plugin-transform-class-static-block@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-class-static-block@npm:7.24.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.4" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.12.0 - checksum: 10c0/19dfeaf4a2ac03695034f7211a8b5ad89103b224608ac3e91791055107c5fe4d7ebe5d9fbb31b4a91265694af78762260642eb270f4b239c175984ee4b253f80 + checksum: 10c0/425f237faf62b531d973f23ac3eefe3f29c4f6c988c33c2dd660b6dfb61d4ed1e865a5088574742d87ed02437d26aa6ec6b107468b7df35ca9d3082bad742d8f languageName: node linkType: hard -"@babel/plugin-transform-classes@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-classes@npm:7.24.1" +"@babel/plugin-transform-classes@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-classes@npm:7.24.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-replace-supers": "npm:^7.24.1" - "@babel/helper-split-export-declaration": "npm:^7.22.6" + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-replace-supers": "npm:^7.24.6" + "@babel/helper-split-export-declaration": "npm:^7.24.6" globals: "npm:^11.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/586a95826be4d68056fa23d8e6c34353ce2ea59bf3ca8cf62bc784e60964d492d76e1b48760c43fd486ffb65a79d3fed9a4f91289e4f526f88c3b6acc0dfb00e + checksum: 10c0/d29c26feea9ad5a64d790aeab1833b7a50d6af2be24140dad7e06510b754b8fe0ffb292d43d96fedaf7765fcb90c0034ac7c42635f814d9235697431076a1cf0 languageName: node linkType: hard -"@babel/plugin-transform-computed-properties@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-computed-properties@npm:7.24.1" +"@babel/plugin-transform-computed-properties@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-computed-properties@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/template": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/template": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8292c508b656b7722e2c2ca0f6f31339852e3ed2b9b80f6e068a4010e961b431ca109ecd467fc906283f4b1574c1e7b1cb68d35a4dea12079d386c15ff7e0eac + checksum: 10c0/c464144c2eda8d526d70c8d8e3bf30820f591424991452f816617347ef3ccc5d04133c6e903b90c1d832d95d9c8550e5693ea40ea14856ede54fb8e1cd36c5de languageName: node linkType: hard -"@babel/plugin-transform-destructuring@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-destructuring@npm:7.24.1" +"@babel/plugin-transform-destructuring@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-destructuring@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a08e706a9274a699abc3093f38c72d4a5354eac11c44572cc9ea049915b6e03255744297069fd94fcce82380725c5d6b1b11b9a84c0081aa3aa6fc2fdab98ef6 + checksum: 10c0/1fcc064e2b0c45a4340418bd70d2cf2b3644d1215eb975ec14f83e4f7615fdc3948e355db5091f81602f6c3d933f9308caa66232091aad4edd6c16b00240fcc7 languageName: node linkType: hard -"@babel/plugin-transform-dotall-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.1" +"@babel/plugin-transform-dotall-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.24.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/758def705ec5a87ef910280dc2df5d2fda59dc5d4771c1725c7aed0988ae5b79e29aeb48109120301a3e1c6c03dfac84700469de06f38ca92c96834e09eadf5d + checksum: 10c0/4a2c98f1c22a18754c6ada1486563865690008df2536066d8a146fa58eed8515b607e162c7efb0b8fa062d755e77afea145495046cffdb4ea56194d38f489254 languageName: node linkType: hard -"@babel/plugin-transform-duplicate-keys@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.1" +"@babel/plugin-transform-duplicate-keys@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/41072f57f83a6c2b15f3ee0b6779cdca105ff3d98061efe92ac02d6c7b90fdb6e7e293b8a4d5b9c690d9ae5d3ae73e6bde4596dc4d8c66526a0e5e1abc73c88c + checksum: 10c0/44ddba252f0b9f1f0b1ff8d903bbcf8871246670fb2883f65d09d371d403ce9c3e2e582b94b36506c1d042110b464eb3492e53cd1e87c1d479b145bcc01c04fd languageName: node linkType: hard -"@babel/plugin-transform-dynamic-import@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.1" +"@babel/plugin-transform-dynamic-import@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-dynamic-import@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/7e2834780e9b5251ef341854043a89c91473b83c335358620ca721554877e64e416aeb3288a35f03e825c4958e07d5d00ead08c4490fadc276a21fe151d812f1 + checksum: 10c0/b4411f21112127a02aef15103765e207e4c03e7321d7f4de3522fc181cb377c5abc8484cf0169e6c30f2e51e6c602c09894fa6b15643d24f66273833ef34e4a6 languageName: node linkType: hard -"@babel/plugin-transform-exponentiation-operator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.1" +"@babel/plugin-transform-exponentiation-operator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.24.6" dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f0fc4c5a9add25fd6bf23dabe6752e9b7c0a2b2554933dddfd16601245a2ba332b647951079c782bf3b94c6330e3638b9b4e0227f469a7c1c707446ba0eba6c7 + checksum: 10c0/c4f15518a5d1614dfac0dbadfb99b0f36a98c1c1ff1c39794a105c3c87cfce00689e0943fcb13368b43b00b2eebaa01136ea12fb8600a574720853b5a8a11de7 languageName: node linkType: hard -"@babel/plugin-transform-export-namespace-from@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.1" +"@babel/plugin-transform-export-namespace-from@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-export-namespace-from@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/510bb23b2423d5fbffef69b356e4050929c21a7627e8194b1506dd935c7d9cbbd696c9ae9d7c3bcd7e6e7b69561b0b290c2d72d446327b40fc20ce40bbca6712 + checksum: 10c0/bff16d1800d7e5b38d3a3c8d404cc14442a37383dff7769dcc599a0723b2507647cafe9ba7d9b52d2e2f02a78bb78d149676d8d8ddf7357b160f4096b89ae9c5 languageName: node linkType: hard -"@babel/plugin-transform-for-of@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-for-of@npm:7.24.1" +"@babel/plugin-transform-for-of@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-for-of@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e4bc92b1f334246e62d4bde079938df940794db564742034f6597f2e38bd426e11ae8c5670448e15dd6e45c462f2a9ab3fa87259bddf7c08553ffd9457fc2b2c + checksum: 10c0/c8def2a160783c5c4a1c136c721fc88aca9cd3757a60f1c885a804b5320edb5f143d3f989f698bdd9aae359fdabab0830dba3d35138cea42988a77d2c72c8443 languageName: node linkType: hard -"@babel/plugin-transform-function-name@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-function-name@npm:7.24.1" +"@babel/plugin-transform-function-name@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-function-name@npm:7.24.6" dependencies: - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/65c1735ec3b5e43db9b5aebf3c16171c04b3050c92396b9e22dda0d2aaf51f43fdcf147f70a40678fd9a4ee2272a5acec4826e9c21bcf968762f4c184897ad75 + checksum: 10c0/efa6527438ad94df0b7a4c92c33110ec40b086a0aceda567176b150ed291f8eb44b2ce697d8e3e1d4841496c10693add1e88f296418e72a171ead5c76b890a47 languageName: node linkType: hard -"@babel/plugin-transform-json-strings@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-json-strings@npm:7.24.1" +"@babel/plugin-transform-json-strings@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-json-strings@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/13d9b6a3c31ab4be853b3d49d8d1171f9bd8198562fd75da8f31e7de31398e1cfa6eb1d073bed93c9746e4f9c47a53b20f8f4c255ece3f88c90852ad3181dc2d + checksum: 10c0/46af52dcc16f494c6c11dc22c944f2533623b9d9dfce5097bc0bdb99535ad4c4cfe5bca0d8ce8c39a94202e69d99ee60f546ce0be0ad782b681c7b5b4c9ddd6f languageName: node linkType: hard -"@babel/plugin-transform-literals@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-literals@npm:7.24.1" +"@babel/plugin-transform-literals@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-literals@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a27cc7d565ee57b5a2bf136fa889c5c2f5988545ae7b3b2c83a7afe5dd37dfac80dca88b1c633c65851ce6af7d2095c04c01228657ce0198f918e64b5ccd01fa + checksum: 10c0/961b64df79a673706d74cf473d1f4646f250b4f8813f9d7ef5d897e30acdacd1ca104584de2e88546289fce055d71bd7559cdb8ad4a2d5e7eea17f3c829faa97 languageName: node linkType: hard -"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.1" +"@babel/plugin-transform-logical-assignment-operators@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-logical-assignment-operators@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/98a2e0843ddfe51443c1bfcf08ba40ad8856fd4f8e397b392a5390a54f257c8c1b9a99d8ffc0fc7e8c55cce45e2cd9c2795a4450303f48f501bcbd662de44554 + checksum: 10c0/0ae7f4098c63f442fd038de6034155bcf20214e7e490e92189decb2980932247b97cb069b11ac8bc471b53f71d6859e607969440d63ff400b8932ee3e05b4958 languageName: node linkType: hard -"@babel/plugin-transform-member-expression-literals@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.1" +"@babel/plugin-transform-member-expression-literals@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/2af731d02aa4c757ef80c46df42264128cbe45bfd15e1812d1a595265b690a44ad036041c406a73411733540e1c4256d8174705ae6b8cfaf757fc175613993fd + checksum: 10c0/ec8908a409bd39d20f0428e35425c9e4c540bad252a0e33e08b84e3bea5088c785531197bdcf049afbdba841325962a93030b7be6da3586cb13d0ca0ebab89c9 languageName: node linkType: hard -"@babel/plugin-transform-modules-amd@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-modules-amd@npm:7.24.1" +"@babel/plugin-transform-modules-amd@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-modules-amd@npm:7.24.6" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/71fd04e5e7026e6e52701214b1e9f7508ba371b757e5075fbb938a79235ed66a54ce65f89bb92b59159e9f03f01b392e6c4de6d255b948bec975a90cfd6809ef + checksum: 10c0/074d26c79f517b27a07fef00319aff9705df1e6b41a805db855fe719e0f246b9815d6525cf1c5f0890c7f830dd0b9776e9b2493bbc929a3c23c0dee15f10a514 languageName: node linkType: hard -"@babel/plugin-transform-modules-commonjs@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.1" +"@babel/plugin-transform-modules-commonjs@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.24.6" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-simple-access": "npm:^7.22.5" + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-simple-access": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/efb3ea2047604a7eb44a9289311ebb29842fe6510ff8b66a77a60440448c65e1312a60dc48191ed98246bdbd163b5b6f3348a0669bcc0e3809e69c7c776b20fa + checksum: 10c0/4fc790136d066105fa773ffc7e249d88c6f0d0126984ede36fedd51ac2b622b46c08565bcdd1ab62ac10195eeedeaba0d26e7e4c676ed50906cbed16540a4e22 languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.1" +"@babel/plugin-transform-modules-systemjs@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.24.6" dependencies: - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-hoist-variables": "npm:^7.24.6" + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-validator-identifier": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/38145f8abe8a4ce2b41adabe5d65eb7bd54a139dc58e2885fec975eb5cf247bd938c1dd9f09145c46dbe57d25dd0ef7f00a020e5eb0cbe8195b2065d51e2d93d + checksum: 10c0/500962e3ac1bb1a9890e94f1967ec9e3aa3d41e22d4a9d1c739918707e4a8936710fd8d0ed4f3a8aad87260f7566b54566bead77977eb21e90124835cb6bcdca languageName: node linkType: hard -"@babel/plugin-transform-modules-umd@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-modules-umd@npm:7.24.1" +"@babel/plugin-transform-modules-umd@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-modules-umd@npm:7.24.6" dependencies: - "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-module-transforms": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/14c90c58562b54e17fe4a8ded3f627f9a993648f8378ef00cb2f6c34532032b83290d2ad54c7fff4f0c2cd49091bda780f8cc28926ec4b77a6c2141105a2e699 + checksum: 10c0/73c6cecb4f45ca3f665e2c57b6d04d65358518522dfaffb9b6913c026aeb704281d015324d02bf07f2cb026de6bac9308c62e82979364bd39f3687f752652b0d languageName: node linkType: hard -"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.22.5" +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.24.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.5" - "@babel/helper-plugin-utils": "npm:^7.22.5" + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b0b072bef303670b5a98307bc37d1ac326cb7ad40ea162b89a03c2ffc465451be7ef05be95cb81ed28bfeb29670dc98fe911f793a67bceab18b4cb4c81ef48f3 + checksum: 10c0/92547309d81938488753f87b05a679a7557a1cec253756966044367c268b27311e51efad91724aa3e433cf61626e10bf1008e112998350c2013a87824c4cfe0b languageName: node linkType: hard -"@babel/plugin-transform-new-target@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-new-target@npm:7.24.1" +"@babel/plugin-transform-new-target@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-new-target@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c4cabe628163855f175a8799eb73d692b6f1dc347aae5022af0c253f80c92edb962e48ddccc98b691eff3d5d8e53c9a8f10894c33ba4cebc2e2f8f8fe554fb7a + checksum: 10c0/5e9b9edfbe46489f64013d2bbd422f29acdb8057ccc85e7c759f7cf1415fde6a82ac13a13f0f246defaba6e2f7f4d424178ba78fc02237bdbf7df6692fc1dca8 languageName: node linkType: hard -"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.1" +"@babel/plugin-transform-nullish-coalescing-operator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-nullish-coalescing-operator@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/c8532951506fb031287280cebeef10aa714f8a7cea2b62a13c805f0e0af945ba77a7c87e4bbbe4c37fe973e0e5d5e649cfac7f0374f57efc54cdf9656362a392 + checksum: 10c0/53ab5b16bbcf47e842a48f1f0774d238dae0222c3e1f31653307808048e249ed140cba12dfc280cbc9a577cb3bb5b2f50ca0e3e4ffe5260fcf8c3ca0b83fb21e languageName: node linkType: hard -"@babel/plugin-transform-numeric-separator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.1" +"@babel/plugin-transform-numeric-separator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-numeric-separator@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/15e2b83292e586fb4f5b4b4021d4821a806ca6de2b77d5ad6c4e07aa7afa23704e31b4d683dac041afc69ac51b2461b96e8c98e46311cc1faba54c73f235044f + checksum: 10c0/14863e735fc407e065e1574914864a956b8250a84cfb4704592656763c9455d67034c7745e53066725195d9ed042121f424c4aaee00027791640e2639386b701 languageName: node linkType: hard -"@babel/plugin-transform-object-rest-spread@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.1" +"@babel/plugin-transform-object-rest-spread@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-object-rest-spread@npm:7.24.6" dependencies: - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" - "@babel/plugin-transform-parameters": "npm:^7.24.1" + "@babel/plugin-transform-parameters": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/e301f1a66b63bafc2bce885305cc88ab30ec875b5e2c7933fb7f9cbf0d954685aa10334ffcecf147ba19d6a1d7ffab37baf4ce871849d395941c56fdb3060f73 + checksum: 10c0/1a192b9756ebfa0bc69ad5e285d7d0284963b4b95738ca7721354297329d5c1ab4eb05ff5b198cbfffa3ec00e97a15a712aa7a5011d9407478796966aab54527 languageName: node linkType: hard -"@babel/plugin-transform-object-super@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-object-super@npm:7.24.1" +"@babel/plugin-transform-object-super@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-object-super@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-replace-supers": "npm:^7.24.1" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-replace-supers": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d30e6b9e59a707efd7ed524fc0a8deeea046011a6990250f2e9280516683138e2d13d9c52daf41d78407bdab0378aef7478326f2a15305b773d851cb6e106157 + checksum: 10c0/2e48b9e0a1f3b04b439ede2d0c83bcc5324a81c8bab73c70f0c466cf48061a4ff469f283e2feb17b4cc2e20372c1362253604477ecd77e622192d5d7906aa062 languageName: node linkType: hard -"@babel/plugin-transform-optional-catch-binding@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.1" +"@babel/plugin-transform-optional-catch-binding@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-optional-catch-binding@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/68408b9ef772d9aa5dccf166c86dc4d2505990ce93e03dcfc65c73fb95c2511248e009ba9ccf5b96405fb85de1c16ad8291016b1cc5689ee4becb1e3050e0ae7 + checksum: 10c0/411db3177b1bffd2f9e5b33a6b62e70158380e67d91ff4725755312e8a0a2f2c3fd340c60005295a672115fb593222ab2d7076266aebced6ef087a5505b6f371 languageName: node linkType: hard -"@babel/plugin-transform-optional-chaining@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.1" +"@babel/plugin-transform-optional-chaining@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-optional-chaining@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/b4688795229c9e9ce978eccf979fe515eb4e8d864d2dcd696baa937c8db13e3d46cff664a3cd6119dfe60e261f5d359b10c6783effab7cc91d75d03ad7f43d05 + checksum: 10c0/8ee5a500a2309444d4fb27979857598e9c91d804fe23217c51cc208b1bc6b9cd0650b355b1ebd625f180c5f1dc4cb89b5f313c982f7c89d90281a69b24a88ccb languageName: node linkType: hard -"@babel/plugin-transform-parameters@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-parameters@npm:7.24.1" +"@babel/plugin-transform-parameters@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-parameters@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/eee8d2f72d3ee0876dc8d85f949f4adf34685cfe36c814ebc20c96315f3891a53d43c764d636b939e34d55e6a6a4af9aa57ed0d7f9439eb5771a07277c669e55 + checksum: 10c0/d9648924b9c0d35a243c0742c22838932a024205c61f4cc419857e5195edd893a33e6be4f2c8fbd89e925051c7cbe8968029ec2d3e7f2f098bfa682f4e2b9731 languageName: node linkType: hard -"@babel/plugin-transform-private-methods@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-private-methods@npm:7.24.1" +"@babel/plugin-transform-private-methods@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-private-methods@npm:7.24.6" dependencies: - "@babel/helper-create-class-features-plugin": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d8e18587d2a8b71a795da5e8841b0e64f1525a99ad73ea8b9caa331bc271d69646e2e1e749fd634321f3df9d126070208ddac22a27ccf070566b2efb74fecd99 + checksum: 10c0/55f93959b2e8aeda818db7cdc7dfdcd5076f5bdc8a819566818004a68969fb7297d617f9d108bf76ac232d6056d9f9d20f73ce10380baa43ff1755c5591aa803 languageName: node linkType: hard -"@babel/plugin-transform-private-property-in-object@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.1" +"@babel/plugin-transform-private-property-in-object@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-private-property-in-object@npm:7.24.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-create-class-features-plugin": "npm:^7.24.1" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/33d2b9737de7667d7a1b704eef99bfecc6736157d9ea28c2e09010d5f25e33ff841c41d89a4430c5d47f4eb3384e24770fa0ec79600e1e38d6d16e2f9333b4b5 + checksum: 10c0/c9eb9597362b598a91536375a49ba80cdf13461e849680e040898b103f7998c4d33a7832da5afba9fa51e3473f79cf8605f9ace07a887e386b7801797021631b languageName: node linkType: hard -"@babel/plugin-transform-property-literals@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-property-literals@npm:7.24.1" +"@babel/plugin-transform-property-literals@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-property-literals@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3bf3e01f7bb8215a8b6d0081b6f86fea23e3a4543b619e059a264ede028bc58cdfb0acb2c43271271915a74917effa547bc280ac636a9901fa9f2fb45623f87e + checksum: 10c0/d1195d93406b6c400cdbc9ac57a2b8b58c72cc6480cc03656abfc243be0e2a48133cbb96559c2db95b1c78803daeb538277821540fe19e2a9105905e727ef618 languageName: node linkType: hard -"@babel/plugin-transform-react-constant-elements@npm:^7.18.12": - version: 7.24.1 - resolution: "@babel/plugin-transform-react-constant-elements@npm:7.24.1" +"@babel/plugin-transform-react-constant-elements@npm:^7.21.3": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-constant-elements@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/3d1af987605ffb79f6b349862680f28bb3f09300234abe58cf20cd9f1cd3e578de0af3306244c6430126668fdf04ebbe780ac4be2c0b20e84160c57151c6519d + checksum: 10c0/b70fd110cedb0a805d2908adc3c8a5e5abab4574b0892307d8318204b05adfc4fc0a86f95afe709de8f730d032f862328858b37c209e046995e9f14c47a71b61 languageName: node linkType: hard -"@babel/plugin-transform-react-display-name@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-react-display-name@npm:7.24.1" +"@babel/plugin-transform-react-display-name@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-display-name@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/adf1a3cb0df8134533a558a9072a67e34127fd489dfe431c3348a86dd41f3e74861d5d5134bbb68f61a9cdb3f7e79b2acea1346be94ce4d3328a64e5a9e09be1 + checksum: 10c0/e929d054035fa3b7432bd2b3e5cf280ffd8cf60d1ce80c863c5e0b03ad01bf6ae2546575d2da31cca2ab83d9399ac01a351f20e21af5075d9c0d4c893e4a36bd languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-development@npm:^7.22.5": - version: 7.22.5 - resolution: "@babel/plugin-transform-react-jsx-development@npm:7.22.5" +"@babel/plugin-transform-react-jsx-development@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.24.6" dependencies: - "@babel/plugin-transform-react-jsx": "npm:^7.22.5" + "@babel/plugin-transform-react-jsx": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/4d2e9e68383238feb873f6111df972df4a2ebf6256d6f787a8772241867efa975b3980f7d75ab7d750e7eaad4bd454e8cc6e106301fd7572dd389e553f5f69d2 + checksum: 10c0/f899ffa65c7f459a682246a346af0e4132929ffe928cb0d02ae08aac1cf3fb01b2f6e944ef1eaca78f14e94eff935e2bf96aad878030c25ff6de2070a8b72448 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx@npm:^7.22.5, @babel/plugin-transform-react-jsx@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/plugin-transform-react-jsx@npm:7.23.4" +"@babel/plugin-transform-react-jsx@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-jsx@npm:7.24.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-module-imports": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.22.5" - "@babel/plugin-syntax-jsx": "npm:^7.23.3" - "@babel/types": "npm:^7.23.4" + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-module-imports": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-jsx": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8851b3adc515cd91bdb06ff3a23a0f81f0069cfef79dfb3fa744da4b7a82e3555ccb6324c4fa71ecf22508db13b9ff6a0ed96675f95fc87903b9fc6afb699580 + checksum: 10c0/6144f56a76529a82077475583a17be8f0b0b461c83673e650f3894e09dbe2bcdfdbfff089eca2e5e239e119f72cd9562749a9af7eb3f2e3266a730da31cd19f2 languageName: node linkType: hard -"@babel/plugin-transform-react-pure-annotations@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.1" +"@babel/plugin-transform-react-pure-annotations@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-react-pure-annotations@npm:7.24.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/9eb3056fcaadd63d404fd5652b2a3f693bc4758ba753fee5b5c580c7a64346eeeb94e5a4f77a99c76f3cf06d1f1ad6c227647cd0b1219efe3d00cafa5a6e7b2a + checksum: 10c0/7f83c5a3a275dbb9a291dee4642a3a0f2249265346d8d3cc9324fc9ee063c3e35c3853b52752ece603f0ac92b405deb38c4b5307a99a74d3e1c9c32a2cefa465 languageName: node linkType: hard -"@babel/plugin-transform-regenerator@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-regenerator@npm:7.24.1" +"@babel/plugin-transform-regenerator@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-regenerator@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" regenerator-transform: "npm:^0.15.2" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0a333585d7c0b38d31cc549d0f3cf7c396d1d50b6588a307dc58325505ddd4f5446188bc536c4779431b396251801b3f32d6d8e87db8274bc84e8c41950737f7 + checksum: 10c0/d17eaa97514d583866182420024b8c22da2c6ca822bdbf16fe7564121564c1844935592dc3315c73d1f78f7c908a4338b1d783618811e694c9bb6d5f9233e58d languageName: node linkType: hard -"@babel/plugin-transform-reserved-words@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-reserved-words@npm:7.24.1" +"@babel/plugin-transform-reserved-words@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-reserved-words@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/936d6e73cafb2cbb495f6817c6f8463288dbc9ab3c44684b931ebc1ece24f0d55dfabc1a75ba1de5b48843d0fef448dcfdbecb8485e4014f8f41d0d1440c536f + checksum: 10c0/5d2d4c579bd90c60fc6468a1285b3384e7b650b47d41a937a1590d4aecfc28bd945e82704c6e71cc91aa016b7e78c5594290c1c386edf11ec98e09e36235c5ae languageName: node linkType: hard "@babel/plugin-transform-runtime@npm:^7.22.9": - version: 7.24.3 - resolution: "@babel/plugin-transform-runtime@npm:7.24.3" + version: 7.24.6 + resolution: "@babel/plugin-transform-runtime@npm:7.24.6" dependencies: - "@babel/helper-module-imports": "npm:^7.24.3" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-module-imports": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.10.1" babel-plugin-polyfill-regenerator: "npm:^0.6.1" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/ee01967bf405d84bd95ca4089166a18fb23fe9851a6da53dcf712a7f8ba003319996f21f320d568ec76126e18adfaee978206ccda86eef7652d47cc9a052e75e + checksum: 10c0/89c43c1236506ecbfc547b12936283ca41e611430c2d2e6d12bf1cbdb0d80760cdae481951f486946733e1c9ae064cb05f4bc779c65b3288d40963b0c4a20c5c languageName: node linkType: hard -"@babel/plugin-transform-shorthand-properties@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.1" +"@babel/plugin-transform-shorthand-properties@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8273347621183aada3cf1f3019d8d5f29467ba13a75b72cb405bc7f23b7e05fd85f4edb1e4d9f0103153dddb61826a42dc24d466480d707f8932c1923a4c25fa + checksum: 10c0/4141b5da1d0d20d66ca0affaef8dfc45ed5e954bfa9003eb8aa779842599de443b37c2b265da27693f304c35ab68a682b44098e9eea0d39f8f94072ab616657f languageName: node linkType: hard -"@babel/plugin-transform-spread@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-spread@npm:7.24.1" +"@babel/plugin-transform-spread@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-spread@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.22.5" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/50a0302e344546d57e5c9f4dea575f88e084352eeac4e9a3e238c41739eef2df1daf4a7ebbb3ccb7acd3447f6a5ce9938405f98bf5f5583deceb8257f5a673c9 + checksum: 10c0/6d12da05311690c4a73d775688ba6931b441e96e512377a166a60184292edeac0b17f5154a49e2f1d262a3f80b96e064bc9c88c63b2a6125f0a2132eff9ed585 languageName: node linkType: hard -"@babel/plugin-transform-sticky-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.1" +"@babel/plugin-transform-sticky-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/786fe2ae11ef9046b9fa95677935abe495031eebf1274ad03f2054a20adea7b9dbd00336ac0b143f7924bc562e5e09793f6e8613607674b97e067d4838ccc4a0 + checksum: 10c0/2a65f57554f51d3b9cd035513a610f47e46b26dba112b3b9fb42d1c1f2ae153fce8f76294b4721d099817814f57895c656f5b7dccd5df683277da6522c817ee9 languageName: node linkType: hard -"@babel/plugin-transform-template-literals@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-template-literals@npm:7.24.1" +"@babel/plugin-transform-template-literals@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-template-literals@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/f73bcda5488eb81c6e7a876498d9e6b72be32fca5a4d9db9053491a2d1300cd27b889b463fd2558f3cd5826a85ed00f61d81b234aa55cb5a0abf1b6fa1bd5026 + checksum: 10c0/fcde48e9c3ecd7f5f37ceb6908f1edd537d3115fc2f27d187d58fd83b2a13637a1bb3d24589d841529ed081405b951bf1c5d194ea81eff6ad2d88204d153010d languageName: node linkType: hard -"@babel/plugin-transform-typeof-symbol@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.1" +"@babel/plugin-transform-typeof-symbol@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d392f549bfd13414f59feecdf3fb286f266a3eb9107a9de818e57907bda56eed08d1f6f8e314d09bf99252df026a7fd4d5df839acd45078a777abcebaa9a8593 + checksum: 10c0/a24b3a3c7b87c6496ee13d2438effd4645868f054397357ec3cbe92a2f0df4152ac7fd7228cb956576c1b772c0675b065d6ad5f5053c382e97dd022015e9a028 languageName: node linkType: hard -"@babel/plugin-transform-typescript@npm:^7.24.1": - version: 7.24.4 - resolution: "@babel/plugin-transform-typescript@npm:7.24.4" +"@babel/plugin-transform-typescript@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-typescript@npm:7.24.6" dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.22.5" - "@babel/helper-create-class-features-plugin": "npm:^7.24.4" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/plugin-syntax-typescript": "npm:^7.24.1" + "@babel/helper-annotate-as-pure": "npm:^7.24.6" + "@babel/helper-create-class-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/plugin-syntax-typescript": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/fa6625046f219cdc75061025c8031ada75ef631b137f1442e3d0054ba4e63548eb12cf55e2e1f442c889aa5fdd76d0d0b7904fdf812ce4c38748446227acc798 + checksum: 10c0/46b054e4d4253187403e392ef30f4dd624d8486a1992703f5ff1b415d4e8d00f474e35fb77bc7a3a16a17330873cadcd5af4a8493c61b16da2dde212b2788ccd languageName: node linkType: hard -"@babel/plugin-transform-unicode-escapes@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.1" +"@babel/plugin-transform-unicode-escapes@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-unicode-escapes@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/67a72a1ed99639de6a93aead35b1993cb3f0eb178a8991fcef48732c38c9f0279c85bbe1e2e2477b85afea873e738ff0955a35057635ce67bc149038e2d8a28e + checksum: 10c0/0e4038c589b7a63a2469466a25b78aad4ecb7267732e3c953c3055f9a77c7bee859a71983a08b025179f1b094964f2ebbfca1b6c33de4ead90a0b5ef06ddb47e languageName: node linkType: hard -"@babel/plugin-transform-unicode-property-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.1" +"@babel/plugin-transform-unicode-property-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-unicode-property-regex@npm:7.24.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/d9d9752df7d51bf9357c0bf3762fe16b8c841fca9ecf4409a16f15ccc34be06e8e71abfaee1251b7d451227e70e6b873b36f86b090efdb20f6f7de5fdb6c7a05 + checksum: 10c0/bca99e00de91d0460dfcb25f285f3606248acc905193c05587e2862c54ddb790c5d8cb45e80927290390cffbcba7620f8af3e74c5301ff0c1c59ce7d47c5629f languageName: node linkType: hard -"@babel/plugin-transform-unicode-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.1" +"@babel/plugin-transform-unicode-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.24.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/6046ab38e5d14ed97dbb921bd79ac1d7ad9d3286da44a48930e980b16896db2df21e093563ec3c916a630dc346639bf47c5924a33902a06fe3bbb5cdc7ef5f2f + checksum: 10c0/ab6e253cfc38c7e8a2844d7ad46f85fdcbe33610b7f92f71045cf0b040438a08f1f1717ab4b84c480537f54e5478db8b404a4ccc2ff846b4e3ed33d373e3b47a languageName: node linkType: hard -"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.1" +"@babel/plugin-transform-unicode-sets-regex@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/plugin-transform-unicode-sets-regex@npm:7.24.6" dependencies: - "@babel/helper-create-regexp-features-plugin": "npm:^7.22.15" - "@babel/helper-plugin-utils": "npm:^7.24.0" + "@babel/helper-create-regexp-features-plugin": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b6c1f6b90afeeddf97e5713f72575787fcb7179be7b4c961869bfbc66915f66540dc49da93e4369da15596bd44b896d1eb8a50f5e1fd907abd7a1a625901006b + checksum: 10c0/a52e84f85519fed330e88f7a17611064d2b5f1d0fe2823f8113ed312828e69787888bd023f404e8d35d0bb96461e42e19cdc4f0a44d35959bc86c219a3062237 languageName: node linkType: hard -"@babel/preset-env@npm:^7.19.4, @babel/preset-env@npm:^7.22.9": - version: 7.24.4 - resolution: "@babel/preset-env@npm:7.24.4" +"@babel/preset-env@npm:^7.20.2, @babel/preset-env@npm:^7.22.9": + version: 7.24.6 + resolution: "@babel/preset-env@npm:7.24.6" dependencies: - "@babel/compat-data": "npm:^7.24.4" - "@babel/helper-compilation-targets": "npm:^7.23.6" - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-validator-option": "npm:^7.23.5" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.4" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.1" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.1" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.24.1" + "@babel/compat-data": "npm:^7.24.6" + "@babel/helper-compilation-targets": "npm:^7.24.6" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-validator-option": "npm:^7.24.6" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "npm:^7.24.6" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "npm:^7.24.6" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "npm:^7.24.6" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "npm:^7.24.6" "@babel/plugin-proposal-private-property-in-object": "npm:7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators": "npm:^7.8.4" "@babel/plugin-syntax-class-properties": "npm:^7.12.13" "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" "@babel/plugin-syntax-dynamic-import": "npm:^7.8.3" "@babel/plugin-syntax-export-namespace-from": "npm:^7.8.3" - "@babel/plugin-syntax-import-assertions": "npm:^7.24.1" - "@babel/plugin-syntax-import-attributes": "npm:^7.24.1" + "@babel/plugin-syntax-import-assertions": "npm:^7.24.6" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.6" "@babel/plugin-syntax-import-meta": "npm:^7.10.4" "@babel/plugin-syntax-json-strings": "npm:^7.8.3" "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" @@ -1593,54 +1585,54 @@ __metadata: "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" - "@babel/plugin-transform-arrow-functions": "npm:^7.24.1" - "@babel/plugin-transform-async-generator-functions": "npm:^7.24.3" - "@babel/plugin-transform-async-to-generator": "npm:^7.24.1" - "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.1" - "@babel/plugin-transform-block-scoping": "npm:^7.24.4" - "@babel/plugin-transform-class-properties": "npm:^7.24.1" - "@babel/plugin-transform-class-static-block": "npm:^7.24.4" - "@babel/plugin-transform-classes": "npm:^7.24.1" - "@babel/plugin-transform-computed-properties": "npm:^7.24.1" - "@babel/plugin-transform-destructuring": "npm:^7.24.1" - "@babel/plugin-transform-dotall-regex": "npm:^7.24.1" - "@babel/plugin-transform-duplicate-keys": "npm:^7.24.1" - "@babel/plugin-transform-dynamic-import": "npm:^7.24.1" - "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.1" - "@babel/plugin-transform-export-namespace-from": "npm:^7.24.1" - "@babel/plugin-transform-for-of": "npm:^7.24.1" - "@babel/plugin-transform-function-name": "npm:^7.24.1" - "@babel/plugin-transform-json-strings": "npm:^7.24.1" - "@babel/plugin-transform-literals": "npm:^7.24.1" - "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.1" - "@babel/plugin-transform-member-expression-literals": "npm:^7.24.1" - "@babel/plugin-transform-modules-amd": "npm:^7.24.1" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.1" - "@babel/plugin-transform-modules-systemjs": "npm:^7.24.1" - "@babel/plugin-transform-modules-umd": "npm:^7.24.1" - "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" - "@babel/plugin-transform-new-target": "npm:^7.24.1" - "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.1" - "@babel/plugin-transform-numeric-separator": "npm:^7.24.1" - "@babel/plugin-transform-object-rest-spread": "npm:^7.24.1" - "@babel/plugin-transform-object-super": "npm:^7.24.1" - "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.1" - "@babel/plugin-transform-optional-chaining": "npm:^7.24.1" - "@babel/plugin-transform-parameters": "npm:^7.24.1" - "@babel/plugin-transform-private-methods": "npm:^7.24.1" - "@babel/plugin-transform-private-property-in-object": "npm:^7.24.1" - "@babel/plugin-transform-property-literals": "npm:^7.24.1" - "@babel/plugin-transform-regenerator": "npm:^7.24.1" - "@babel/plugin-transform-reserved-words": "npm:^7.24.1" - "@babel/plugin-transform-shorthand-properties": "npm:^7.24.1" - "@babel/plugin-transform-spread": "npm:^7.24.1" - "@babel/plugin-transform-sticky-regex": "npm:^7.24.1" - "@babel/plugin-transform-template-literals": "npm:^7.24.1" - "@babel/plugin-transform-typeof-symbol": "npm:^7.24.1" - "@babel/plugin-transform-unicode-escapes": "npm:^7.24.1" - "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.1" - "@babel/plugin-transform-unicode-regex": "npm:^7.24.1" - "@babel/plugin-transform-unicode-sets-regex": "npm:^7.24.1" + "@babel/plugin-transform-arrow-functions": "npm:^7.24.6" + "@babel/plugin-transform-async-generator-functions": "npm:^7.24.6" + "@babel/plugin-transform-async-to-generator": "npm:^7.24.6" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.24.6" + "@babel/plugin-transform-block-scoping": "npm:^7.24.6" + "@babel/plugin-transform-class-properties": "npm:^7.24.6" + "@babel/plugin-transform-class-static-block": "npm:^7.24.6" + "@babel/plugin-transform-classes": "npm:^7.24.6" + "@babel/plugin-transform-computed-properties": "npm:^7.24.6" + "@babel/plugin-transform-destructuring": "npm:^7.24.6" + "@babel/plugin-transform-dotall-regex": "npm:^7.24.6" + "@babel/plugin-transform-duplicate-keys": "npm:^7.24.6" + "@babel/plugin-transform-dynamic-import": "npm:^7.24.6" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.24.6" + "@babel/plugin-transform-export-namespace-from": "npm:^7.24.6" + "@babel/plugin-transform-for-of": "npm:^7.24.6" + "@babel/plugin-transform-function-name": "npm:^7.24.6" + "@babel/plugin-transform-json-strings": "npm:^7.24.6" + "@babel/plugin-transform-literals": "npm:^7.24.6" + "@babel/plugin-transform-logical-assignment-operators": "npm:^7.24.6" + "@babel/plugin-transform-member-expression-literals": "npm:^7.24.6" + "@babel/plugin-transform-modules-amd": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/plugin-transform-modules-systemjs": "npm:^7.24.6" + "@babel/plugin-transform-modules-umd": "npm:^7.24.6" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.24.6" + "@babel/plugin-transform-new-target": "npm:^7.24.6" + "@babel/plugin-transform-nullish-coalescing-operator": "npm:^7.24.6" + "@babel/plugin-transform-numeric-separator": "npm:^7.24.6" + "@babel/plugin-transform-object-rest-spread": "npm:^7.24.6" + "@babel/plugin-transform-object-super": "npm:^7.24.6" + "@babel/plugin-transform-optional-catch-binding": "npm:^7.24.6" + "@babel/plugin-transform-optional-chaining": "npm:^7.24.6" + "@babel/plugin-transform-parameters": "npm:^7.24.6" + "@babel/plugin-transform-private-methods": "npm:^7.24.6" + "@babel/plugin-transform-private-property-in-object": "npm:^7.24.6" + "@babel/plugin-transform-property-literals": "npm:^7.24.6" + "@babel/plugin-transform-regenerator": "npm:^7.24.6" + "@babel/plugin-transform-reserved-words": "npm:^7.24.6" + "@babel/plugin-transform-shorthand-properties": "npm:^7.24.6" + "@babel/plugin-transform-spread": "npm:^7.24.6" + "@babel/plugin-transform-sticky-regex": "npm:^7.24.6" + "@babel/plugin-transform-template-literals": "npm:^7.24.6" + "@babel/plugin-transform-typeof-symbol": "npm:^7.24.6" + "@babel/plugin-transform-unicode-escapes": "npm:^7.24.6" + "@babel/plugin-transform-unicode-property-regex": "npm:^7.24.6" + "@babel/plugin-transform-unicode-regex": "npm:^7.24.6" + "@babel/plugin-transform-unicode-sets-regex": "npm:^7.24.6" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2: "npm:^0.4.10" babel-plugin-polyfill-corejs3: "npm:^0.10.4" @@ -1649,7 +1641,7 @@ __metadata: semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/72a79d0cd38cb26f143509dd0c58db34b5b1ae90116863f55a404f0eb06a64a3cdcb1abd0b6435fafe463bbf55b82ffcf56aedee91e8d37797bf53e4ae74c413 + checksum: 10c0/d837d294197803d550e48d9458a356853a54a0528e7cdc51c2b8a5d8dfe41c6fbc597b4fc67464615a7385198a3db2e839da15cca7b9502fedf27170fc6ef673 languageName: node linkType: hard @@ -1667,33 +1659,33 @@ __metadata: linkType: hard "@babel/preset-react@npm:^7.18.6, @babel/preset-react@npm:^7.22.5": - version: 7.24.1 - resolution: "@babel/preset-react@npm:7.24.1" + version: 7.24.6 + resolution: "@babel/preset-react@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-validator-option": "npm:^7.23.5" - "@babel/plugin-transform-react-display-name": "npm:^7.24.1" - "@babel/plugin-transform-react-jsx": "npm:^7.23.4" - "@babel/plugin-transform-react-jsx-development": "npm:^7.22.5" - "@babel/plugin-transform-react-pure-annotations": "npm:^7.24.1" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-validator-option": "npm:^7.24.6" + "@babel/plugin-transform-react-display-name": "npm:^7.24.6" + "@babel/plugin-transform-react-jsx": "npm:^7.24.6" + "@babel/plugin-transform-react-jsx-development": "npm:^7.24.6" + "@babel/plugin-transform-react-pure-annotations": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a842abc5a024ed68a0ce4c1244607d40165cb6f8cf1817ebda282e470f20302d81c6a61cb41c1a31aa6c4e99ce93df4dd9e998a8ded1417c25d7480f0e14103a + checksum: 10c0/edc470b86dfcfdedf53feca3f2266bd7f836a300806938a422f4120d39bbdea6a780b9b0a9ac0333e0bb1b8e554699a74cafd135b2a75b02b77ef1b21f7c7f62 languageName: node linkType: hard -"@babel/preset-typescript@npm:^7.18.6, @babel/preset-typescript@npm:^7.22.5": - version: 7.24.1 - resolution: "@babel/preset-typescript@npm:7.24.1" +"@babel/preset-typescript@npm:^7.21.0, @babel/preset-typescript@npm:^7.22.5": + version: 7.24.6 + resolution: "@babel/preset-typescript@npm:7.24.6" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.0" - "@babel/helper-validator-option": "npm:^7.23.5" - "@babel/plugin-syntax-jsx": "npm:^7.24.1" - "@babel/plugin-transform-modules-commonjs": "npm:^7.24.1" - "@babel/plugin-transform-typescript": "npm:^7.24.1" + "@babel/helper-plugin-utils": "npm:^7.24.6" + "@babel/helper-validator-option": "npm:^7.24.6" + "@babel/plugin-syntax-jsx": "npm:^7.24.6" + "@babel/plugin-transform-modules-commonjs": "npm:^7.24.6" + "@babel/plugin-transform-typescript": "npm:^7.24.6" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/0033dc6fbc898ed0d8017c83a2dd5e095c82909e2f83e48cf9f305e3e9287148758c179ad90f27912cf98ca68bfec3643c57c70c0ca34d3a6c50dc8243aef406 + checksum: 10c0/bfcef91ed80d67301301e17a799814457b57bfd0d85d9897dce6df6ed0b0af155c0f5b2af7a1a122a3f36faaaa1de87ccf9954ce06d2f440898ffdfaf18aab86 languageName: node linkType: hard @@ -1705,61 +1697,61 @@ __metadata: linkType: hard "@babel/runtime-corejs3@npm:^7.22.6": - version: 7.24.4 - resolution: "@babel/runtime-corejs3@npm:7.24.4" + version: 7.24.6 + resolution: "@babel/runtime-corejs3@npm:7.24.6" dependencies: core-js-pure: "npm:^3.30.2" regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/121bec9a0b505e2995c4b71cf480167e006e8ee423f77bccc38975bfbfbfdb191192ff03557c18fad6de8f2b85c12c49aaa4b92d1d5fe0c0e136da664129be1e + checksum: 10c0/1f74f282567f8d13cd44acc458d81733ec6a3c4115f47e817fe1a0e7a20d059cd7c6936d533957a51363b12d0a35612f5c5463a98ddd8f086f50a94a42245ff3 languageName: node linkType: hard "@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.22.6, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.8.4": - version: 7.24.4 - resolution: "@babel/runtime@npm:7.24.4" + version: 7.24.6 + resolution: "@babel/runtime@npm:7.24.6" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/785aff96a3aa8ff97f90958e1e8a7b1d47f793b204b47c6455eaadc3f694f48c97cd5c0a921fe3596d818e71f18106610a164fb0f1c71fd68c622a58269d537c + checksum: 10c0/224ad205de33ea28979baaec89eea4c4d4e9482000dd87d15b97859365511cdd4d06517712504024f5d33a5fb9412f9b91c96f1d923974adf9359e1575cde049 languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.24.0": - version: 7.24.0 - resolution: "@babel/template@npm:7.24.0" +"@babel/template@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/template@npm:7.24.6" dependencies: - "@babel/code-frame": "npm:^7.23.5" - "@babel/parser": "npm:^7.24.0" - "@babel/types": "npm:^7.24.0" - checksum: 10c0/9d3dd8d22fe1c36bc3bdef6118af1f4b030aaf6d7d2619f5da203efa818a2185d717523486c111de8d99a8649ddf4bbf6b2a7a64962d8411cf6a8fa89f010e54 + "@babel/code-frame": "npm:^7.24.6" + "@babel/parser": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" + checksum: 10c0/a4d5805770de908b445f7cdcebfcb6eaa07b1ec9c7b78fd3f375a911b1522c249bddae6b96bc4aac24247cc603e3e6cffcf2fe50b4c929dfeb22de289b517525 languageName: node linkType: hard -"@babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.24.1": - version: 7.24.1 - resolution: "@babel/traverse@npm:7.24.1" +"@babel/traverse@npm:^7.22.8, @babel/traverse@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/traverse@npm:7.24.6" dependencies: - "@babel/code-frame": "npm:^7.24.1" - "@babel/generator": "npm:^7.24.1" - "@babel/helper-environment-visitor": "npm:^7.22.20" - "@babel/helper-function-name": "npm:^7.23.0" - "@babel/helper-hoist-variables": "npm:^7.22.5" - "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.24.1" - "@babel/types": "npm:^7.24.0" + "@babel/code-frame": "npm:^7.24.6" + "@babel/generator": "npm:^7.24.6" + "@babel/helper-environment-visitor": "npm:^7.24.6" + "@babel/helper-function-name": "npm:^7.24.6" + "@babel/helper-hoist-variables": "npm:^7.24.6" + "@babel/helper-split-export-declaration": "npm:^7.24.6" + "@babel/parser": "npm:^7.24.6" + "@babel/types": "npm:^7.24.6" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/c087b918f6823776537ba246136c70e7ce0719fc05361ebcbfd16f4e6f2f6f1f8f4f9167f1d9b675f27d12074839605189cc9d689de20b89a85e7c140f23daab + checksum: 10c0/39027d5fc7a241c6b71bb5872c2bdcec53743cd7ef3c151bbe6fd7cf874d15f4bc09e5d7e19e2f534b0eb2c115f5368553885fa4253aa1bc9441c6e5bf9efdaf languageName: node linkType: hard -"@babel/types@npm:^7.20.0, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.4, @babel/types@npm:^7.24.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.24.0 - resolution: "@babel/types@npm:7.24.0" +"@babel/types@npm:^7.21.3, @babel/types@npm:^7.24.6, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.24.6 + resolution: "@babel/types@npm:7.24.6" dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-string-parser": "npm:^7.24.6" + "@babel/helper-validator-identifier": "npm:^7.24.6" to-fast-properties: "npm:^2.0.0" - checksum: 10c0/777a0bb5dbe038ca4c905fdafb1cdb6bdd10fe9d63ce13eca0bd91909363cbad554a53dc1f902004b78c1dcbc742056f877f2c99eeedff647333b1fadf51235d + checksum: 10c0/1d94d92d97ef49030ad7f9e14cfccfeb70b1706dabcaa69037e659ec9d2c3178fb005d2088cce40d88dfc1306153d9157fe038a79ea2be92e5e6b99a59ef80cc languageName: node linkType: hard @@ -1810,9 +1802,9 @@ __metadata: languageName: node linkType: hard -"@docusaurus/core@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/core@npm:3.2.1" +"@docusaurus/core@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/core@npm:3.3.2" dependencies: "@babel/core": "npm:^7.23.3" "@babel/generator": "npm:^7.23.3" @@ -1824,14 +1816,12 @@ __metadata: "@babel/runtime": "npm:^7.22.6" "@babel/runtime-corejs3": "npm:^7.22.6" "@babel/traverse": "npm:^7.22.8" - "@docusaurus/cssnano-preset": "npm:3.2.1" - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/mdx-loader": "npm:3.2.1" - "@docusaurus/react-loadable": "npm:5.5.2" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" - "@svgr/webpack": "npm:^6.5.1" + "@docusaurus/cssnano-preset": "npm:3.3.2" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/mdx-loader": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" autoprefixer: "npm:^10.4.14" babel-loader: "npm:^9.1.3" babel-plugin-dynamic-import-node: "npm:^2.3.3" @@ -1845,8 +1835,8 @@ __metadata: copy-webpack-plugin: "npm:^11.0.0" core-js: "npm:^3.31.1" css-loader: "npm:^6.8.1" - css-minimizer-webpack-plugin: "npm:^4.2.2" - cssnano: "npm:^5.1.15" + css-minimizer-webpack-plugin: "npm:^5.0.1" + cssnano: "npm:^6.1.2" del: "npm:^6.1.1" detect-port: "npm:^1.5.1" escape-html: "npm:^1.0.3" @@ -1866,7 +1856,7 @@ __metadata: prompts: "npm:^2.4.2" react-dev-utils: "npm:^12.0.1" react-helmet-async: "npm:^1.3.0" - react-loadable: "npm:@docusaurus/react-loadable@5.5.2" + react-loadable: "npm:@docusaurus/react-loadable@6.0.0" react-loadable-ssr-addon-v5-slorber: "npm:^1.0.1" react-router: "npm:^5.3.4" react-router-config: "npm:^5.1.1" @@ -1889,39 +1879,39 @@ __metadata: react-dom: ^18.0.0 bin: docusaurus: bin/docusaurus.mjs - checksum: 10c0/f80d56027cf9ca3110eb75c6b416328f083c8ff99cc579e9f389783333b2934286c5748894dff27ead5678b6c3c11ce5db009690c248b130dad26678b68a2730 + checksum: 10c0/d3083b2509b5aa3352a6054028a1785d610582314d669a38dcb949943d6554255c4c6804193f8547106402b8c418c1eed93af49214944b4d795706de38df2b51 languageName: node linkType: hard -"@docusaurus/cssnano-preset@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/cssnano-preset@npm:3.2.1" +"@docusaurus/cssnano-preset@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/cssnano-preset@npm:3.3.2" dependencies: - cssnano-preset-advanced: "npm:^5.3.10" - postcss: "npm:^8.4.26" - postcss-sort-media-queries: "npm:^4.4.1" + cssnano-preset-advanced: "npm:^6.1.2" + postcss: "npm:^8.4.38" + postcss-sort-media-queries: "npm:^5.2.0" tslib: "npm:^2.6.0" - checksum: 10c0/b06c7f8ddcc6e265b09f34f205fc65402514ea9b01e5223b0820ba6df9d68b6778e8ef594262b5aa8d2f0f05728d20cb2539d33bc94c08057131b28b4e3448b6 + checksum: 10c0/645541d6eb3027a3316fc5b2dac1dea469d634cca46e8e10ec9096dcc3550e867f11d620c4a8e37f69a9464b0ff6397d5d01dbcb79fe54449fd1a9e812bc4cfc languageName: node linkType: hard -"@docusaurus/logger@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/logger@npm:3.2.1" +"@docusaurus/logger@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/logger@npm:3.3.2" dependencies: chalk: "npm:^4.1.2" tslib: "npm:^2.6.0" - checksum: 10c0/3b7c9418f9ca570bfcb16690394ff83551db60646cd3c883442d6ce05a88ea27bab70ba4ffe0160a299b03a2d471472668760e429be8f5255f39ec3edab9308b + checksum: 10c0/c9b37e98bb10bbfddd744d098d446cccd62fe04ee03f8ffe8200d8e2164a27fd5432c70ffc2a0ac07b9998f324215ee1f87ded2bfdede7c8ba930cb400360bee languageName: node linkType: hard -"@docusaurus/mdx-loader@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/mdx-loader@npm:3.2.1" +"@docusaurus/mdx-loader@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/mdx-loader@npm:3.3.2" dependencies: - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" "@mdx-js/mdx": "npm:^3.0.0" "@slorber/remark-comment": "npm:^1.0.0" escape-html: "npm:^1.0.3" @@ -1946,38 +1936,37 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/0e392229fb7d340f4c7b368f4b6669d2f4b586fd7ee97cef08a81026ba91f800c120b00afb3cd8cfa3318a1947984ba4bda27aee0eee4f01d2434c210ffdc91b + checksum: 10c0/d01d625f037a5769dc446f3434fb1500c2273dec27f09fe7a307f39930339798ae58fc9e670ab1605cf220dacaa90d61f0a5433747dd462e81270819bdee4eb2 languageName: node linkType: hard -"@docusaurus/module-type-aliases@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/module-type-aliases@npm:3.2.1" +"@docusaurus/module-type-aliases@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/module-type-aliases@npm:3.3.2" dependencies: - "@docusaurus/react-loadable": "npm:5.5.2" - "@docusaurus/types": "npm:3.2.1" + "@docusaurus/types": "npm:3.3.2" "@types/history": "npm:^4.7.11" "@types/react": "npm:*" "@types/react-router-config": "npm:*" "@types/react-router-dom": "npm:*" react-helmet-async: "npm:*" - react-loadable: "npm:@docusaurus/react-loadable@5.5.2" + react-loadable: "npm:@docusaurus/react-loadable@6.0.0" peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/fbf7a9ac5832f45e6afa8356cbe33bc979dce1ae9bc3791056261a5d7b1ad1220ecd7b07d1d7cc6b5b2d8d2b437fb31b4ea7df2ec40aad48f245832ca1b067dd + checksum: 10c0/c119b1ed7c9871ce2196498da20d98089065eb8e0a1302b5024225cd5051ccb07f344a6f680da2b9793769727abba510a3106d0ee338b672baf4a48a24ff4e35 languageName: node linkType: hard -"@docusaurus/plugin-client-redirects@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/plugin-client-redirects@npm:3.2.1" +"@docusaurus/plugin-client-redirects@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/plugin-client-redirects@npm:3.3.2" dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" eta: "npm:^2.2.0" fs-extra: "npm:^11.1.1" lodash: "npm:^4.17.21" @@ -1985,21 +1974,21 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/4a34e22768944fcedaa34eb00db5e3e29c2502c4a92e63bdde1d9b7a4642492287040ec8c55c3f8b977f6cb1cd799f48e32798098d24aab00ef160eb0b11952f + checksum: 10c0/39d197c0e8fb12cc866d186290cae5a6c6fb14b368b689fc73f4e5100feff378e46d5ff3c3999e43fbf6a5acff370650f33df6ae210280ceab3ff5a643785386 languageName: node linkType: hard -"@docusaurus/plugin-content-blog@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/plugin-content-blog@npm:3.2.1" - dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/mdx-loader": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" +"@docusaurus/plugin-content-blog@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/plugin-content-blog@npm:3.3.2" + dependencies: + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/mdx-loader": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" cheerio: "npm:^1.0.0-rc.12" feed: "npm:^4.2.2" fs-extra: "npm:^11.1.1" @@ -2013,22 +2002,22 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/0d918a4e6a447488f9649cb01029cf040653e0d18122df360663a53ccb83f9f342f28597b80514ba9cac9d84d1bbf02d9679fe57d2832b36c59bcf1364977f41 + checksum: 10c0/4627086983c7b9b18735358973a297d16d5aa0c44b6a1f0e6ea82f78b38bf354a3abc6dbb2f5bd14c2946bcec60127a08aca7afe2316a4cd6715bd193a17b9c7 languageName: node linkType: hard -"@docusaurus/plugin-content-docs@npm:3.2.1, @docusaurus/plugin-content-docs@npm:^3.1.0": - version: 3.2.1 - resolution: "@docusaurus/plugin-content-docs@npm:3.2.1" - dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/mdx-loader": "npm:3.2.1" - "@docusaurus/module-type-aliases": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" +"@docusaurus/plugin-content-docs@npm:3.3.2, @docusaurus/plugin-content-docs@npm:^3.1.0": + version: 3.3.2 + resolution: "@docusaurus/plugin-content-docs@npm:3.3.2" + dependencies: + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/mdx-loader": "npm:3.3.2" + "@docusaurus/module-type-aliases": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" "@types/react-router-config": "npm:^5.0.7" combine-promises: "npm:^1.1.0" fs-extra: "npm:^11.1.1" @@ -2040,164 +2029,152 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/1f6412e92623d967d2104e68bd4f59e5c596b4f9726e582fce691d76be4491694f7e8dcbbb700232798f635ebb5a54f37a568b00f4eb91fe79ffc5ef8dcda09b + checksum: 10c0/1bb51d79466caa2b206b4324d2f4e4f3bbc8bc55880c810916d52844ad46a676a02503086f07aeb056cc808deec730cf1b26b79fb1ac97e1028445d45fe7ef23 languageName: node linkType: hard -"@docusaurus/plugin-content-pages@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/plugin-content-pages@npm:3.2.1" +"@docusaurus/plugin-content-pages@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/plugin-content-pages@npm:3.3.2" dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/mdx-loader": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/mdx-loader": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" fs-extra: "npm:^11.1.1" tslib: "npm:^2.6.0" webpack: "npm:^5.88.1" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/cca2ec8d44d3a8d7db39ad728bcb60595feec51e56be14ef7755945421e22ac3faf39fcd3440497b072d282cb0616547da092e2ae46660eae1d4f8dfb268c182 + checksum: 10c0/3c13484b9a785b8496dbc60fbfadbae3fc11fec6171ea22ce4a1a6cdb55d47d4dfe4f4b1297f453a9b8ee28d294203b27a33fbaa2f4a2c3fc9abad2dbaf3185c languageName: node linkType: hard -"@docusaurus/plugin-debug@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/plugin-debug@npm:3.2.1" +"@docusaurus/plugin-debug@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/plugin-debug@npm:3.3.2" dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" fs-extra: "npm:^11.1.1" react-json-view-lite: "npm:^1.2.0" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/a9d4d24802dd326a7b87c4a543488d95816e9cc9b42fc34e2942b5f84507a89c05a43be001214717ef6a06541be86e386f23709ef1f8e776b2948eea4f6b6992 + checksum: 10c0/b7fae8f1338c5696001da23289e91170bc9e5843eafeb16f95c4cfe743a8e9ce645a7c494ce2436cae7078b70db17c99d6c8243f496e0703339d17bbebb4e86a languageName: node linkType: hard -"@docusaurus/plugin-google-analytics@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/plugin-google-analytics@npm:3.2.1" +"@docusaurus/plugin-google-analytics@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/plugin-google-analytics@npm:3.3.2" dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/f8e4081a4501fabcc2a01a6ce9c81a9b329fa5af0819bb3063f84db07211c25cf8f2f899f01c396c93f968cce0bc90b0a4842df078f40c5667b12759696191e3 + checksum: 10c0/a4657c2d51a858cfb0a609ac1e3320353d495799136cac47fe2771246a415a94b50ce5a7baeda64d656729e420d6ad1d165e15b89dbeb26102c168df45e3239f languageName: node linkType: hard -"@docusaurus/plugin-google-gtag@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/plugin-google-gtag@npm:3.2.1" +"@docusaurus/plugin-google-gtag@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/plugin-google-gtag@npm:3.3.2" dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" "@types/gtag.js": "npm:^0.0.12" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/2703c4ba959c1ce9411864822a8579488b5f7bf0ceaedb895c1e8de2b0f18fa605ae0be0d7d2132e766af60077a3dd10ed5f0f4c942a18f2a6a581ae6e8880f9 + checksum: 10c0/8946d1d30270889f775b547eea05ca28e691d9077442d8f908389ff6d2eaafc6988d5ffe03c9323be95ec690561a17a5e444edd4a6f7191f8f4b16256f9d1873 languageName: node linkType: hard -"@docusaurus/plugin-google-tag-manager@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/plugin-google-tag-manager@npm:3.2.1" +"@docusaurus/plugin-google-tag-manager@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/plugin-google-tag-manager@npm:3.3.2" dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/717b2ae183e90106dca2912d532906d7e9dded3d43ff7ce97b5176cc9279735573fa9683a931fe63e41872880bd344a4c718c200a10f53e9a2501a3116b52b5b + checksum: 10c0/b293f978e8d598da2718c8ac5c1773a796df3fc143d4608cd08b293abb83def86e04407faa17180d39512676b1c166f18e71743b05b3e4e057315c8ab74a3b48 languageName: node linkType: hard -"@docusaurus/plugin-sitemap@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/plugin-sitemap@npm:3.2.1" - dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" +"@docusaurus/plugin-sitemap@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/plugin-sitemap@npm:3.3.2" + dependencies: + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" fs-extra: "npm:^11.1.1" sitemap: "npm:^7.1.1" tslib: "npm:^2.6.0" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/24856320dcc039d5081d5c39834111aaa044880b98173c1193a5bef2556ccacf829e3623d48936142073daa58dac8d4220a6e0fa8756897fec811c580f03d491 + checksum: 10c0/947ed4a7d7af386e2ed366465fa5fc872c2be2fa6aa1ff6d53b6cd9d5011016ea02d236638b7f77add7561e34b2f7eb8d9b4766a71cddc0d98f917024f81ccf4 languageName: node linkType: hard -"@docusaurus/preset-classic@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/preset-classic@npm:3.2.1" - dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/plugin-content-blog": "npm:3.2.1" - "@docusaurus/plugin-content-docs": "npm:3.2.1" - "@docusaurus/plugin-content-pages": "npm:3.2.1" - "@docusaurus/plugin-debug": "npm:3.2.1" - "@docusaurus/plugin-google-analytics": "npm:3.2.1" - "@docusaurus/plugin-google-gtag": "npm:3.2.1" - "@docusaurus/plugin-google-tag-manager": "npm:3.2.1" - "@docusaurus/plugin-sitemap": "npm:3.2.1" - "@docusaurus/theme-classic": "npm:3.2.1" - "@docusaurus/theme-common": "npm:3.2.1" - "@docusaurus/theme-search-algolia": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" +"@docusaurus/preset-classic@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/preset-classic@npm:3.3.2" + dependencies: + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/plugin-content-blog": "npm:3.3.2" + "@docusaurus/plugin-content-docs": "npm:3.3.2" + "@docusaurus/plugin-content-pages": "npm:3.3.2" + "@docusaurus/plugin-debug": "npm:3.3.2" + "@docusaurus/plugin-google-analytics": "npm:3.3.2" + "@docusaurus/plugin-google-gtag": "npm:3.3.2" + "@docusaurus/plugin-google-tag-manager": "npm:3.3.2" + "@docusaurus/plugin-sitemap": "npm:3.3.2" + "@docusaurus/theme-classic": "npm:3.3.2" + "@docusaurus/theme-common": "npm:3.3.2" + "@docusaurus/theme-search-algolia": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/e60b408c50082cfdb96dd2d3123919684ec05d77a54c85ad237f56e3ba390c7d3910288df3da56afda900e2904d5e6af28927ae1e1d611815083a2f9bf95b8e0 + checksum: 10c0/465b4cfb8b02d5f003c5f887eefdcc68c9beaf312e65a5539f1dfe9c274e877c49b9ebf6bd830030528d1565cfe0fe7a031f506ff3d52d4769a818aaad0a4c25 languageName: node linkType: hard -"@docusaurus/react-loadable@npm:5.5.2, react-loadable@npm:@docusaurus/react-loadable@5.5.2": - version: 5.5.2 - resolution: "@docusaurus/react-loadable@npm:5.5.2" - dependencies: - "@types/react": "npm:*" - prop-types: "npm:^15.6.2" - peerDependencies: - react: "*" - checksum: 10c0/3f6a335d55c811c4fd40300ff0d87ae88f44f96e9c43a4c3f54f1c19b7a55bae601e43d66f797074e204699fd6abb69affa65fc4c5a819e8f1c2adb8a912da46 - languageName: node - linkType: hard - -"@docusaurus/theme-classic@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/theme-classic@npm:3.2.1" - dependencies: - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/mdx-loader": "npm:3.2.1" - "@docusaurus/module-type-aliases": "npm:3.2.1" - "@docusaurus/plugin-content-blog": "npm:3.2.1" - "@docusaurus/plugin-content-docs": "npm:3.2.1" - "@docusaurus/plugin-content-pages": "npm:3.2.1" - "@docusaurus/theme-common": "npm:3.2.1" - "@docusaurus/theme-translations": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" +"@docusaurus/theme-classic@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/theme-classic@npm:3.3.2" + dependencies: + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/mdx-loader": "npm:3.3.2" + "@docusaurus/module-type-aliases": "npm:3.3.2" + "@docusaurus/plugin-content-blog": "npm:3.3.2" + "@docusaurus/plugin-content-docs": "npm:3.3.2" + "@docusaurus/plugin-content-pages": "npm:3.3.2" + "@docusaurus/theme-common": "npm:3.3.2" + "@docusaurus/theme-translations": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" "@mdx-js/react": "npm:^3.0.0" clsx: "npm:^2.0.0" copy-text-to-clipboard: "npm:^3.2.0" @@ -2214,21 +2191,21 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/bbd137d895fd4fa08bd389012721257766b7d9218249b8a45e92b376ab76f9dd39e5d8d747872fc8a4c0f47d2a7a5f30d838a9c1d331282f7c4f8795dd1abc5c + checksum: 10c0/8a222394521e16381329e621b2697573cbb33108fbc3133b942120483d51bb13afd25b9e3386157eab9b0229352e097b131065b969a76e211de899e59f76f144 languageName: node linkType: hard -"@docusaurus/theme-common@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/theme-common@npm:3.2.1" - dependencies: - "@docusaurus/mdx-loader": "npm:3.2.1" - "@docusaurus/module-type-aliases": "npm:3.2.1" - "@docusaurus/plugin-content-blog": "npm:3.2.1" - "@docusaurus/plugin-content-docs": "npm:3.2.1" - "@docusaurus/plugin-content-pages": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" +"@docusaurus/theme-common@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/theme-common@npm:3.3.2" + dependencies: + "@docusaurus/mdx-loader": "npm:3.3.2" + "@docusaurus/module-type-aliases": "npm:3.3.2" + "@docusaurus/plugin-content-blog": "npm:3.3.2" + "@docusaurus/plugin-content-docs": "npm:3.3.2" + "@docusaurus/plugin-content-pages": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" "@types/history": "npm:^4.7.11" "@types/react": "npm:*" "@types/react-router-config": "npm:*" @@ -2240,22 +2217,22 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/f9da0e73740a6eb94ef6972d2f29fbe69f8924e10a034987c06ba3b64a898b4c52b2e618813d101c2a2608eb7d449eba672ceecad0449c5c8fde54b46255e0f3 + checksum: 10c0/009abd295af15c38045bf50a69c89e04ce07f84b66c5fbd9d8d749cd0442be8032345ec0c1341f50991107f23bc8faac448bd101904ba72705ca097c0aa6d3ee languageName: node linkType: hard -"@docusaurus/theme-search-algolia@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/theme-search-algolia@npm:3.2.1" +"@docusaurus/theme-search-algolia@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/theme-search-algolia@npm:3.3.2" dependencies: "@docsearch/react": "npm:^3.5.2" - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/plugin-content-docs": "npm:3.2.1" - "@docusaurus/theme-common": "npm:3.2.1" - "@docusaurus/theme-translations": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-validation": "npm:3.2.1" + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/plugin-content-docs": "npm:3.3.2" + "@docusaurus/theme-common": "npm:3.3.2" + "@docusaurus/theme-translations": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-validation": "npm:3.3.2" algoliasearch: "npm:^4.18.0" algoliasearch-helper: "npm:^3.13.3" clsx: "npm:^2.0.0" @@ -2267,23 +2244,23 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/47141800c81defe1511e5a7ca87ee1364e49edfbfb1bd181938a486f0d69a745380ba71ecb75a04fe4bb6571f301b60ddaba35007add9a0f8b06dea509b41f3e + checksum: 10c0/9dae7f2bc56d37dd11d712084e29fedbf8cdff5aa5792113d4afbf19bb0368cc63a9a0e31b5d28943e8c63f59d701e8bb8d66dd6c592f02ffaacc364f42e2447 languageName: node linkType: hard -"@docusaurus/theme-translations@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/theme-translations@npm:3.2.1" +"@docusaurus/theme-translations@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/theme-translations@npm:3.3.2" dependencies: fs-extra: "npm:^11.1.1" tslib: "npm:^2.6.0" - checksum: 10c0/b364cf03ba353b7188533539935578c5f7be942a0164fe878bf92bb21bb53a5a36ba3ee9f1dc18ae1a6f7d93b765e57d067ee663c1c749302a92eb5fe17311cf + checksum: 10c0/2b8e54ee7a03bad333111d42d98b1329e138c336408ca236a6ce0472887e148b6fb00f85c9340b6a8f3efec5a3791348e6729c5d98d550dc5bbf6a43e33fc4d7 languageName: node linkType: hard -"@docusaurus/types@npm:3.2.1, @docusaurus/types@npm:^3.1.0": - version: 3.2.1 - resolution: "@docusaurus/types@npm:3.2.1" +"@docusaurus/types@npm:3.3.2, @docusaurus/types@npm:^3.1.0": + version: 3.3.2 + resolution: "@docusaurus/types@npm:3.3.2" dependencies: "@mdx-js/mdx": "npm:^3.0.0" "@types/history": "npm:^4.7.11" @@ -2297,13 +2274,13 @@ __metadata: peerDependencies: react: ^18.0.0 react-dom: ^18.0.0 - checksum: 10c0/ea48d186a2f5a130dcc254147568343c884212e2951c8f34fa0aad123fc70d2da010c0ef8a7e223162d5d0e9a91f14fc7902ce25f9e5c2eed954b47d621ebf4f + checksum: 10c0/195ba6e49927e67796084e5e10e7bae8371a71b52fc433a4f34d099166eb2526510d2ece9d04dc06708262d98556b5df372fb0724e2de55b82cd341943815ffd languageName: node linkType: hard -"@docusaurus/utils-common@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/utils-common@npm:3.2.1" +"@docusaurus/utils-common@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/utils-common@npm:3.3.2" dependencies: tslib: "npm:^2.6.0" peerDependencies: @@ -2311,31 +2288,31 @@ __metadata: peerDependenciesMeta: "@docusaurus/types": optional: true - checksum: 10c0/64a47fd93b6e1b82da6a5e833ece380c474383430466a228263682396763b31dc901ffccfde393450fb9b0e6f6e7f7b98b70afb2c2cf37369ebb0cc2ca12db7c + checksum: 10c0/42b9c69ef4e6793a67c92988f26c6de1c199f5bb7ca54d74b5bf0707205691750f816842af8adac5511208308074459c8ae016a21f560748a9b08f234c2d4521 languageName: node linkType: hard -"@docusaurus/utils-validation@npm:3.2.1": - version: 3.2.1 - resolution: "@docusaurus/utils-validation@npm:3.2.1" +"@docusaurus/utils-validation@npm:3.3.2": + version: 3.3.2 + resolution: "@docusaurus/utils-validation@npm:3.3.2" dependencies: - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/utils": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/utils": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" joi: "npm:^17.9.2" js-yaml: "npm:^4.1.0" tslib: "npm:^2.6.0" - checksum: 10c0/79dd6f85f0a8050ca35da28c7cc86d55c475718eda3bb4cfe5f17cca0da609592157149bab6d2704fdbeaaa2a108834879b28649d590a56fe6b83f1077ccd066 + checksum: 10c0/148c582d91d41f12359d0a49d3c7079483a0215c3e09f7ff88d8bef3016abe14f1e5fb24147fef2c01ff3eb99256bb929b54021680b4d68bce21780ba4a8780d languageName: node linkType: hard -"@docusaurus/utils@npm:3.2.1, @docusaurus/utils@npm:^3.1.0": - version: 3.2.1 - resolution: "@docusaurus/utils@npm:3.2.1" +"@docusaurus/utils@npm:3.3.2, @docusaurus/utils@npm:^3.1.0": + version: 3.3.2 + resolution: "@docusaurus/utils@npm:3.3.2" dependencies: - "@docusaurus/logger": "npm:3.2.1" - "@docusaurus/utils-common": "npm:3.2.1" - "@svgr/webpack": "npm:^6.5.1" + "@docusaurus/logger": "npm:3.3.2" + "@docusaurus/utils-common": "npm:3.3.2" + "@svgr/webpack": "npm:^8.1.0" escape-string-regexp: "npm:^4.0.0" file-loader: "npm:^6.2.0" fs-extra: "npm:^11.1.1" @@ -2357,7 +2334,7 @@ __metadata: peerDependenciesMeta: "@docusaurus/types": optional: true - checksum: 10c0/02e8caff070060d138a2c06e07af988c9905997084b77d1373dbde7dca7122b3cc90979a4c68e5cccc234eb62ba459bca6bb4be5b56d00272d8cf1c5842ff4b6 + checksum: 10c0/7fd713756da205e0ee65049aa419c1b4b55e91b3880f83081a08fa7506f25e5db7cbef2ac8395444d78adb92489665f69f570c4bf510bf37a78e8204f6229dac languageName: node linkType: hard @@ -2535,7 +2512,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": +"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -2652,11 +2629,11 @@ __metadata: linkType: hard "@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e + checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 languageName: node linkType: hard @@ -2756,16 +2733,16 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-add-jsx-attribute@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:6.5.1" +"@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/a13ed0797189d5497890530449029bec388310e260a96459e304e2729e7a2cf4d20d34f882d9a77ccce73dd3d36065afbb6987258fdff618d7d57955065a8ad4 + checksum: 10c0/a50bd0baa34faf16bcba712091f94c7f0e230431fe99a9dfc3401fa92823ad3f68495b86ab9bf9044b53839e8c416cfbb37eb3f246ff33f261e0fa9ee1779c5b languageName: node linkType: hard -"@svgr/babel-plugin-remove-jsx-attribute@npm:*": +"@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0": version: 8.0.0 resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:8.0.0" peerDependencies: @@ -2774,7 +2751,7 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-remove-jsx-empty-expression@npm:*": +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0": version: 8.0.0 resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:8.0.0" peerDependencies: @@ -2783,132 +2760,132 @@ __metadata: languageName: node linkType: hard -"@svgr/babel-plugin-replace-jsx-attribute-value@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:6.5.1" +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:8.0.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/318786787c9a217c33a7340c8856436858e1fffa5a6df635fedc6b9a371f3afea080ea074b9e3cfbbd9dd962ead924fde8bc9855a394c38dd60e391883a58c81 + checksum: 10c0/004bd1892053b7e9c1b0bb14acc44e77634ec393722b87b1e4fae53e2c35122a2dd0d5c15e9070dbeec274e22e7693a2b8b48506733a8009ee92b12946fcb10a languageName: node linkType: hard -"@svgr/babel-plugin-svg-dynamic-title@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:6.5.1" +"@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:8.0.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/16ef228c793b909fec47dd7dc05c1c3c2d77a824f42055df37e141e0534081b1bc4aec6dcc51be50c221df9f262f59270fc1c379923bfd4f5db302abafabfd8d + checksum: 10c0/80e0a7fcf902f984c705051ca5c82ea6050ccbb70b651a8fea6d0eb5809e4dac274b49ea6be2d87f1eb9dfc0e2d6cdfffe1669ec2117f44b67a60a07d4c0b8b8 languageName: node linkType: hard -"@svgr/babel-plugin-svg-em-dimensions@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:6.5.1" +"@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:8.0.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dfdd5cbe6ae543505eaa0da69df0735b7407294c4b0504b3e74c0e7e371f1acb914eb99fd21ff39ef5bd626b3474f064a4cccc50f41b7c556ee834f9a6d6610a + checksum: 10c0/73e92c8277a89279745c0c500f59f083279a8dc30cd552b22981fade2a77628fb2bd2819ee505725fcd2e93f923e3790b52efcff409a159e657b46604a0b9a21 languageName: node linkType: hard -"@svgr/babel-plugin-transform-react-native-svg@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:6.5.1" +"@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:8.1.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/332fbf3bbc19d938b744440dbab9c8acd8f7a2ed6bf9c4e23f40e3f2c25615a60b3bf00902a4f1f6c20b5f382a1547b3acc6f2b2d70d80e532b5d45945f1b979 + checksum: 10c0/655ed6bc7a208ceaa4ecff0a54ccc36008c3cb31efa90d11e171cab325ebbb21aa78f09c7b65f9b3ddeda3a85f348c0c862902c48be13c14b4de165c847974e3 languageName: node linkType: hard -"@svgr/babel-plugin-transform-svg-component@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-plugin-transform-svg-component@npm:6.5.1" +"@svgr/babel-plugin-transform-svg-component@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:8.0.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8d9e1c7c62abce23837e53cdacc6d09bc1f1f2b0ad7322105001c097995e9aa8dca4fa41acf39148af69f342e40081c438106949fb083e997ca497cb0448f27d + checksum: 10c0/4ac00bb99a3db4ef05e4362f116a3c608ee365a2d26cf7318d8d41a4a5b30a02c80455cce0e62c65b60ed815b5d632bedabac2ccd4b56f998fadef5286e3ded4 languageName: node linkType: hard -"@svgr/babel-preset@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/babel-preset@npm:6.5.1" +"@svgr/babel-preset@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/babel-preset@npm:8.1.0" dependencies: - "@svgr/babel-plugin-add-jsx-attribute": "npm:^6.5.1" - "@svgr/babel-plugin-remove-jsx-attribute": "npm:*" - "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:*" - "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:^6.5.1" - "@svgr/babel-plugin-svg-dynamic-title": "npm:^6.5.1" - "@svgr/babel-plugin-svg-em-dimensions": "npm:^6.5.1" - "@svgr/babel-plugin-transform-react-native-svg": "npm:^6.5.1" - "@svgr/babel-plugin-transform-svg-component": "npm:^6.5.1" + "@svgr/babel-plugin-add-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute": "npm:8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression": "npm:8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value": "npm:8.0.0" + "@svgr/babel-plugin-svg-dynamic-title": "npm:8.0.0" + "@svgr/babel-plugin-svg-em-dimensions": "npm:8.0.0" + "@svgr/babel-plugin-transform-react-native-svg": "npm:8.1.0" + "@svgr/babel-plugin-transform-svg-component": "npm:8.0.0" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/8e8d7a0049279152f9ac308fbfd4ce74063d8a376154718cba6309bae4316318804a32201c75c5839c629f8e1e5d641a87822764000998161d0fc1de24b0374a + checksum: 10c0/49367d3ad0831f79b1056871b91766246f449d4d1168623af5e283fbaefce4a01d77ab00de6b045b55e956f9aae27895823198493cd232d88d3435ea4517ffc5 languageName: node linkType: hard -"@svgr/core@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/core@npm:6.5.1" +"@svgr/core@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/core@npm:8.1.0" dependencies: - "@babel/core": "npm:^7.19.6" - "@svgr/babel-preset": "npm:^6.5.1" - "@svgr/plugin-jsx": "npm:^6.5.1" + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" camelcase: "npm:^6.2.0" - cosmiconfig: "npm:^7.0.1" - checksum: 10c0/60cce11e13391171132115dcc8da592d23e51f155ebadf9b819bd1836b8c13d40aa5c30a03a7d429f65e70a71c50669b2e10c94e4922de4e58bc898275f46c05 + cosmiconfig: "npm:^8.1.3" + snake-case: "npm:^3.0.4" + checksum: 10c0/6a2f6b1bc79bce39f66f088d468985d518005fc5147ebf4f108570a933818b5951c2cb7da230ddff4b7c8028b5a672b2d33aa2acce012b8b9770073aa5a2d041 languageName: node linkType: hard -"@svgr/hast-util-to-babel-ast@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/hast-util-to-babel-ast@npm:6.5.1" +"@svgr/hast-util-to-babel-ast@npm:8.0.0": + version: 8.0.0 + resolution: "@svgr/hast-util-to-babel-ast@npm:8.0.0" dependencies: - "@babel/types": "npm:^7.20.0" + "@babel/types": "npm:^7.21.3" entities: "npm:^4.4.0" - checksum: 10c0/18fa37b36581ba1678f5cc5a05ce0411e08df4db267f3cd900af7ffdf5bd90522f3a46465f315cd5d7345264949479133930aafdd27ce05c474e63756196256f + checksum: 10c0/f4165b583ba9eaf6719e598977a7b3ed182f177983e55f9eb55a6a73982d81277510e9eb7ab41f255151fb9ed4edd11ac4bef95dd872f04ed64966d8c85e0f79 languageName: node linkType: hard -"@svgr/plugin-jsx@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/plugin-jsx@npm:6.5.1" +"@svgr/plugin-jsx@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-jsx@npm:8.1.0" dependencies: - "@babel/core": "npm:^7.19.6" - "@svgr/babel-preset": "npm:^6.5.1" - "@svgr/hast-util-to-babel-ast": "npm:^6.5.1" + "@babel/core": "npm:^7.21.3" + "@svgr/babel-preset": "npm:8.1.0" + "@svgr/hast-util-to-babel-ast": "npm:8.0.0" svg-parser: "npm:^2.0.4" peerDependencies: - "@svgr/core": ^6.0.0 - checksum: 10c0/365da6e43ceeff6b49258fa2fbb3c880210300e4a85ba74831e92d2dc9c53e6ab8dda422dc33fb6a339803227cf8d9a0024ce769401c46fd87209abe36d5ae43 + "@svgr/core": "*" + checksum: 10c0/07b4d9e00de795540bf70556fa2cc258774d01e97a12a26234c6fdf42b309beb7c10f31ee24d1a71137239347b1547b8bb5587d3a6de10669f95dcfe99cddc56 languageName: node linkType: hard -"@svgr/plugin-svgo@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/plugin-svgo@npm:6.5.1" +"@svgr/plugin-svgo@npm:8.1.0": + version: 8.1.0 + resolution: "@svgr/plugin-svgo@npm:8.1.0" dependencies: - cosmiconfig: "npm:^7.0.1" - deepmerge: "npm:^4.2.2" - svgo: "npm:^2.8.0" + cosmiconfig: "npm:^8.1.3" + deepmerge: "npm:^4.3.1" + svgo: "npm:^3.0.2" peerDependencies: "@svgr/core": "*" - checksum: 10c0/da40e461145af1a92fd2ec50ea64626681fa73786f218497a4b4fb85393a58812999ca2744ee33bb7ab771aa5ce9ab1dbd08a189cb3d7a89fb58fd96913ddf91 + checksum: 10c0/bfd25460f23f1548bfb8f6f3bedd6d6972c1a4f8881bd35a4f8c115218da6e999e8f9ac0ef0ed88c4e0b93fcec37f382b94c0322f4ec2b26752a89e5cc8b9d7a languageName: node linkType: hard -"@svgr/webpack@npm:^6.5.1": - version: 6.5.1 - resolution: "@svgr/webpack@npm:6.5.1" +"@svgr/webpack@npm:^8.1.0": + version: 8.1.0 + resolution: "@svgr/webpack@npm:8.1.0" dependencies: - "@babel/core": "npm:^7.19.6" - "@babel/plugin-transform-react-constant-elements": "npm:^7.18.12" - "@babel/preset-env": "npm:^7.19.4" + "@babel/core": "npm:^7.21.3" + "@babel/plugin-transform-react-constant-elements": "npm:^7.21.3" + "@babel/preset-env": "npm:^7.20.2" "@babel/preset-react": "npm:^7.18.6" - "@babel/preset-typescript": "npm:^7.18.6" - "@svgr/core": "npm:^6.5.1" - "@svgr/plugin-jsx": "npm:^6.5.1" - "@svgr/plugin-svgo": "npm:^6.5.1" - checksum: 10c0/3e9edfbc2ef3dc07b5f50c9c5ff5c951048511dff9dffb0407e6d15343849dfb36099fc7e1e3911429382cab81f7735a86ba1d6f77d21bb8f9ca33a5dec4824a + "@babel/preset-typescript": "npm:^7.21.0" + "@svgr/core": "npm:8.1.0" + "@svgr/plugin-jsx": "npm:8.1.0" + "@svgr/plugin-svgo": "npm:8.1.0" + checksum: 10c0/4c1cac45bd5890de8643e5a7bfb71f3bcd8b85ae5bbacf10b8ad9f939b7a98e8d601c3ada204ffb95223abf4a24beeac5a2a0d6928a52a1ab72a29da3c015c22 languageName: node linkType: hard @@ -3021,14 +2998,14 @@ __metadata: linkType: hard "@types/express-serve-static-core@npm:*, @types/express-serve-static-core@npm:^4.17.33": - version: 4.19.0 - resolution: "@types/express-serve-static-core@npm:4.19.0" + version: 4.19.1 + resolution: "@types/express-serve-static-core@npm:4.19.1" dependencies: "@types/node": "npm:*" "@types/qs": "npm:*" "@types/range-parser": "npm:*" "@types/send": "npm:*" - checksum: 10c0/38a13dfbb38d18526276e68dae1097eb0ebef296e76bff2a9bf6831c052c2f87797e910c87bd3f0dd1a1b4136241c9d7c841779a00b22576d12aa9b483a63349 + checksum: 10c0/8e202374a7013fbbc5a3abd5111dd7ab73c4a6e9da4ffc1808d6e68be7a1dbd37e013b74e47aa6febc8efa459120058a1cbde6f2d509b2ad28fac301e1ee353a languageName: node linkType: hard @@ -3122,7 +3099,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db @@ -3137,11 +3114,11 @@ __metadata: linkType: hard "@types/mdast@npm:^4.0.0, @types/mdast@npm:^4.0.2": - version: 4.0.3 - resolution: "@types/mdast@npm:4.0.3" + version: 4.0.4 + resolution: "@types/mdast@npm:4.0.4" dependencies: "@types/unist": "npm:*" - checksum: 10c0/e6994404f5ce58073aa6c1a37ceac3060326470a464e2d751580a9f89e2dbca3a2a6222b849bdaaa5bffbe89033c50a886d17e49fca3b040a4ffcf970e387a0c + checksum: 10c0/84f403dbe582ee508fd9c7643ac781ad8597fcbfc9ccb8d4715a2c92e4545e5772cbd0dbdf18eda65789386d81b009967fdef01b24faf6640f817287f54d9c82 languageName: node linkType: hard @@ -3176,11 +3153,11 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 20.12.7 - resolution: "@types/node@npm:20.12.7" + version: 20.12.12 + resolution: "@types/node@npm:20.12.12" dependencies: undici-types: "npm:~5.26.4" - checksum: 10c0/dce80d63a3b91892b321af823d624995c61e39c6a223cc0ac481a44d337640cc46931d33efb3beeed75f5c85c3bda1d97cef4c5cd4ec333caf5dee59cff6eca0 + checksum: 10c0/f374b763c744e8f16e4f38cf6e2c0eef31781ec9228c9e43a6f267880fea420fab0a238b59f10a7cb3444e49547c5e3785787e371fc242307310995b21988812 languageName: node linkType: hard @@ -3199,9 +3176,9 @@ __metadata: linkType: hard "@types/prismjs@npm:^1.26.0": - version: 1.26.3 - resolution: "@types/prismjs@npm:1.26.3" - checksum: 10c0/3e8a64bcf0ab5f9a47ec2590938c5a8a20ac849b4949a95ed96e73e64cb890fc56e9c9b724286914717458267b28405f965709e1b9f80db5d68817a7ce5a18a9 + version: 1.26.4 + resolution: "@types/prismjs@npm:1.26.4" + checksum: 10c0/996be7d119779c4cbe66e58342115a12d35a02226dae3aaa4a744c9652d5a3939c93c26182e18156965ac4f93575ebb309c3469c36f52e60ee5c0f8f27e874df languageName: node linkType: hard @@ -3259,12 +3236,12 @@ __metadata: linkType: hard "@types/react@npm:*, @types/react@npm:^18.0.28": - version: 18.3.0 - resolution: "@types/react@npm:18.3.0" + version: 18.3.3 + resolution: "@types/react@npm:18.3.3" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/6405f805700daf096a507a191bc4f8814ebed49120f156926b0a5b7b6f41424214320cea3dbb6df85f476b220f0554ef7e587baa88f59375e64bdbab525f58aa + checksum: 10c0/fe455f805c5da13b89964c3d68060cebd43e73ec15001a68b34634604a78140e6fc202f3f61679b9d809dde6d7a7c2cb3ed51e0fd1462557911db09879b55114 languageName: node linkType: hard @@ -3284,13 +3261,6 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.5.8": - version: 7.5.8 - resolution: "@types/semver@npm:7.5.8" - checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa - languageName: node - linkType: hard - "@types/send@npm:*": version: 0.17.4 resolution: "@types/send@npm:0.17.4" @@ -3377,19 +3347,17 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^7.0.0": - version: 7.7.1 - resolution: "@typescript-eslint/eslint-plugin@npm:7.7.1" + version: 7.10.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.10.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/type-utils": "npm:7.7.1" - "@typescript-eslint/utils": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" - debug: "npm:^4.3.4" + "@typescript-eslint/scope-manager": "npm:7.10.0" + "@typescript-eslint/type-utils": "npm:7.10.0" + "@typescript-eslint/utils": "npm:7.10.0" + "@typescript-eslint/visitor-keys": "npm:7.10.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - semver: "npm:^7.6.0" ts-api-utils: "npm:^1.3.0" peerDependencies: "@typescript-eslint/parser": ^7.0.0 @@ -3397,44 +3365,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/11a085240e7daf4bdeb011aa53ac7cfeea6263c60d53607823f5c314eb5c9d559b28fce0d6686acb9702ee3d0cb0406534fafae61163e5a903eaf818c48194ad + checksum: 10c0/bf3f0118ea5961c3eb01894678246458a329d82dda9ac7c2f5bfe77896410d05a08a4655e533bcb1ed2a3132ba6421981ec8c2ed0a3545779d9603ea231947ae languageName: node linkType: hard "@typescript-eslint/parser@npm:^7.0.0": - version: 7.7.1 - resolution: "@typescript-eslint/parser@npm:7.7.1" + version: 7.10.0 + resolution: "@typescript-eslint/parser@npm:7.10.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/typescript-estree": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" + "@typescript-eslint/scope-manager": "npm:7.10.0" + "@typescript-eslint/types": "npm:7.10.0" + "@typescript-eslint/typescript-estree": "npm:7.10.0" + "@typescript-eslint/visitor-keys": "npm:7.10.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/ace43eeb8123bbee61e936650e1d57a2cf70f2030870c6dcad8602fce3f7cdf2cce350121dbbc66cffd60bac36652f426a1c5293c45ed28998b90cd95673b5c9 + checksum: 10c0/4c4fbf43b5b05d75b766acb803d3dd078c6e080641a77f9e48ba005713466738ea4a71f0564fa3ce520988d65158d14c8c952ba01ccbc431ab4a05935db5ce6d languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/scope-manager@npm:7.7.1" +"@typescript-eslint/scope-manager@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/scope-manager@npm:7.10.0" dependencies: - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" - checksum: 10c0/4032da8fce8922044a6b659c8435ba203377778d5b7de6a5572c1172f2e3cf8ddd890a0f9e083c5d5315a9c2dba323707528ee4ad3cc1be2bd334de2527ef5cb + "@typescript-eslint/types": "npm:7.10.0" + "@typescript-eslint/visitor-keys": "npm:7.10.0" + checksum: 10c0/1d4f7ee137b95bd423b5a1b0d03251202dfc19bd8b6adfa5ff5df25fd5aa30e2d8ca50ab0d8d2e92441670ecbc2a82b3c2dbe39a4f268ec1ee1c1e267f7fd1d1 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/type-utils@npm:7.7.1" +"@typescript-eslint/type-utils@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/type-utils@npm:7.10.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.7.1" - "@typescript-eslint/utils": "npm:7.7.1" + "@typescript-eslint/typescript-estree": "npm:7.10.0" + "@typescript-eslint/utils": "npm:7.10.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: @@ -3442,23 +3410,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/bd083c4106e207aa8c2a71251eca52d23c7ea905399b8c62004f3bb1e85b9c88d601db9dcecae88beef0f8362d53450bb2721aab353ee731c1665496fea3fbda + checksum: 10c0/55e9a6690f9cedb79d30abb1990b161affaa2684dac246b743223353812c9c1e3fd2d923c67b193c6a3624a07e1c82c900ce7bf5b6b9891c846f04cb480ebd9f languageName: node linkType: hard -"@typescript-eslint/types@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/types@npm:7.7.1" - checksum: 10c0/7d240503d9d0b12d68c8204167690609f02ededb77dcb035c1c8b932da08cf43553829c29a5f7889824a7337463c300343bc5abe532479726d4c83443a7e2704 +"@typescript-eslint/types@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/types@npm:7.10.0" + checksum: 10c0/f01d9330b93cc362ba7967ab5037396f64742076450e1f93139fa69cbe93a6ece3ed55d68ab780c9b7d07ef4a7c645da410305216a2cfc5dec7eba49ee65ab23 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/typescript-estree@npm:7.7.1" +"@typescript-eslint/typescript-estree@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.10.0" dependencies: - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" + "@typescript-eslint/types": "npm:7.10.0" + "@typescript-eslint/visitor-keys": "npm:7.10.0" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -3468,34 +3436,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/c6b32bd96fd13b9da0a30de01935066f7505f6214f5759e3cd019f7d1852f7bf19358765f62e51de72be47647656aa0e8f07ac0ab316c4149a4e6bd1dd12cbb6 + checksum: 10c0/6200695834c566e52e2fa7331f1a05019f7815969d8c1e1e237b85a99664d36f41ccc16384eff3f8582a0ecb75f1cc315b56ee9283b818da37f24fa4d42f1d7a languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/utils@npm:7.7.1" +"@typescript-eslint/utils@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/utils@npm:7.10.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.15" - "@types/semver": "npm:^7.5.8" - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/typescript-estree": "npm:7.7.1" - semver: "npm:^7.6.0" + "@typescript-eslint/scope-manager": "npm:7.10.0" + "@typescript-eslint/types": "npm:7.10.0" + "@typescript-eslint/typescript-estree": "npm:7.10.0" peerDependencies: eslint: ^8.56.0 - checksum: 10c0/0986b8c297d6bfdbd2ac8cd3bcf447ef9b934e2dae536771d3368a5c284a0b16c0ea041f82aa100c48d05acc33198e1a3d9d721d3319ae80abba0f5e69c21633 + checksum: 10c0/6724471f94f2788f59748f7efa2a3a53ea910099993bee2fa5746ab5acacecdc9fcb110c568b18099ddc946ea44919ed394bff2bd055ba81fc69f5e6297b73bf languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/visitor-keys@npm:7.7.1" +"@typescript-eslint/visitor-keys@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.10.0" dependencies: - "@typescript-eslint/types": "npm:7.7.1" + "@typescript-eslint/types": "npm:7.10.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/19cbd14ac9a234d847f457cbd880cbd98b83c331a46d2dc2d8c0e6cb54ce6159552f6dd2f7236035be1a71f13f48df4a2aa09e70ad1f1e2ff3da7c3622927bd3 + checksum: 10c0/049e812bcd28869059d04c7bf3543bb55f5205f468b777439c4f120417fb856fb6024cb1d25291aa12556bd08e84f043a96d754ffb2cde37abb604d6f3c51634 languageName: node linkType: hard @@ -3802,25 +3767,25 @@ __metadata: linkType: hard "ajv@npm:^8.0.0, ajv@npm:^8.9.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" + version: 8.13.0 + resolution: "ajv@npm:8.13.0" dependencies: - fast-deep-equal: "npm:^3.1.1" + fast-deep-equal: "npm:^3.1.3" json-schema-traverse: "npm:^1.0.0" require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.2.2" - checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + uri-js: "npm:^4.4.1" + checksum: 10c0/14c6497b6f72843986d7344175a1aa0e2c35b1e7f7475e55bc582cddb765fca7e6bf950f465dc7846f817776d9541b706f4b5b3fbedd8dfdeb5fce6f22864264 languageName: node linkType: hard "algoliasearch-helper@npm:^3.13.3": - version: 3.18.0 - resolution: "algoliasearch-helper@npm:3.18.0" + version: 3.20.0 + resolution: "algoliasearch-helper@npm:3.20.0" dependencies: "@algolia/events": "npm:^4.0.1" peerDependencies: algoliasearch: ">= 3.1 < 6" - checksum: 10c0/d4f14920ba0fca464425af65307932e046c107e8d32d4bd9bdee0ef0c965a357c060c07cffa9c4c48a7867bfbfa9c228abdad279096b8b0e5cd5d2e4c524befb + checksum: 10c0/df59924a5c01441fe99429dd37c801a72822d5132816be695bb6fc81f215380ef448193422abcf04000662d75eadb42b88c129e62d61dbfe16ecf7510c46b536 languageName: node linkType: hard @@ -4132,7 +4097,7 @@ __metadata: languageName: node linkType: hard -"autoprefixer@npm:^10.4.12, autoprefixer@npm:^10.4.14": +"autoprefixer@npm:^10.4.14, autoprefixer@npm:^10.4.19": version: 10.4.19 resolution: "autoprefixer@npm:10.4.19" dependencies: @@ -4167,13 +4132,13 @@ __metadata: linkType: hard "axios@npm:^1.5.0": - version: 1.6.8 - resolution: "axios@npm:1.6.8" + version: 1.7.2 + resolution: "axios@npm:1.7.2" dependencies: follow-redirects: "npm:^1.15.6" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: 10c0/0f22da6f490335479a89878bc7d5a1419484fbb437b564a80c34888fc36759ae4f56ea28d55a191695e5ed327f0bad56e7ff60fb6770c14d1be6501505d47ab9 + checksum: 10c0/cbd47ce380fe045313364e740bb03b936420b8b5558c7ea36a4563db1258c658f05e40feb5ddd41f6633fdd96d37ac2a76f884dad599c5b0224b4c451b3fa7ae languageName: node linkType: hard @@ -4388,12 +4353,12 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2, braces@npm:~3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" +"braces@npm:^3.0.3, braces@npm:~3.0.2": + version: 3.0.3 + resolution: "braces@npm:3.0.3" dependencies: - fill-range: "npm:^7.0.1" - checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 languageName: node linkType: hard @@ -4469,7 +4434,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.21.10, browserslist@npm:^4.21.4, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": +"browserslist@npm:^4.0.0, browserslist@npm:^4.18.1, browserslist@npm:^4.21.10, browserslist@npm:^4.22.2, browserslist@npm:^4.23.0": version: 4.23.0 resolution: "browserslist@npm:4.23.0" dependencies: @@ -4522,8 +4487,8 @@ __metadata: linkType: hard "cacache@npm:^18.0.0": - version: 18.0.2 - resolution: "cacache@npm:18.0.2" + version: 18.0.3 + resolution: "cacache@npm:18.0.3" dependencies: "@npmcli/fs": "npm:^3.1.0" fs-minipass: "npm:^3.0.0" @@ -4537,7 +4502,7 @@ __metadata: ssri: "npm:^10.0.0" tar: "npm:^6.1.11" unique-filename: "npm:^3.0.0" - checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc + checksum: 10c0/dfda92840bb371fb66b88c087c61a74544363b37a265023223a99965b16a16bbb87661fe4948718d79df6e0cc04e85e62784fbcf1832b2a5e54ff4c46fbb45b7 languageName: node linkType: hard @@ -4620,9 +4585,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001587, caniuse-lite@npm:^1.0.30001599": - version: 1.0.30001612 - resolution: "caniuse-lite@npm:1.0.30001612" - checksum: 10c0/d6b405ff06f4e913bc779f9183fa68001c9d6b8526a7dd1b99c60587dd21a01aa8def3d8462cf6214f0181f1c21b9245611ff65241cf9c967fc742e86ece5065 + version: 1.0.30001621 + resolution: "caniuse-lite@npm:1.0.30001621" + checksum: 10c0/c7e7fb021ca32b26394ddf0d62faa8a7919c2e50f8a0dcc51f02a96b7b46fff69a81d6b7ead711367fcaf9dfbc6c795320553b6f84dcb393806a10efeb756ce7 languageName: node linkType: hard @@ -4799,15 +4764,15 @@ __metadata: linkType: hard "cli-table3@npm:^0.6.3": - version: 0.6.4 - resolution: "cli-table3@npm:0.6.4" + version: 0.6.5 + resolution: "cli-table3@npm:0.6.5" dependencies: "@colors/colors": "npm:1.5.0" string-width: "npm:^4.2.0" dependenciesMeta: "@colors/colors": optional: true - checksum: 10c0/8233c3d588db19122ed62a64256c7f0208232d2cece89a6cd7732481887fd9dcef69d976c4719149e77ccbf0a68f637bd5923536adccf6cdea051eeffa0ef1c2 + checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78 languageName: node linkType: hard @@ -4868,7 +4833,7 @@ __metadata: languageName: node linkType: hard -"colord@npm:^2.9.1": +"colord@npm:^2.9.3": version: 2.9.3 resolution: "colord@npm:2.9.3" checksum: 10c0/9699e956894d8996b28c686afe8988720785f476f59335c80ce852ded76ab3ebe252703aec53d9bef54f6219aea6b960fb3d9a8300058a1d0c0d4026460cd110 @@ -5090,25 +5055,25 @@ __metadata: linkType: hard "core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.36.1": - version: 3.37.0 - resolution: "core-js-compat@npm:3.37.0" + version: 3.37.1 + resolution: "core-js-compat@npm:3.37.1" dependencies: browserslist: "npm:^4.23.0" - checksum: 10c0/ca6ba7d200f7a4a850fd5cba58b40ab78139d3f301bad7b53816eafe0cfb000523e72882069ddaba440794b950ed101225668bf7b97b73e54a5e3384a8215e03 + checksum: 10c0/4e2da9c900f2951a57947af7aeef4d16f2c75d7f7e966c0d0b62953f65225003ade5e84d3ae98847f65b24c109c606821d9dc925db8ca418fb761e7c81963c2a languageName: node linkType: hard "core-js-pure@npm:^3.30.2": - version: 3.37.0 - resolution: "core-js-pure@npm:3.37.0" - checksum: 10c0/0559e5f7862674136754cdef7b2386f9a19f29fd834008d3fa3fb3b3d9ec31180e4c0c6b3b7cef35933665832489236846cf39b11f1f8f003cd848e7f834357a + version: 3.37.1 + resolution: "core-js-pure@npm:3.37.1" + checksum: 10c0/38200d08862b4ef2207af72a7525f7b9ac750f5e1d84ef27a3e314aefa69518179a9b732f51ebe35c3b38606d9fa4f686fcf6eff067615cc293a3b1c84041e74 languageName: node linkType: hard "core-js@npm:^3.31.1": - version: 3.37.0 - resolution: "core-js@npm:3.37.0" - checksum: 10c0/7e00331f346318ca3f595c08ce9e74ddae744715aef137486c1399163afd79792fb94c3161280863adfdc3e30f8026912d56bd3036f93cacfc689d33e185f2ee + version: 3.37.1 + resolution: "core-js@npm:3.37.1" + checksum: 10c0/440eb51a7a39128a320225fe349f870a3641b96c9ecd26470227db730ef8c161ea298eaea621db66ec0ff622a85299efb4e23afebf889c0a1748616102307675 languageName: node linkType: hard @@ -5132,20 +5097,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^7.0.1": - version: 7.1.0 - resolution: "cosmiconfig@npm:7.1.0" - dependencies: - "@types/parse-json": "npm:^4.0.0" - import-fresh: "npm:^3.2.1" - parse-json: "npm:^5.0.0" - path-type: "npm:^4.0.0" - yaml: "npm:^1.10.0" - checksum: 10c0/b923ff6af581638128e5f074a5450ba12c0300b71302398ea38dbeabd33bbcaa0245ca9adbedfcf284a07da50f99ede5658c80bb3e39e2ce770a99d28a21ef03 - languageName: node - linkType: hard - -"cosmiconfig@npm:^8.3.5": +"cosmiconfig@npm:^8.1.3, cosmiconfig@npm:^8.3.5": version: 8.3.6 resolution: "cosmiconfig@npm:8.3.6" dependencies: @@ -5238,12 +5190,12 @@ __metadata: languageName: node linkType: hard -"css-declaration-sorter@npm:^6.3.1": - version: 6.4.1 - resolution: "css-declaration-sorter@npm:6.4.1" +"css-declaration-sorter@npm:^7.2.0": + version: 7.2.0 + resolution: "css-declaration-sorter@npm:7.2.0" peerDependencies: postcss: ^8.0.9 - checksum: 10c0/b8b664338dac528266a1ed9b27927ac51a907fb16bc1954fa9038b5286c442603bd494cc920c6a3616111309d18ee6b5a85b6d9927938efc942af452a5145160 + checksum: 10c0/d8516be94f8f2daa233ef021688b965c08161624cbf830a4d7ee1099429437c0ee124d35c91b1c659cfd891a68e8888aa941726dab12279bc114aaed60a94606 languageName: node linkType: hard @@ -5271,16 +5223,16 @@ __metadata: languageName: node linkType: hard -"css-minimizer-webpack-plugin@npm:^4.2.2": - version: 4.2.2 - resolution: "css-minimizer-webpack-plugin@npm:4.2.2" +"css-minimizer-webpack-plugin@npm:^5.0.1": + version: 5.0.1 + resolution: "css-minimizer-webpack-plugin@npm:5.0.1" dependencies: - cssnano: "npm:^5.1.8" - jest-worker: "npm:^29.1.2" - postcss: "npm:^8.4.17" - schema-utils: "npm:^4.0.0" - serialize-javascript: "npm:^6.0.0" - source-map: "npm:^0.6.1" + "@jridgewell/trace-mapping": "npm:^0.3.18" + cssnano: "npm:^6.0.1" + jest-worker: "npm:^29.4.3" + postcss: "npm:^8.4.24" + schema-utils: "npm:^4.0.1" + serialize-javascript: "npm:^6.0.1" peerDependencies: webpack: ^5.0.0 peerDependenciesMeta: @@ -5296,7 +5248,7 @@ __metadata: optional: true lightningcss: optional: true - checksum: 10c0/05cd1460b83d9a5f8878fd63d3a80fd100cbb10f48e295a6ad52519761f3390e1e1bc0e269ff28d15b062a1b11379e04608d50ee30424e177c281bd845fef9fb + checksum: 10c0/1792259e18f7c5ee25b6bbf60b38b64201747add83d1f751c8c654159b46ebacd0d1103d35f17d97197033e21e02d2ba4a4e9aa14c9c0d067b7c7653c721814e languageName: node linkType: hard @@ -5326,13 +5278,23 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^1.1.2, css-tree@npm:^1.1.3": - version: 1.1.3 - resolution: "css-tree@npm:1.1.3" +"css-tree@npm:^2.3.1": + version: 2.3.1 + resolution: "css-tree@npm:2.3.1" + dependencies: + mdn-data: "npm:2.0.30" + source-map-js: "npm:^1.0.1" + checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 + languageName: node + linkType: hard + +"css-tree@npm:~2.2.0": + version: 2.2.1 + resolution: "css-tree@npm:2.2.1" dependencies: - mdn-data: "npm:2.0.14" - source-map: "npm:^0.6.1" - checksum: 10c0/499a507bfa39b8b2128f49736882c0dd636b0cd3370f2c69f4558ec86d269113286b7df469afc955de6a68b0dba00bc533e40022a73698081d600072d5d83c1c + mdn-data: "npm:2.0.28" + source-map-js: "npm:^1.0.1" + checksum: 10c0/47e87b0f02f8ac22f57eceb65c58011dd142d2158128882a0bf963cf2eabb81a4ebbc2e3790c8289be7919fa8b83750c7b69272bd66772c708143b772ba3c186 languageName: node linkType: hard @@ -5352,89 +5314,90 @@ __metadata: languageName: node linkType: hard -"cssnano-preset-advanced@npm:^5.3.10": - version: 5.3.10 - resolution: "cssnano-preset-advanced@npm:5.3.10" - dependencies: - autoprefixer: "npm:^10.4.12" - cssnano-preset-default: "npm:^5.2.14" - postcss-discard-unused: "npm:^5.1.0" - postcss-merge-idents: "npm:^5.1.1" - postcss-reduce-idents: "npm:^5.2.0" - postcss-zindex: "npm:^5.1.0" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/abfa870a6e3ab52cddfea7cac83f49b510efb941c7f2960ca9d41ae11fabbe03e9453cad7f81fd1b35cf6080c94094cd7bb1b58c07fad4cf0453f6e4bb9a07ae - languageName: node - linkType: hard - -"cssnano-preset-default@npm:^5.2.14": - version: 5.2.14 - resolution: "cssnano-preset-default@npm:5.2.14" - dependencies: - css-declaration-sorter: "npm:^6.3.1" - cssnano-utils: "npm:^3.1.0" - postcss-calc: "npm:^8.2.3" - postcss-colormin: "npm:^5.3.1" - postcss-convert-values: "npm:^5.1.3" - postcss-discard-comments: "npm:^5.1.2" - postcss-discard-duplicates: "npm:^5.1.0" - postcss-discard-empty: "npm:^5.1.1" - postcss-discard-overridden: "npm:^5.1.0" - postcss-merge-longhand: "npm:^5.1.7" - postcss-merge-rules: "npm:^5.1.4" - postcss-minify-font-values: "npm:^5.1.0" - postcss-minify-gradients: "npm:^5.1.1" - postcss-minify-params: "npm:^5.1.4" - postcss-minify-selectors: "npm:^5.2.1" - postcss-normalize-charset: "npm:^5.1.0" - postcss-normalize-display-values: "npm:^5.1.0" - postcss-normalize-positions: "npm:^5.1.1" - postcss-normalize-repeat-style: "npm:^5.1.1" - postcss-normalize-string: "npm:^5.1.0" - postcss-normalize-timing-functions: "npm:^5.1.0" - postcss-normalize-unicode: "npm:^5.1.1" - postcss-normalize-url: "npm:^5.1.0" - postcss-normalize-whitespace: "npm:^5.1.1" - postcss-ordered-values: "npm:^5.1.3" - postcss-reduce-initial: "npm:^5.1.2" - postcss-reduce-transforms: "npm:^5.1.0" - postcss-svgo: "npm:^5.1.0" - postcss-unique-selectors: "npm:^5.1.1" - peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/d125bdb9ac007f97f920e30be953c550a8e7de0cb9298f67e0bc9744f4b920039046b5a6b817e345872836b08689af747f82fbf2189c8bd48da3e6f0c1087b89 - languageName: node - linkType: hard - -"cssnano-utils@npm:^3.1.0": - version: 3.1.0 - resolution: "cssnano-utils@npm:3.1.0" +"cssnano-preset-advanced@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano-preset-advanced@npm:6.1.2" + dependencies: + autoprefixer: "npm:^10.4.19" + browserslist: "npm:^4.23.0" + cssnano-preset-default: "npm:^6.1.2" + postcss-discard-unused: "npm:^6.0.5" + postcss-merge-idents: "npm:^6.0.3" + postcss-reduce-idents: "npm:^6.0.3" + postcss-zindex: "npm:^6.0.2" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/057508645a3e7584decede1045daa5b362dbfa2f5df96c3527c7d52e41e787a3442a56a8ea0c0af6a757f518e79a459ee580a35c323ad0d0eec912afd67d7630 + postcss: ^8.4.31 + checksum: 10c0/22d3ddab258e6b31e7e2e7c48712f023b60fadb2813929752dace0326e28cd250830b5420a33f81b01df52d2460cb5f999fff5907f58508809efe1a8a739a707 languageName: node linkType: hard -"cssnano@npm:^5.1.15, cssnano@npm:^5.1.8": - version: 5.1.15 - resolution: "cssnano@npm:5.1.15" +"cssnano-preset-default@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano-preset-default@npm:6.1.2" dependencies: - cssnano-preset-default: "npm:^5.2.14" - lilconfig: "npm:^2.0.3" - yaml: "npm:^1.10.2" + browserslist: "npm:^4.23.0" + css-declaration-sorter: "npm:^7.2.0" + cssnano-utils: "npm:^4.0.2" + postcss-calc: "npm:^9.0.1" + postcss-colormin: "npm:^6.1.0" + postcss-convert-values: "npm:^6.1.0" + postcss-discard-comments: "npm:^6.0.2" + postcss-discard-duplicates: "npm:^6.0.3" + postcss-discard-empty: "npm:^6.0.3" + postcss-discard-overridden: "npm:^6.0.2" + postcss-merge-longhand: "npm:^6.0.5" + postcss-merge-rules: "npm:^6.1.1" + postcss-minify-font-values: "npm:^6.1.0" + postcss-minify-gradients: "npm:^6.0.3" + postcss-minify-params: "npm:^6.1.0" + postcss-minify-selectors: "npm:^6.0.4" + postcss-normalize-charset: "npm:^6.0.2" + postcss-normalize-display-values: "npm:^6.0.2" + postcss-normalize-positions: "npm:^6.0.2" + postcss-normalize-repeat-style: "npm:^6.0.2" + postcss-normalize-string: "npm:^6.0.2" + postcss-normalize-timing-functions: "npm:^6.0.2" + postcss-normalize-unicode: "npm:^6.1.0" + postcss-normalize-url: "npm:^6.0.2" + postcss-normalize-whitespace: "npm:^6.0.2" + postcss-ordered-values: "npm:^6.0.2" + postcss-reduce-initial: "npm:^6.1.0" + postcss-reduce-transforms: "npm:^6.0.2" + postcss-svgo: "npm:^6.0.3" + postcss-unique-selectors: "npm:^6.0.4" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/af99021f936763850f5f35dc9e6a9dfb0da30856dea36e0420b011da2a447099471db2a5f3d1f5f52c0489da186caf9a439d8f048a80f82617077efb018333fa + languageName: node + linkType: hard + +"cssnano-utils@npm:^4.0.2": + version: 4.0.2 + resolution: "cssnano-utils@npm:4.0.2" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/4252e4f4edd7a0fbdd4017825c0f8632b7a12ecbfdd432d2ff7ec268d48eb956a0a10bbf209602181f9f84ceeecea4a864719ecde03aa2cc48f5d9636fcf5f9a + postcss: ^8.4.31 + checksum: 10c0/260b8c8ffa48b908aa77ef129f9b8648ecd92aed405b20e7fe6b8370779dd603530344fc9d96683d53533246e48b36ac9d2aa5a476b4f81c547bbad86d187f35 languageName: node linkType: hard -"csso@npm:^4.2.0": - version: 4.2.0 - resolution: "csso@npm:4.2.0" +"cssnano@npm:^6.0.1, cssnano@npm:^6.1.2": + version: 6.1.2 + resolution: "cssnano@npm:6.1.2" + dependencies: + cssnano-preset-default: "npm:^6.1.2" + lilconfig: "npm:^3.1.1" + peerDependencies: + postcss: ^8.4.31 + checksum: 10c0/4df0dc0389b34b38acb09b7cfb07267b0eda95349c6d5e9b7666acc7200bb33359650869a60168e9d878298b05f4ad2c7f070815c90551720a3f4e1037f79691 + languageName: node + linkType: hard + +"csso@npm:^5.0.5": + version: 5.0.5 + resolution: "csso@npm:5.0.5" dependencies: - css-tree: "npm:^1.1.2" - checksum: 10c0/f8c6b1300efaa0f8855a7905ae3794a29c6496e7f16a71dec31eb6ca7cfb1f058a4b03fd39b66c4deac6cb06bf6b4ba86da7b67d7320389cb9994d52b924b903 + css-tree: "npm:~2.2.0" + checksum: 10c0/ab4beb1e97dd7e207c10e9925405b45f15a6cd1b4880a8686ad573aa6d476aed28b4121a666cffd26c37a26179f7b54741f7c257543003bfb244d06a62ad569b languageName: node linkType: hard @@ -5554,7 +5517,7 @@ __metadata: languageName: node linkType: hard -"deepmerge@npm:^4.2.2": +"deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 @@ -5595,7 +5558,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -5688,15 +5651,15 @@ __metadata: linkType: hard "detect-port@npm:^1.5.1": - version: 1.5.1 - resolution: "detect-port@npm:1.5.1" + version: 1.6.1 + resolution: "detect-port@npm:1.6.1" dependencies: address: "npm:^1.0.1" debug: "npm:4" bin: detect: bin/detect-port.js detect-port: bin/detect-port.js - checksum: 10c0/f2b204ad3a9f8e8b53fea35fcc97469f31a8e3e786a2f59fbc886397e33b5f130c5f964bf001b9a64d990047c3824f6a439308461ff19801df04ab48a754639e + checksum: 10c0/4ea9eb46a637cb21220dd0a62b6074792894fc77b2cacbc9de533d1908b2eedafa7bfd7547baaa2ac1e9c7ba7c289b34b17db896dca6da142f4fc6e2060eee17 languageName: node linkType: hard @@ -5902,9 +5865,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.668": - version: 1.4.749 - resolution: "electron-to-chromium@npm:1.4.749" - checksum: 10c0/6a448071e12918fd053fb8d4472178d8c916c9242b8ba0e0c5cb66d7c2f8602bc50e6a6d8bc48bff1fac67be63713e859ddae3353c28ee43cad8970b0ed78aba + version: 1.4.783 + resolution: "electron-to-chromium@npm:1.4.783" + checksum: 10c0/d112e5602e2ee7516ead648e2d2449027f1106147858442781ac475f9a3861a783cb6c8f4638316800f5eff2c4a1f046cd412704678c90479c5417bf204de572 languageName: node linkType: hard @@ -5975,12 +5938,12 @@ __metadata: linkType: hard "enhanced-resolve@npm:^5.12.0, enhanced-resolve@npm:^5.16.0": - version: 5.16.0 - resolution: "enhanced-resolve@npm:5.16.0" + version: 5.16.1 + resolution: "enhanced-resolve@npm:5.16.1" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10c0/dd69669cbb638ccacefd03e04d5e195ee6a99b7f5f8012f86d2df7781834de357923e06064ea621137c4ce0b37cc12b872b4e6d1ac6ab15fe98e7f1dfbbb08c4 + checksum: 10c0/57d52625b978f18b32351a03006699de1e3695ce27af936ab4f1f98d3a4c825b219b445910bb4eef398303bbb5f37d7e382f842513d0f3a32614b78f6fd07ab7 languageName: node linkType: hard @@ -6114,9 +6077,9 @@ __metadata: linkType: hard "es-module-lexer@npm:^1.2.1": - version: 1.5.0 - resolution: "es-module-lexer@npm:1.5.0" - checksum: 10c0/d199853404f3381801eb102befb84a8fc48f93ed86b852c2461c2c4ad4bbbc91128f3d974ff9b8718628260ae3f36e661295ab3e419222868aa31269284e34c9 + version: 1.5.3 + resolution: "es-module-lexer@npm:1.5.3" + checksum: 10c0/0f50b655490d1048432eac6eec94d99d3933119666ae82be578c3db1ea4b2c594118a336f6b7a3c4e2815355dcc9a469d880acef1c45aa656a5aae8c8ae8e5f6 languageName: node linkType: hard @@ -6160,7 +6123,7 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.1": +"escalade@npm:^3.1.1, escalade@npm:^3.1.2": version: 3.1.2 resolution: "escalade@npm:3.1.2" checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 @@ -6345,11 +6308,11 @@ __metadata: linkType: hard "eslint-plugin-react-hooks@npm:^4.3.0, eslint-plugin-react-hooks@npm:^4.6.0": - version: 4.6.1 - resolution: "eslint-plugin-react-hooks@npm:4.6.1" + version: 4.6.2 + resolution: "eslint-plugin-react-hooks@npm:4.6.2" peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/c7b6cf91dc92d4d69311cc9d83bc944abb131aa843284a2b5312323cee8c26425c31027b8d9626d4c909055b42f1a413eadb29cf0025adf689bcfde99dcd498a + checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc languageName: node linkType: hard @@ -6819,12 +6782,12 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" dependencies: to-regex-range: "npm:^5.0.1" - checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 languageName: node linkType: hard @@ -7057,9 +7020,9 @@ __metadata: linkType: hard "fs-monkey@npm:^1.0.4": - version: 1.0.5 - resolution: "fs-monkey@npm:1.0.5" - checksum: 10c0/815025e75549fb1ac6c403413b82fd631eded862ae27694a515c0f666069e95874ab34e79c33d1b3b8c87d1e54350d5e4262090d0aa5bd7130143cbc627537e4 + version: 1.0.6 + resolution: "fs-monkey@npm:1.0.6" + checksum: 10c0/6f2508e792a47e37b7eabd5afc79459c1ea72bce2a46007d2b7ed0bfc3a4d64af38975c6eb7e93edb69ac98bbb907c13ff1b1579b2cf52d3d02dbc0303fca79f languageName: node linkType: hard @@ -7161,11 +7124,11 @@ __metadata: linkType: hard "get-tsconfig@npm:^4.5.0": - version: 4.7.3 - resolution: "get-tsconfig@npm:4.7.3" + version: 4.7.5 + resolution: "get-tsconfig@npm:4.7.5" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/b15ca9d5d0887ebfccadc9fe88b6ff3827a5691ec90e7608a5e9c74bef959c14aba62f6bb88ac7f50322395731789a2cf654244f00e10f4f76349911b6846d6f + checksum: 10c0/a917dff2ba9ee187c41945736bf9bbab65de31ce5bc1effd76267be483a7340915cff232199406379f26517d2d0a4edcdbcda8cca599c2480a0f2cf1e1de3efa languageName: node linkType: hard @@ -7211,17 +7174,17 @@ __metadata: linkType: hard "glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": - version: 10.3.12 - resolution: "glob@npm:10.3.12" + version: 10.4.1 + resolution: "glob@npm:10.4.1" dependencies: foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.6" - minimatch: "npm:^9.0.1" - minipass: "npm:^7.0.4" - path-scurry: "npm:^1.10.2" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + path-scurry: "npm:^1.11.1" bin: glob: dist/esm/bin.mjs - checksum: 10c0/f60cefdc1cf3f958b2bb5823e1b233727f04916d489dc4641d76914f016e6704421e06a83cbb68b0cb1cb9382298b7a88075b844ad2127fc9727ea22b18b0711 + checksum: 10c0/77f2900ed98b9cc2a0e1901ee5e476d664dae3cd0f1b662b8bfd4ccf00d0edc31a11595807706a274ca10e1e251411bbf2e8e976c82bed0d879a9b89343ed379 languageName: node linkType: hard @@ -7285,11 +7248,12 @@ __metadata: linkType: hard "globalthis@npm:^1.0.3": - version: 1.0.3 - resolution: "globalthis@npm:1.0.3" + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" dependencies: - define-properties: "npm:^1.1.3" - checksum: 10c0/0db6e9af102a5254630351557ac15e6909bc7459d3e3f6b001e59fe784c96d31108818f032d9095739355a88467459e6488ff16584ee6250cd8c27dec05af4b0 + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 languageName: node linkType: hard @@ -7523,8 +7487,8 @@ __metadata: linkType: hard "hast-util-raw@npm:^9.0.0": - version: 9.0.2 - resolution: "hast-util-raw@npm:9.0.2" + version: 9.0.3 + resolution: "hast-util-raw@npm:9.0.3" dependencies: "@types/hast": "npm:^3.0.0" "@types/unist": "npm:^3.0.0" @@ -7539,7 +7503,7 @@ __metadata: vfile: "npm:^6.0.0" web-namespaces: "npm:^2.0.0" zwitch: "npm:^2.0.0" - checksum: 10c0/0162c104c3fdf8b749b2d271d36b48f609c2cb3bc30cb21feb087ac67bdf806988c8cd14c2e2c71ff982b0a7525b0b1ffd09476f9d79b517337d78ada8042b0c + checksum: 10c0/a3d7f0d655f1dd9bff68004ebf27e6047ecfea6de98b4f7783d331a4f5cb7df35e7d707a6cb03a428cf5eb22d87d9609800b6e262044208585eebfc4b94d6822 languageName: node linkType: hard @@ -8580,16 +8544,16 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.3.6": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" +"jackspeak@npm:^3.1.2": + version: 3.1.2 + resolution: "jackspeak@npm:3.1.2" dependencies: "@isaacs/cliui": "npm:^8.0.2" "@pkgjs/parseargs": "npm:^0.11.0" dependenciesMeta: "@pkgjs/parseargs": optional: true - checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 + checksum: 10c0/5f1922a1ca0f19869e23f0dc4374c60d36e922f7926c76fecf8080cc6f7f798d6a9caac1b9428327d14c67731fd551bb3454cb270a5e13a0718f3b3660ec3d5d languageName: node linkType: hard @@ -8618,7 +8582,7 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.1.2": +"jest-worker@npm:^29.4.3": version: 29.7.0 resolution: "jest-worker@npm:29.7.0" dependencies: @@ -8640,15 +8604,15 @@ __metadata: linkType: hard "joi@npm:^17.9.2": - version: 17.13.0 - resolution: "joi@npm:17.13.0" + version: 17.13.1 + resolution: "joi@npm:17.13.1" dependencies: "@hapi/hoek": "npm:^9.3.0" "@hapi/topo": "npm:^5.1.0" "@sideway/address": "npm:^4.1.5" "@sideway/formula": "npm:^3.0.1" "@sideway/pinpoint": "npm:^2.0.0" - checksum: 10c0/27fab026a76f199fbaa5f4cf96b40539da30fdc9e1274989d8fc7b15d52e51b46b911628c924a05e061ae5c3aa00168114fb8b22fb58ca4adca3617c65620006 + checksum: 10c0/485627809c5e424fc4af4310e06bc31a34fe10635b0bdbfcc425336db5e06b1da3ff8b35101878ffcbcd94c0187e7134c935fb2d1aeba641c92d7f505e6ffd8d languageName: node linkType: hard @@ -8818,9 +8782,9 @@ __metadata: linkType: hard "language-subtag-registry@npm:^0.3.20": - version: 0.3.22 - resolution: "language-subtag-registry@npm:0.3.22" - checksum: 10c0/d1e09971260a7cd3b9fdeb190d33af0b6e99c8697013537d9aaa15f7856d9d83aee128ba8078e219df0a7cf4b8dd18d1a0c188f6543b500d92a2689d2d114b70 + version: 0.3.23 + resolution: "language-subtag-registry@npm:0.3.23" + checksum: 10c0/e9b05190421d2cd36dd6c95c28673019c927947cb6d94f40ba7e77a838629ee9675c94accf897fbebb07923187deb843b8fbb8935762df6edafe6c28dcb0b86c languageName: node linkType: hard @@ -8869,10 +8833,10 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:^2.0.3": - version: 2.1.0 - resolution: "lilconfig@npm:2.1.0" - checksum: 10c0/64645641aa8d274c99338e130554abd6a0190533c0d9eb2ce7ebfaf2e05c7d9961f3ffe2bfa39efd3b60c521ba3dd24fa236fe2775fc38501bf82bf49d4678b8 +"lilconfig@npm:^3.1.1": + version: 3.1.1 + resolution: "lilconfig@npm:3.1.1" + checksum: 10c0/311b559794546894e3fe176663427326026c1c644145be9e8041c58e268aa9328799b8dfe7e4dd8c6a4ae305feae95a1c9e007db3569f35b42b6e1bc8274754c languageName: node linkType: hard @@ -9037,9 +9001,9 @@ __metadata: linkType: hard "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.2.1 - resolution: "lru-cache@npm:10.2.1" - checksum: 10c0/e5b4aa7c60e154d27b8ff3e375f8c8cba6be5e94d4048d757588dc371941c15c11ab859d3a402dab33d338d082be9af569761af27a6bc0a9d91376900abb690e + version: 10.2.2 + resolution: "lru-cache@npm:10.2.2" + checksum: 10c0/402d31094335851220d0b00985084288136136992979d0e015f0f1697e15d1c86052d7d53ae86b614e5b058425606efffc6969a31a091085d7a2b80a8a1e26d6 languageName: node linkType: hard @@ -9052,15 +9016,6 @@ __metadata: languageName: node linkType: hard -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 - languageName: node - linkType: hard - "lunr@npm:^2.3.9": version: 2.3.9 resolution: "lunr@npm:2.3.9" @@ -9069,8 +9024,8 @@ __metadata: linkType: hard "make-fetch-happen@npm:^13.0.0": - version: 13.0.0 - resolution: "make-fetch-happen@npm:13.0.0" + version: 13.0.1 + resolution: "make-fetch-happen@npm:13.0.1" dependencies: "@npmcli/agent": "npm:^2.0.0" cacache: "npm:^18.0.0" @@ -9081,9 +9036,10 @@ __metadata: minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" negotiator: "npm:^0.6.3" + proc-log: "npm:^4.2.0" promise-retry: "npm:^2.0.1" ssri: "npm:^10.0.0" - checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 + checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e languageName: node linkType: hard @@ -9394,10 +9350,17 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.0.14": - version: 2.0.14 - resolution: "mdn-data@npm:2.0.14" - checksum: 10c0/67241f8708c1e665a061d2b042d2d243366e93e5bf1f917693007f6d55111588b952dcbfd3ea9c2d0969fb754aad81b30fdcfdcc24546495fc3b24336b28d4bd +"mdn-data@npm:2.0.28": + version: 2.0.28 + resolution: "mdn-data@npm:2.0.28" + checksum: 10c0/20000932bc4cd1cde9cba4e23f08cc4f816398af4c15ec81040ed25421d6bf07b5cf6b17095972577fb498988f40f4cb589e3169b9357bb436a12d8e07e5ea7b + languageName: node + linkType: hard + +"mdn-data@npm:2.0.30": + version: 2.0.30 + resolution: "mdn-data@npm:2.0.30" + checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 languageName: node linkType: hard @@ -9944,12 +9907,12 @@ __metadata: linkType: hard "micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" + version: 4.0.7 + resolution: "micromatch@npm:4.0.7" dependencies: - braces: "npm:^3.0.2" + braces: "npm:^3.0.3" picomatch: "npm:^2.3.1" - checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + checksum: 10c0/58fa99bc5265edec206e9163a1d2cec5fabc46a5b473c45f4a700adce88c2520456ae35f2b301e4410fb3afb27e9521fb2813f6fc96be0a48a89430e0916a772 languageName: node linkType: hard @@ -10062,7 +10025,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": version: 9.0.4 resolution: "minimatch@npm:9.0.4" dependencies: @@ -10088,8 +10051,8 @@ __metadata: linkType: hard "minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" dependencies: encoding: "npm:^0.1.13" minipass: "npm:^7.0.3" @@ -10098,7 +10061,7 @@ __metadata: dependenciesMeta: encoding: optional: true - checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 + checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b languageName: node linkType: hard @@ -10145,10 +10108,10 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": - version: 7.0.4 - resolution: "minipass@npm:7.0.4" - checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 languageName: node linkType: hard @@ -10298,13 +10261,13 @@ __metadata: linkType: hard "nopt@npm:^7.0.0": - version: 7.2.0 - resolution: "nopt@npm:7.2.0" + version: 7.2.1 + resolution: "nopt@npm:7.2.1" dependencies: abbrev: "npm:^2.0.0" bin: nopt: bin/nopt.js - checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 languageName: node linkType: hard @@ -10322,13 +10285,6 @@ __metadata: languageName: node linkType: hard -"normalize-url@npm:^6.0.1": - version: 6.1.0 - resolution: "normalize-url@npm:6.1.0" - checksum: 10c0/95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 - languageName: node - linkType: hard - "normalize-url@npm:^8.0.0": version: 8.0.1 resolution: "normalize-url@npm:8.0.1" @@ -10512,16 +10468,16 @@ __metadata: linkType: hard "optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" + version: 0.9.4 + resolution: "optionator@npm:0.9.4" dependencies: - "@aashutoshrathi/word-wrap": "npm:^1.2.3" deep-is: "npm:^0.1.3" fast-levenshtein: "npm:^2.0.6" levn: "npm:^0.4.1" prelude-ls: "npm:^1.2.1" type-check: "npm:^0.4.0" - checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 languageName: node linkType: hard @@ -10784,13 +10740,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.2": - version: 1.10.2 - resolution: "path-scurry@npm:1.10.2" +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" dependencies: lru-cache: "npm:^10.2.0" minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/d723777fbf9627f201e64656680f66ebd940957eebacf780e6cce1c2919c29c116678b2d7dbf8821b3a2caa758d125f4444005ccec886a25c8f324504e48e601 + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d languageName: node linkType: hard @@ -10848,10 +10804,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": + version: 1.0.1 + resolution: "picocolors@npm:1.0.1" + checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 languageName: node linkType: hard @@ -10887,88 +10843,88 @@ __metadata: languageName: node linkType: hard -"postcss-calc@npm:^8.2.3": - version: 8.2.4 - resolution: "postcss-calc@npm:8.2.4" +"postcss-calc@npm:^9.0.1": + version: 9.0.1 + resolution: "postcss-calc@npm:9.0.1" dependencies: - postcss-selector-parser: "npm:^6.0.9" + postcss-selector-parser: "npm:^6.0.11" postcss-value-parser: "npm:^4.2.0" peerDependencies: postcss: ^8.2.2 - checksum: 10c0/8518a429488c3283ff1560c83a511f6f772329bc61d88875eb7c83e13a8683b7ccbdccaa9946024cf1553da3eacd2f40fcbcebf1095f7fdeb432bf86bc6ba6ba + checksum: 10c0/e0df07337162dbcaac5d6e030c7fd289e21da8766a9daca5d6b2b3c8094bb524ae5d74c70048ea7fe5fe4960ce048c60ac97922d917c3bbff34f58e9d2b0eb0e languageName: node linkType: hard -"postcss-colormin@npm:^5.3.1": - version: 5.3.1 - resolution: "postcss-colormin@npm:5.3.1" +"postcss-colormin@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-colormin@npm:6.1.0" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.23.0" caniuse-api: "npm:^3.0.0" - colord: "npm:^2.9.1" + colord: "npm:^2.9.3" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/c4ca6f335dd992dc8e3df24bffc3495c4e504eba8489c81cb6836fdce3203f423cf4c0b640c4b63c586f588c59d82adb5313c3c5d1a68113896d18ed71caa462 + postcss: ^8.4.31 + checksum: 10c0/0802963fa0d8f2fe408b2e088117670f5303c69a58c135f0ecf0e5ceff69e95e87111b22c4e29c9adb2f69aa8d3bc175f4e8e8708eeb99c9ffc36c17064de427 languageName: node linkType: hard -"postcss-convert-values@npm:^5.1.3": - version: 5.1.3 - resolution: "postcss-convert-values@npm:5.1.3" +"postcss-convert-values@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-convert-values@npm:6.1.0" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.23.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/cd10a81781a12487b2921ff84a1a068e948a1956b9539a284c202abecf4cacdd3e106eb026026b22dbf70933f4315c824c111f6b71f56c355e47b842ca9b1dec + postcss: ^8.4.31 + checksum: 10c0/a80066965cb58fe8fcaf79f306b32c83fc678e1f0678e43f4db3e9fee06eed6db92cf30631ad348a17492769d44757400493c91a33ee865ee8dedea9234a11f5 languageName: node linkType: hard -"postcss-discard-comments@npm:^5.1.2": - version: 5.1.2 - resolution: "postcss-discard-comments@npm:5.1.2" +"postcss-discard-comments@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-discard-comments@npm:6.0.2" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/cb5ba81623c498e18d406138e7d27d69fc668802a1139a8de69d28e80b3fe222cda7b634940512cae78d04f0c78afcd15d92bcf80e537c6c85fa8ff9cd61d00f + postcss: ^8.4.31 + checksum: 10c0/338a1fcba7e2314d956e5e5b9bd1e12e6541991bf85ac72aed6e229a029bf60edb31f11576b677623576169aa7d9c75e1be259ac7b50d0b735b841b5518f9da9 languageName: node linkType: hard -"postcss-discard-duplicates@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-discard-duplicates@npm:5.1.0" +"postcss-discard-duplicates@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-discard-duplicates@npm:6.0.3" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/3d3a49536c56097c06b4f085412e0cda0854fac1c559563ccb922d9fab6305ff13058cd6fee422aa66c1d7e466add4e7672d7ae2ff551a4af6f1a8d2142d471f + postcss: ^8.4.31 + checksum: 10c0/24d2f00e54668f2837eb38a64b1751d7a4a73b2752f9749e61eb728f1fae837984bc2b339f7f5207aff5f66f72551253489114b59b9ba21782072677a81d7d1b languageName: node linkType: hard -"postcss-discard-empty@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-discard-empty@npm:5.1.1" +"postcss-discard-empty@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-discard-empty@npm:6.0.3" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/36c8b2197af836dbd93168c72cde4edc1f10fe00e564824119da076d3764909745bb60e4ada04052322e26872d1bce6a37c56815f1c48c813a21adca1a41fbdc + postcss: ^8.4.31 + checksum: 10c0/1af08bb29f18eda41edf3602b257d89a4cf0a16f79fc773cfebd4a37251f8dbd9b77ac18efe55d0677d000b43a8adf2ef9328d31961c810e9433a38494a1fa65 languageName: node linkType: hard -"postcss-discard-overridden@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-discard-overridden@npm:5.1.0" +"postcss-discard-overridden@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-discard-overridden@npm:6.0.2" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/7d3fc0b0d90599606fc083327a7c24390f90270a94a0119af4b74815d518948581579281f63b9bfa62e2644edf59bc9e725dc04ea5ba213f697804f3fb4dd8dc + postcss: ^8.4.31 + checksum: 10c0/fda70ef3cd4cb508369c5bbbae44d7760c40ec9f2e65df1cd1b6e0314317fb1d25ae7f64987ca84e66889c1e9d1862487a6ce391c159dfe04d536597bfc5030d languageName: node linkType: hard -"postcss-discard-unused@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-discard-unused@npm:5.1.0" +"postcss-discard-unused@npm:^6.0.5": + version: 6.0.5 + resolution: "postcss-discard-unused@npm:6.0.5" dependencies: - postcss-selector-parser: "npm:^6.0.5" + postcss-selector-parser: "npm:^6.0.16" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/eb7649eae1ef9987c397f4f533eb83f4245686317a5a0b468affd875d4d22778b62134e638198750efbaa41b7b7767995a91e5eb58d5fbbfe097506a3311102b + postcss: ^8.4.31 + checksum: 10c0/fca82f17395a7fcc78eab4e03dfb05958beb240c10cacb3836b832c6ea99f5259980c70890a9b7d8b67adf8071b61f3fcf1b432c7a116397aaf67909366da5cc languageName: node linkType: hard @@ -10986,89 +10942,89 @@ __metadata: languageName: node linkType: hard -"postcss-merge-idents@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-merge-idents@npm:5.1.1" +"postcss-merge-idents@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-merge-idents@npm:6.0.3" dependencies: - cssnano-utils: "npm:^3.1.0" + cssnano-utils: "npm:^4.0.2" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/97552b831330a8055641d3aea7b9840c60922d22d7fefdaf109daa7dee543e48a93ea6189a5549798b3f29e66657bc5c520e76493a04f8f999b94a2c8fee6060 + postcss: ^8.4.31 + checksum: 10c0/fdb51d971df33218bd5fdd9619e5a4d854e23affcea51f96bf4391260cb8d0bec937854582fa9a19bde1fa1b2a43fa5a2f179da23a3adeb8e8d292a4749a8ed7 languageName: node linkType: hard -"postcss-merge-longhand@npm:^5.1.7": - version: 5.1.7 - resolution: "postcss-merge-longhand@npm:5.1.7" +"postcss-merge-longhand@npm:^6.0.5": + version: 6.0.5 + resolution: "postcss-merge-longhand@npm:6.0.5" dependencies: postcss-value-parser: "npm:^4.2.0" - stylehacks: "npm:^5.1.1" + stylehacks: "npm:^6.1.1" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/4d9f44b03f19522cc81ae4f5b1f2a9ef2db918dbd8b3042d4f1b2461b2230b8ec1269334db6a67a863ba68f64cabd712e6e45340ddb22a3fc03cd34df69d2bf0 + postcss: ^8.4.31 + checksum: 10c0/5a223a7f698c05ab42e9997108a7ff27ea1e0c33a11a353d65a04fc89c3b5b750b9e749550d76b6406329117a055adfc79dde7fee48dca5c8e167a2854ae3fea languageName: node linkType: hard -"postcss-merge-rules@npm:^5.1.4": - version: 5.1.4 - resolution: "postcss-merge-rules@npm:5.1.4" +"postcss-merge-rules@npm:^6.1.1": + version: 6.1.1 + resolution: "postcss-merge-rules@npm:6.1.1" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.23.0" caniuse-api: "npm:^3.0.0" - cssnano-utils: "npm:^3.1.0" - postcss-selector-parser: "npm:^6.0.5" + cssnano-utils: "npm:^4.0.2" + postcss-selector-parser: "npm:^6.0.16" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/e7686cdda052071bf98810ad381e26145c43a2286f9540f04f97ef93101604b78d478dd555db91e5f73751bb353c283ba75c2fcb16a3751ac7d93dc6a0130c41 + postcss: ^8.4.31 + checksum: 10c0/6d8952dbb19b1e59bf5affe0871fa1be6515103466857cff5af879d6cf619659f8642ec7a931cabb7cdbd393d8c1e91748bf70bee70fa3edea010d4e25786d04 languageName: node linkType: hard -"postcss-minify-font-values@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-minify-font-values@npm:5.1.0" +"postcss-minify-font-values@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-minify-font-values@npm:6.1.0" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/7aa4f93a853b657f79a8b28d0e924cafce3720086d9da02ce04b8b2f8de42e18ce32c8f7f1078390fb5ec82468e2d8e771614387cea3563f05fd9fa1798e1c59 + postcss: ^8.4.31 + checksum: 10c0/0d6567170c22a7db42096b5eac298f041614890fbe01759a9fa5ccda432f2bb09efd399d92c11bf6675ae13ccd259db4602fad3c358317dee421df5f7ab0a003 languageName: node linkType: hard -"postcss-minify-gradients@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-minify-gradients@npm:5.1.1" +"postcss-minify-gradients@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-minify-gradients@npm:6.0.3" dependencies: - colord: "npm:^2.9.1" - cssnano-utils: "npm:^3.1.0" + colord: "npm:^2.9.3" + cssnano-utils: "npm:^4.0.2" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/bcb2802d7c8f0f76c7cff089884844f26c24b95f35c3ec951d7dec8c212495d1873d6ba62d6225ce264570e8e0668e271f9bc79bb6f5d2429c1f8933f4e3021d + postcss: ^8.4.31 + checksum: 10c0/7fcbcec94fe5455b89fe1b424a451198e60e0407c894bbacdc062d9fdef2f8571b483b5c3bb17f22d2f1249431251b2de22e1e4e8b0614d10624f8ee6e71afd2 languageName: node linkType: hard -"postcss-minify-params@npm:^5.1.4": - version: 5.1.4 - resolution: "postcss-minify-params@npm:5.1.4" +"postcss-minify-params@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-minify-params@npm:6.1.0" dependencies: - browserslist: "npm:^4.21.4" - cssnano-utils: "npm:^3.1.0" + browserslist: "npm:^4.23.0" + cssnano-utils: "npm:^4.0.2" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/debce6f0f7dd9af69b4bb9e467ea1ccccff2d849b6020461a2b9741c0c137340e6076c245dc2e83880180eb2e82936280fa31dfe8608e5a2e3618f3d864314c5 + postcss: ^8.4.31 + checksum: 10c0/e5c38c3e5fb42e2ca165764f983716e57d854a63a477f7389ccc94cd2ab8123707006613bd7f29acc6eafd296fff513aa6d869c98ac52590f886d641cb21a59e languageName: node linkType: hard -"postcss-minify-selectors@npm:^5.2.1": - version: 5.2.1 - resolution: "postcss-minify-selectors@npm:5.2.1" +"postcss-minify-selectors@npm:^6.0.4": + version: 6.0.4 + resolution: "postcss-minify-selectors@npm:6.0.4" dependencies: - postcss-selector-parser: "npm:^6.0.5" + postcss-selector-parser: "npm:^6.0.16" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/f3f4ec110f5f697cfc9dde3e491ff10aa07509bf33cc940aa539e4b5b643d1b9f8bb97f8bb83d05fc96f5eeb220500ebdeffbde513bd176c0671e21c2c96fab9 + postcss: ^8.4.31 + checksum: 10c0/695ec2e1e3a7812b0cabe1105d0ed491760be3d8e9433914fb5af1fc30a84e6dc24089cd31b7e300de620b8e7adf806526c1acf8dd14077a7d1d2820c60a327c languageName: node linkType: hard @@ -11116,192 +11072,191 @@ __metadata: languageName: node linkType: hard -"postcss-normalize-charset@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-charset@npm:5.1.0" +"postcss-normalize-charset@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-charset@npm:6.0.2" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/aa481584d4db48e0dbf820f992fa235e6c41ff3d4701a62d349f33c1ad4c5c7dcdea3096db9ff2a5c9497e9bed2186d594ccdb1b42d57b30f58affba5829ad9c + postcss: ^8.4.31 + checksum: 10c0/af32a3b4cf94163d728b8aa935b2494c9f69fbc96a33b35f67ae15dbdef7fcc8732569df97cbaaf20ca6c0103c39adad0cfce2ba07ffed283796787f6c36f410 languageName: node linkType: hard -"postcss-normalize-display-values@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-display-values@npm:5.1.0" +"postcss-normalize-display-values@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-display-values@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/70b164fda885c097c02c98914fba4cd19b2382ff5f85f77e5315d88a1d477b4803f0f271d95a38e044e2a6c3b781c5c9bfb83222fc577199f2aeb0b8f4254e2f + postcss: ^8.4.31 + checksum: 10c0/782761850c7e697fdb6c3ff53076de716a71b60f9e835efb2f7ef238de347c88b5d55f0d43cf5c608e1ee58de65360e3d9fccd5f20774bba08ded7c87d8a5651 languageName: node linkType: hard -"postcss-normalize-positions@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-positions@npm:5.1.1" +"postcss-normalize-positions@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-positions@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/910d58991fd38a7cf6ed6471e6fa4a96349690ad1a99a02e8cac46d76ba5045f2fca453088b68b05ff665afd96dc617c4674c68acaeabbe83f502e4963fb78b1 + postcss: ^8.4.31 + checksum: 10c0/9fdd42a47226bbda5f68774f3c4c3a90eb4fa708aef5a997c6a52fe6cac06585c9774038fe3bc1aa86a203c29223b8d8db6ebe7580c1aa293154f2b48db0b038 languageName: node linkType: hard -"postcss-normalize-repeat-style@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-repeat-style@npm:5.1.1" +"postcss-normalize-repeat-style@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-repeat-style@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/57c3817a2107ebb17e4ceee3831d230c72a3ccc7650f4d5f12aa54f6ea766777401f4f63b2615b721350b2e8c7ae0b0bbc3f1c5ad4e7fa737c9efb92cfa0cbb0 + postcss: ^8.4.31 + checksum: 10c0/9133ccbdf1286920c1cd0d01c1c5fa0bd3251b717f2f3e47d691dcc44978ac1dc419d20d9ae5428bd48ee542059e66b823ba699356f5968ccced5606c7c7ca34 languageName: node linkType: hard -"postcss-normalize-string@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-string@npm:5.1.0" +"postcss-normalize-string@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-string@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/a5e9979998f478d385ddff865bdd8a4870af69fa8c91c9398572a299ff39b39a6bda922a48fab0d2cddc639f30159c39baaed880ed7d13cd27cc64eaa9400b3b + postcss: ^8.4.31 + checksum: 10c0/fecc2d52c4029b24fecf2ca2fb45df5dbdf9f35012194ad4ea80bc7be3252cdcb21a0976400902320595aa6178f2cc625cc804c6b6740aef6efa42105973a205 languageName: node linkType: hard -"postcss-normalize-timing-functions@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-timing-functions@npm:5.1.0" +"postcss-normalize-timing-functions@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-timing-functions@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/afb34d8e313004ae8cd92910bf1a6eb9885f29ae803cd9032b6dfe7b67a9ad93f800976f10e55170b2b08fe9484825e9272629971186812c2764c73843268237 + postcss: ^8.4.31 + checksum: 10c0/a22af0b3374704e59ae70bbbcc66b7029137e284f04e30a2ad548818d1540d6c1ed748dd8f689b9b6df5c1064085a00ad07b6f7e25ffaad49d4e661b616cdeae languageName: node linkType: hard -"postcss-normalize-unicode@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-unicode@npm:5.1.1" +"postcss-normalize-unicode@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-normalize-unicode@npm:6.1.0" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.23.0" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/c102888d488d05c53ab10ffcd4e0efb892ef0cc2f9b0abe9c9b175a2d7a9c226981ca6806ed9e5c1b82a8190f2b3a8342a6de800f019b417130661b0787ff6d7 + postcss: ^8.4.31 + checksum: 10c0/ff5746670d94dd97b49a0955c3c71ff516fb4f54bbae257f877d179bacc44a62e50a0fd6e7ddf959f2ca35c335de4266b0c275d880bb57ad7827189339ab1582 languageName: node linkType: hard -"postcss-normalize-url@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-normalize-url@npm:5.1.0" +"postcss-normalize-url@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-url@npm:6.0.2" dependencies: - normalize-url: "npm:^6.0.1" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/a016cefd1ef80f74ef9dbed50593d3b533101e93aaadfc292896fddd8d6c3eb732a9fc5cb2e0d27f79c1f60f0fdfc40b045a494b514451e9610c6acf9392eb98 + postcss: ^8.4.31 + checksum: 10c0/4718f1c0657788d2c560b340ee8e0a4eb3eb053eba6fbbf489e9a6e739b4c5f9ce1957f54bd03497c50a1f39962bf6ab9ff6ba4976b69dd160f6afd1670d69b7 languageName: node linkType: hard -"postcss-normalize-whitespace@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-normalize-whitespace@npm:5.1.1" +"postcss-normalize-whitespace@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-normalize-whitespace@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/d7b53dd90fe369bfb9838a40096db904a41f50dadfd04247ec07d7ab5588c3d4e70d1c7f930523bd061cb74e6683cef45c6e6c4eb57ea174ee3fc99f3de222d1 + postcss: ^8.4.31 + checksum: 10c0/d5275a88e29a894aeb83a2a833e816d2456dbf3f39961628df596ce205dcc4895186a023812ff691945e0804241ccc53e520d16591b5812288474b474bbaf652 languageName: node linkType: hard -"postcss-ordered-values@npm:^5.1.3": - version: 5.1.3 - resolution: "postcss-ordered-values@npm:5.1.3" +"postcss-ordered-values@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-ordered-values@npm:6.0.2" dependencies: - cssnano-utils: "npm:^3.1.0" + cssnano-utils: "npm:^4.0.2" postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/55abfbd2c7267eefed62a881ed0b5c0c98409c50a589526a3ebb9f8d879979203e523b8888fa84732bdd1ac887f721287a037002fa70c27c8d33f1bcbae9d9c6 + postcss: ^8.4.31 + checksum: 10c0/aece23a289228aa804217a85f8da198d22b9123f02ca1310b81834af380d6fbe115e4300683599b4a2ab7f1c6a1dbd6789724c47c38e2b0a3774f2ea4b4f0963 languageName: node linkType: hard -"postcss-reduce-idents@npm:^5.2.0": - version: 5.2.0 - resolution: "postcss-reduce-idents@npm:5.2.0" +"postcss-reduce-idents@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-reduce-idents@npm:6.0.3" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/f7a6bc0caa531e7983c98a79d796e078ff8d02df1bb38357a5d7f11ddb5842d6777ab090fd811e889ab1a5e92ba2644c9a9e5e353f7c9f7ce85dbf1e07001c29 + postcss: ^8.4.31 + checksum: 10c0/d9f9209e52ebb3d1d7feefc0be24fc74792e064e0fdec99554f050c6b882c61073d5d40986c545061b30e5ead881615e92c965dc765d8d83b2dec10d6a664e1f languageName: node linkType: hard -"postcss-reduce-initial@npm:^5.1.2": - version: 5.1.2 - resolution: "postcss-reduce-initial@npm:5.1.2" +"postcss-reduce-initial@npm:^6.1.0": + version: 6.1.0 + resolution: "postcss-reduce-initial@npm:6.1.0" dependencies: - browserslist: "npm:^4.21.4" + browserslist: "npm:^4.23.0" caniuse-api: "npm:^3.0.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/ddb2ce61c8d0997184f08200eafdf32b3c67e88228fee960f5e2010c32da0c1d8ea07712585bf2b3aaa15f583066401d45db2c1131527c5116ca6794ebebd865 + postcss: ^8.4.31 + checksum: 10c0/a8f28cf51ce9a1b9423cce1a01c1d7cbee90125930ec36435a0073e73aef402d90affe2fd3600c964b679cf738869fda447b95a9acce74414e9d67d5c6ba8646 languageName: node linkType: hard -"postcss-reduce-transforms@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-reduce-transforms@npm:5.1.0" +"postcss-reduce-transforms@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-reduce-transforms@npm:6.0.2" dependencies: postcss-value-parser: "npm:^4.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/caefaeb78652ad8701b94e91500e38551255e4899fa298a7357519a36cbeebae088eab4535e00f17675a1230f448c4a7077045639d496da4614a46bc41df4add + postcss: ^8.4.31 + checksum: 10c0/755ef27b3d083f586ac831f0c611a66e76f504d27e2100dc7674f6b86afad597901b4520cb889fe58ca70e852aa7fd0c0acb69a63d39dfe6a95860b472394e7c languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.0.5, postcss-selector-parser@npm:^6.0.9": - version: 6.0.16 - resolution: "postcss-selector-parser@npm:6.0.16" +"postcss-selector-parser@npm:^6.0.11, postcss-selector-parser@npm:^6.0.16, postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4": + version: 6.1.0 + resolution: "postcss-selector-parser@npm:6.1.0" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 10c0/0e11657cb3181aaf9ff67c2e59427c4df496b4a1b6a17063fae579813f80af79d444bf38f82eeb8b15b4679653fd3089e66ef0283f9aab01874d885e6cf1d2cf + checksum: 10c0/91e9c6434772506bc7f318699dd9d19d32178b52dfa05bed24cb0babbdab54f8fb765d9920f01ac548be0a642aab56bce493811406ceb00ae182bbb53754c473 languageName: node linkType: hard -"postcss-sort-media-queries@npm:^4.4.1": - version: 4.4.1 - resolution: "postcss-sort-media-queries@npm:4.4.1" +"postcss-sort-media-queries@npm:^5.2.0": + version: 5.2.0 + resolution: "postcss-sort-media-queries@npm:5.2.0" dependencies: - sort-css-media-queries: "npm:2.1.0" + sort-css-media-queries: "npm:2.2.0" peerDependencies: - postcss: ^8.4.16 - checksum: 10c0/8bbc604daee29dc3e1f5090df972599c3c0eb08b37650e16c134a040cc1357484a48bbe03dac2977d616be1d490cde2934226fa1e6f7e52f4f5e7bf8f57e98d6 + postcss: ^8.4.23 + checksum: 10c0/5e7f265a21999bdbf6592f7e15b3e889dd93bc9b15fe048958e8f85603ac276e69ef50305e8b41b10f4eea68917c9c25c7956fa9c3ba7f8577c1149416d35c4e languageName: node linkType: hard -"postcss-svgo@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-svgo@npm:5.1.0" +"postcss-svgo@npm:^6.0.3": + version: 6.0.3 + resolution: "postcss-svgo@npm:6.0.3" dependencies: postcss-value-parser: "npm:^4.2.0" - svgo: "npm:^2.7.0" + svgo: "npm:^3.2.0" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/309634a587e38fef244648bc9cd1817e12144868d24f1173d87b1edc14a4a7fca614962b2cb9d93f4801e11bd8d676083986ad40ebab4438cb84731ce1571994 + postcss: ^8.4.31 + checksum: 10c0/994b15a88cbb411f32cfa98957faa5623c76f2d75fede51f5f47238f06b367ebe59c204fecbdaf21ccb9e727239a4b290087e04c502392658a0c881ddfbd61f2 languageName: node linkType: hard -"postcss-unique-selectors@npm:^5.1.1": - version: 5.1.1 - resolution: "postcss-unique-selectors@npm:5.1.1" +"postcss-unique-selectors@npm:^6.0.4": + version: 6.0.4 + resolution: "postcss-unique-selectors@npm:6.0.4" dependencies: - postcss-selector-parser: "npm:^6.0.5" + postcss-selector-parser: "npm:^6.0.16" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/484f6409346d6244c134c5cdcd62f4f2751b269742f95222f13d8bac5fb224471ffe04e28a354670cbe0bdc2707778ead034fc1b801b473ffcbea5436807de30 + postcss: ^8.4.31 + checksum: 10c0/bfb99d8a7c675c93f2e65c9d9d563477bfd46fdce9e2727d42d57982b31ccbaaf944e8034bfbefe48b3119e77fba7eb1b181c19b91cb3a5448058fa66a7c9ae9 languageName: node linkType: hard @@ -11312,16 +11267,16 @@ __metadata: languageName: node linkType: hard -"postcss-zindex@npm:^5.1.0": - version: 5.1.0 - resolution: "postcss-zindex@npm:5.1.0" +"postcss-zindex@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-zindex@npm:6.0.2" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/f739d3c0dec3875c770d6a101bc6ac1ccf545b0121e75b7fade911ad6ce454a2af87e6c3587c80a76a00f217e1761778f2083c2807eb78c17bfc53624b625ded + postcss: ^8.4.31 + checksum: 10c0/346291703e1f2dd954144d2bb251713dad6ae10e8aa05c3873dee2fc7a30d72da7866bec060abd932b9b839bc1495f73d813dde5312750a69d7ad33c435ce7ea languageName: node linkType: hard -"postcss@npm:^8.4.17, postcss@npm:^8.4.21, postcss@npm:^8.4.26, postcss@npm:^8.4.33": +"postcss@npm:^8.4.21, postcss@npm:^8.4.24, postcss@npm:^8.4.26, postcss@npm:^8.4.33, postcss@npm:^8.4.38": version: 8.4.38 resolution: "postcss@npm:8.4.38" dependencies: @@ -11391,6 +11346,13 @@ __metadata: languageName: node linkType: hard +"proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + "process-nextick-args@npm:~2.0.0": version: 2.0.1 resolution: "process-nextick-args@npm:2.0.1" @@ -11640,14 +11602,14 @@ __metadata: linkType: hard "react-dom@npm:^18.2.0": - version: 18.3.0 - resolution: "react-dom@npm:18.3.0" + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" dependencies: loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.1" + scheduler: "npm:^0.23.2" peerDependencies: - react: ^18.3.0 - checksum: 10c0/5072767a5d67e242579e5ed46094bf5665385fcfc50584e818273ba668f768348bfd9101841fa3986635635b1238a7a5b2d28b73b134ebbe58a415311afd60d4 + react: ^18.3.1 + checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 languageName: node linkType: hard @@ -11666,16 +11628,15 @@ __metadata: linkType: hard "react-helmet-async@npm:*": - version: 2.0.4 - resolution: "react-helmet-async@npm:2.0.4" + version: 2.0.5 + resolution: "react-helmet-async@npm:2.0.5" dependencies: invariant: "npm:^2.2.4" react-fast-compare: "npm:^3.2.2" shallowequal: "npm:^1.1.0" peerDependencies: react: ^16.6.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/91f99150c0cfb3853fc68658c10ff8e63bde4e635bd8ae5e820b586b2a9e45af78b7f9040d399aae55ab5698a588055549424084b09e482be2031ba7a85dee3e + checksum: 10c0/f390ea8bf13c2681850e5f8eb5b73d8613f407c245a5fd23e9db9b2cc14a3700dd1ce992d3966632886d1d613083294c2aeee009193f49dfa7d145d9f13ea2b0 languageName: node linkType: hard @@ -11703,11 +11664,11 @@ __metadata: linkType: hard "react-json-view-lite@npm:^1.2.0": - version: 1.3.0 - resolution: "react-json-view-lite@npm:1.3.0" + version: 1.4.0 + resolution: "react-json-view-lite@npm:1.4.0" peerDependencies: react: ^16.13.1 || ^17.0.0 || ^18.0.0 - checksum: 10c0/0411299a93c53d6f842ab43ebe71c2959d04b5d1d6320f8a2235f945e1de88578905fdeea4f7cc6a8bef030b959cc3474ac2252226b5093497ece797d0fca09d + checksum: 10c0/80dd21b14f9dcd93b2f473084aaa934594834a98ae2ed5725c98fae34486226d2eaa69a0bc4233f89b7bab4825e2d393efd6f7d39d59aa37a5bb44a61785f7e5 languageName: node linkType: hard @@ -11733,6 +11694,17 @@ __metadata: languageName: node linkType: hard +"react-loadable@npm:@docusaurus/react-loadable@6.0.0": + version: 6.0.0 + resolution: "@docusaurus/react-loadable@npm:6.0.0" + dependencies: + "@types/react": "npm:*" + peerDependencies: + react: "*" + checksum: 10c0/6b145d1a8d2e7342ceef58dd154aa990322f72a6cb98955ab8ce8e3f0dc7f0c5d00f9c2e4efa8d356c5effed72a130b5588857332b11faba0398f5429b484b04 + languageName: node + linkType: hard + "react-router-config@npm:^5.1.1": version: 5.1.1 resolution: "react-router-config@npm:5.1.1" @@ -11782,11 +11754,11 @@ __metadata: linkType: hard "react@npm:^18.2.0": - version: 18.3.0 - resolution: "react@npm:18.3.0" + version: 18.3.1 + resolution: "react@npm:18.3.1" dependencies: loose-envify: "npm:^1.1.0" - checksum: 10c0/ad87bbfdb0c5466148c657da18b0d5458e835389fc591d59840f0e6ec797a004073a01c8cdbff1767a8774c7219054a56f74dacd67bdbb849f1314e427999268 + checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 languageName: node linkType: hard @@ -12223,13 +12195,13 @@ __metadata: linkType: hard "rimraf@npm:^5.0.0": - version: 5.0.5 - resolution: "rimraf@npm:5.0.5" + version: 5.0.7 + resolution: "rimraf@npm:5.0.7" dependencies: glob: "npm:^10.3.7" bin: rimraf: dist/esm/bin.mjs - checksum: 10c0/d50dbe724f33835decd88395b25ed35995077c60a50ae78ded06e0185418914e555817aad1b4243edbff2254548c2f6ad6f70cc850040bebb4da9e8cc016f586 + checksum: 10c0/bd6dbfaa98ae34ce1e54d1e06045d2d63e8859d9a1979bb4a4628b652b459a2d17b17dc20ee072b034bd2d09bd691e801d24c4d9cfe94e16fdbcc8470a1d4807 languageName: node linkType: hard @@ -12250,12 +12222,12 @@ __metadata: "@apify/eslint-config-ts": "npm:^0.4.0" "@apify/tsconfig": "npm:^0.1.0" "@apify/utilities": "npm:^2.8.0" - "@docusaurus/core": "npm:3.2.1" - "@docusaurus/mdx-loader": "npm:3.2.1" - "@docusaurus/module-type-aliases": "npm:3.2.1" - "@docusaurus/plugin-client-redirects": "npm:3.2.1" - "@docusaurus/preset-classic": "npm:3.2.1" - "@docusaurus/types": "npm:3.2.1" + "@docusaurus/core": "npm:3.3.2" + "@docusaurus/mdx-loader": "npm:3.3.2" + "@docusaurus/module-type-aliases": "npm:3.3.2" + "@docusaurus/plugin-client-redirects": "npm:3.3.2" + "@docusaurus/preset-classic": "npm:3.3.2" + "@docusaurus/types": "npm:3.3.2" "@giscus/react": "npm:^3.0.0" "@mdx-js/react": "npm:^3.0.1" "@types/react": "npm:^18.0.28" @@ -12368,12 +12340,12 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.1": - version: 0.23.1 - resolution: "scheduler@npm:0.23.1" +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" dependencies: loose-envify: "npm:^1.1.0" - checksum: 10c0/cfda827a445fb57192e05275040eccc7c5e2749b98f15559520c7f6539d89d75633bb8b6c1cedf56ca0546630b72d0958bf00b63e2b8f9296e87d0d9d2d50e35 + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 languageName: node linkType: hard @@ -12399,7 +12371,7 @@ __metadata: languageName: node linkType: hard -"schema-utils@npm:^4.0.0": +"schema-utils@npm:^4.0.0, schema-utils@npm:^4.0.1": version: 4.2.0 resolution: "schema-utils@npm:4.2.0" dependencies: @@ -12457,13 +12429,11 @@ __metadata: linkType: hard "semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.4, semver@npm:^7.6.0": - version: 7.6.0 - resolution: "semver@npm:7.6.0" - dependencies: - lru-cache: "npm:^6.0.0" + version: 7.6.2 + resolution: "semver@npm:7.6.2" bin: semver: bin/semver.js - checksum: 10c0/fbfe717094ace0aa8d6332d7ef5ce727259815bd8d8815700853f4faf23aacbd7192522f0dc5af6df52ef4fa85a355ebd2f5d39f554bd028200d6cf481ab9b53 + checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c languageName: node linkType: hard @@ -12701,8 +12671,8 @@ __metadata: linkType: hard "sitemap@npm:^7.1.1": - version: 7.1.1 - resolution: "sitemap@npm:7.1.1" + version: 7.1.2 + resolution: "sitemap@npm:7.1.2" dependencies: "@types/node": "npm:^17.0.5" "@types/sax": "npm:^1.2.1" @@ -12710,7 +12680,7 @@ __metadata: sax: "npm:^1.2.4" bin: sitemap: dist/cli.js - checksum: 10c0/d25abe5c78f08e6014792e0f4d59353042a5a795788decdd87cb03bda736d248426a618e5028e18325f04b3e9d0ecb02d126ed6177365aa2703fa77df8f4f4e0 + checksum: 10c0/01dd1268c0d4b89f8ef082bcb9ef18d0182d00d1622e9c54743474918169491e5360538f9a01a769262e0fe23d6e3822a90680eff0f076cf87b68d459014a34c languageName: node linkType: hard @@ -12754,6 +12724,16 @@ __metadata: languageName: node linkType: hard +"snake-case@npm:^3.0.4": + version: 3.0.4 + resolution: "snake-case@npm:3.0.4" + dependencies: + dot-case: "npm:^3.0.4" + tslib: "npm:^2.0.3" + checksum: 10c0/ab19a913969f58f4474fe9f6e8a026c8a2142a01f40b52b79368068343177f818cdfef0b0c6b9558f298782441d5ca8ed5932eb57822439fad791d866e62cecd + languageName: node + linkType: hard + "sockjs@npm:^0.3.24": version: 0.3.24 resolution: "sockjs@npm:0.3.24" @@ -12786,14 +12766,14 @@ __metadata: languageName: node linkType: hard -"sort-css-media-queries@npm:2.1.0": - version: 2.1.0 - resolution: "sort-css-media-queries@npm:2.1.0" - checksum: 10c0/6b39dd2503d8279688fee837c63bdf3b49eea14d10d5ae09d9e99e4a0b3da1b702c3931e8f793b702b9ea8929a9389ba8d6345b58b5d1f0ec3e84920685a724a +"sort-css-media-queries@npm:2.2.0": + version: 2.2.0 + resolution: "sort-css-media-queries@npm:2.2.0" + checksum: 10c0/7478308c7ca93409f959ab993d41de2f0515ed5f51b671908ecb777aae0d63be97b454d59d80e14ee4874884618a2e825d4ae7ccb225779276904dd175f4e766 languageName: node linkType: hard -"source-map-js@npm:^1.2.0": +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.0": version: 1.2.0 resolution: "source-map-js@npm:1.2.0" checksum: 10c0/7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4 @@ -12810,7 +12790,7 @@ __metadata: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0": +"source-map@npm:^0.6.0, source-map@npm:~0.6.0": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 @@ -12880,18 +12860,11 @@ __metadata: linkType: hard "ssri@npm:^10.0.0": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" + version: 10.0.6 + resolution: "ssri@npm:10.0.6" dependencies: minipass: "npm:^7.0.3" - checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 - languageName: node - linkType: hard - -"stable@npm:^0.1.8": - version: 0.1.8 - resolution: "stable@npm:0.1.8" - checksum: 10c0/df74b5883075076e78f8e365e4068ecd977af6c09da510cfc3148a303d4b87bc9aa8f7c48feb67ed4ef970b6140bd9eabba2129e28024aa88df5ea0114cba39d + checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 languageName: node linkType: hard @@ -13112,15 +13085,15 @@ __metadata: languageName: node linkType: hard -"stylehacks@npm:^5.1.1": - version: 5.1.1 - resolution: "stylehacks@npm:5.1.1" +"stylehacks@npm:^6.1.1": + version: 6.1.1 + resolution: "stylehacks@npm:6.1.1" dependencies: - browserslist: "npm:^4.21.4" - postcss-selector-parser: "npm:^6.0.4" + browserslist: "npm:^4.23.0" + postcss-selector-parser: "npm:^6.0.16" peerDependencies: - postcss: ^8.2.15 - checksum: 10c0/402c2b545eeda0e972f125779adddc88df11bcf3a89de60c92026bd98cd49c1abffcd5bfe41766398835e0a1c7e5e72bdb6905809ecbb60716cd8d3a32ea7cd3 + postcss: ^8.4.31 + checksum: 10c0/2dd2bccfd8311ff71492e63a7b8b86c3d7b1fff55d4ba5a2357aff97743e633d351cdc2f5ae3c0057637d00dab4ef5fc5b218a1b370e4585a41df22b5a5128be languageName: node linkType: hard @@ -13165,20 +13138,20 @@ __metadata: languageName: node linkType: hard -"svgo@npm:^2.7.0, svgo@npm:^2.8.0": - version: 2.8.0 - resolution: "svgo@npm:2.8.0" +"svgo@npm:^3.0.2, svgo@npm:^3.2.0": + version: 3.3.2 + resolution: "svgo@npm:3.3.2" dependencies: "@trysound/sax": "npm:0.2.0" commander: "npm:^7.2.0" - css-select: "npm:^4.1.3" - css-tree: "npm:^1.1.3" - csso: "npm:^4.2.0" + css-select: "npm:^5.1.0" + css-tree: "npm:^2.3.1" + css-what: "npm:^6.1.0" + csso: "npm:^5.0.5" picocolors: "npm:^1.0.0" - stable: "npm:^0.1.8" bin: - svgo: bin/svgo - checksum: 10c0/0741f5d5cad63111a90a0ce7a1a5a9013f6d293e871b75efe39addb57f29a263e45294e485a4d2ff9cc260a5d142c8b5937b2234b4ef05efdd2706fb2d360ecc + svgo: ./bin/svgo + checksum: 10c0/a6badbd3d1d6dbb177f872787699ab34320b990d12e20798ecae915f0008796a0f3c69164f1485c9def399e0ce0a5683eb4a8045e51a5e1c364bb13a0d9f79e1 languageName: node linkType: hard @@ -13233,8 +13206,8 @@ __metadata: linkType: hard "terser@npm:^5.10.0, terser@npm:^5.15.1, terser@npm:^5.26.0": - version: 5.30.4 - resolution: "terser@npm:5.30.4" + version: 5.31.0 + resolution: "terser@npm:5.31.0" dependencies: "@jridgewell/source-map": "npm:^0.3.3" acorn: "npm:^8.8.2" @@ -13242,7 +13215,7 @@ __metadata: source-map-support: "npm:~0.5.20" bin: terser: bin/terser - checksum: 10c0/c18b7d7cf01e079e96fd95e267ea1c2e22a098965c847d32c507a2f79f8d06f8107333184a3a9371693e072ab9dbc53a0a03e7d089044f9e3eae64589b360e4f + checksum: 10c0/cb127a579b03fb9dcee0d293ff24814deedcd430f447933b618e8593b7454f615b5c8493c68e86a4b0188769d5ea2af5251b5d507edb208114f7e8aebdc7c850 languageName: node linkType: hard @@ -13664,16 +13637,16 @@ __metadata: linkType: hard "update-browserslist-db@npm:^1.0.13": - version: 1.0.13 - resolution: "update-browserslist-db@npm:1.0.13" + version: 1.0.16 + resolution: "update-browserslist-db@npm:1.0.16" dependencies: - escalade: "npm:^3.1.1" - picocolors: "npm:^1.0.0" + escalade: "npm:^3.1.2" + picocolors: "npm:^1.0.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 + checksum: 10c0/5995399fc202adbb51567e4810e146cdf7af630a92cc969365a099150cb00597e425cc14987ca7080b09a4d0cfd2a3de53fbe72eebff171aed7f9bb81f9bf405 languageName: node linkType: hard @@ -13699,7 +13672,7 @@ __metadata: languageName: node linkType: hard -"uri-js@npm:^4.2.2": +"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -14125,6 +14098,13 @@ __metadata: languageName: node linkType: hard +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -14182,8 +14162,8 @@ __metadata: linkType: hard "ws@npm:^8.13.0": - version: 8.16.0 - resolution: "ws@npm:8.16.0" + version: 8.17.0 + resolution: "ws@npm:8.17.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -14192,7 +14172,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 10c0/a7783bb421c648b1e622b423409cb2a58ac5839521d2f689e84bc9dc41d59379c692dd405b15a997ea1d4c0c2e5314ad707332d0c558f15232d2bc07c0b4618a + checksum: 10c0/55241ec93a66fdfc4bf4f8bc66c8eb038fda2c7a4ee8f6f157f2ca7dc7aa76aea0c0da0bf3adb2af390074a70a0e45456a2eaf80e581e630b75df10a64b0a990 languageName: node linkType: hard @@ -14228,7 +14208,7 @@ __metadata: languageName: node linkType: hard -"yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": +"yaml@npm:^1.7.2": version: 1.10.2 resolution: "yaml@npm:1.10.2" checksum: 10c0/5c28b9eb7adc46544f28d9a8d20c5b3cb1215a886609a2fd41f51628d8aaa5878ccd628b755dbcd29f6bb4921bd04ffbc6dcc370689bb96e594e2f9813d2605f diff --git a/yarn.lock b/yarn.lock index 7e821a31ea4d..f2380b3b1500 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,13 +5,6 @@ __metadata: version: 8 cacheKey: 10c0 -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f - languageName: node - linkType: hard - "@ampproject/remapping@npm:^2.2.1": version: 2.3.0 resolution: "@ampproject/remapping@npm:2.3.0" @@ -22,10 +15,10 @@ __metadata: languageName: node linkType: hard -"@apify/consts@npm:^2.20.0, @apify/consts@npm:^2.23.0, @apify/consts@npm:^2.25.0, @apify/consts@npm:^2.26.0": - version: 2.26.0 - resolution: "@apify/consts@npm:2.26.0" - checksum: 10c0/34fea5e981432b98192f52e2d03b3322966ea0e6b136513079cad8dbbbea85b1a80ed07f3cacc7386dd17ef971dd1772758983087a58643d4d2a69ff26e4a6db +"@apify/consts@npm:^2.20.0, @apify/consts@npm:^2.23.0, @apify/consts@npm:^2.25.0, @apify/consts@npm:^2.27.0": + version: 2.27.0 + resolution: "@apify/consts@npm:2.27.0" + checksum: 10c0/66f300e9e93d3bb7c4976e38f41327e10e2e6091d053fe22c7cc0986715a4d47db0df0ebca2c40a94ddd4b0ee138b527d400fdb93ba7fb85dfacbdaf1e2926f7 languageName: node linkType: hard @@ -73,23 +66,23 @@ __metadata: linkType: hard "@apify/input_secrets@npm:^1.1.40": - version: 1.1.48 - resolution: "@apify/input_secrets@npm:1.1.48" + version: 1.1.49 + resolution: "@apify/input_secrets@npm:1.1.49" dependencies: - "@apify/log": "npm:^2.5.0" - "@apify/utilities": "npm:^2.10.1" + "@apify/log": "npm:^2.5.1" + "@apify/utilities": "npm:^2.10.2" ow: "npm:^0.28.2" - checksum: 10c0/aefde222980c270391a3d4677f00110c402c1d120cb5cb8f4071a7fa19e2320737f20772540e7e671f5ca25aaca34775d0d6a91cf53a6768ecbb70d5cb08f604 + checksum: 10c0/ef2cd7ac221b2478cfcb0d6e436f2e24de897fd6454c9cb6040f99c1338340767337ab0929374e08491d14a23861385f7e56a0bdcf6fc75d4ea30516d3c84921 languageName: node linkType: hard -"@apify/log@npm:^2.2.6, @apify/log@npm:^2.4.0, @apify/log@npm:^2.4.3, @apify/log@npm:^2.5.0": - version: 2.5.0 - resolution: "@apify/log@npm:2.5.0" +"@apify/log@npm:^2.2.6, @apify/log@npm:^2.4.0, @apify/log@npm:^2.4.3, @apify/log@npm:^2.5.1": + version: 2.5.1 + resolution: "@apify/log@npm:2.5.1" dependencies: - "@apify/consts": "npm:^2.26.0" + "@apify/consts": "npm:^2.27.0" ansi-colors: "npm:^4.1.1" - checksum: 10c0/f63d6ff0ba69f3c944a3f9c7c125dcc61bfbc71a4674cc93549179d2810ca2f31883f6bdc5edc7146048b9e9a2439c478948ba63a51910b3e8f811c8f74df6a4 + checksum: 10c0/c465fc1a2c3a7fda11490ea07463cf17c6646c5763f4b67dc3e3f8e69cc965f36aa839fe5bd26cad416ae4e4b333887f184135e9bcdf9d57b2c3f7f6401f895e languageName: node linkType: hard @@ -105,12 +98,12 @@ __metadata: linkType: hard "@apify/pseudo_url@npm:^2.0.30": - version: 2.0.40 - resolution: "@apify/pseudo_url@npm:2.0.40" + version: 2.0.41 + resolution: "@apify/pseudo_url@npm:2.0.41" dependencies: - "@apify/log": "npm:^2.5.0" + "@apify/log": "npm:^2.5.1" "@sapphire/shapeshift": "npm:^3.6.0" - checksum: 10c0/f76c020c77e48c5bfb2d2f48756c18be3b2b08430a6fe58a537324629d305e0b30e1d5e82f8bd7337d42673b3222fbdc1b08307953c23bc8301318879cef3ccb + checksum: 10c0/4c3ccbfdf366e19666e2a5be0b2586b6d682d6f003ba81f7051578b6382ca6fd88e8a58fbe2d47aec7fd30df9d5405ccf54e5e3adea0bd51161420f875288ce7 languageName: node linkType: hard @@ -128,78 +121,78 @@ __metadata: languageName: node linkType: hard -"@apify/utilities@npm:^2.10.1, @apify/utilities@npm:^2.7.10, @apify/utilities@npm:^2.9.3": - version: 2.10.1 - resolution: "@apify/utilities@npm:2.10.1" +"@apify/utilities@npm:^2.10.2, @apify/utilities@npm:^2.7.10, @apify/utilities@npm:^2.9.3": + version: 2.10.2 + resolution: "@apify/utilities@npm:2.10.2" dependencies: - "@apify/consts": "npm:^2.26.0" - "@apify/log": "npm:^2.5.0" - checksum: 10c0/8b319bdeff6136dbeb8300a7002fd25124a8f283c23980c5a4f950c83432d2c23ed391a8832dc5923f490e1c35fca86e9328b9882a452da5bb95c5acd4d71f9b + "@apify/consts": "npm:^2.27.0" + "@apify/log": "npm:^2.5.1" + checksum: 10c0/dbc641f0aa14795bdc85b345a06d3507b3ac80fc088e74d551cdc568c83c5106e5dc68a51c2382005409d4ca3c31140012e1605e8f3a2186966aadebdaee5013 languageName: node linkType: hard "@babel/code-frame@npm:^7.0.0": - version: 7.24.2 - resolution: "@babel/code-frame@npm:7.24.2" + version: 7.24.6 + resolution: "@babel/code-frame@npm:7.24.6" dependencies: - "@babel/highlight": "npm:^7.24.2" + "@babel/highlight": "npm:^7.24.6" picocolors: "npm:^1.0.0" - checksum: 10c0/d1d4cba89475ab6aab7a88242e1fd73b15ecb9f30c109b69752956434d10a26a52cbd37727c4eca104b6d45227bd1dfce39a6a6f4a14c9b2f07f871e968cf406 + checksum: 10c0/c93c6d1763530f415218c31d07359364397f19b70026abdff766164c21ed352a931cf07f3102c5fb9e04792de319e332d68bcb1f7debef601a02197f90f9ba24 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.23.4": - version: 7.24.1 - resolution: "@babel/helper-string-parser@npm:7.24.1" - checksum: 10c0/2f9bfcf8d2f9f083785df0501dbab92770111ece2f90d120352fda6dd2a7d47db11b807d111e6f32aa1ba6d763fe2dc6603d153068d672a5d0ad33ca802632b2 +"@babel/helper-string-parser@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-string-parser@npm:7.24.6" + checksum: 10c0/95115bf676e92c4e99166395649108d97447e6cabef1fabaec8cdbc53a43f27b5df2268ff6534439d405bc1bd06685b163eb3b470455bd49f69159dada414145 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e +"@babel/helper-validator-identifier@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/helper-validator-identifier@npm:7.24.6" + checksum: 10c0/d29d2e3fca66c31867a009014169b93f7bc21c8fc1dd7d0b9d85d7a4000670526ff2222d966febb75a6e12f9859a31d1e75b558984e28ecb69651314dd0a6fd1 languageName: node linkType: hard -"@babel/highlight@npm:^7.24.2": - version: 7.24.2 - resolution: "@babel/highlight@npm:7.24.2" +"@babel/highlight@npm:^7.24.6": + version: 7.24.6 + resolution: "@babel/highlight@npm:7.24.6" dependencies: - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-validator-identifier": "npm:^7.24.6" chalk: "npm:^2.4.2" js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/98ce00321daedeed33a4ed9362dc089a70375ff1b3b91228b9f05e6591d387a81a8cba68886e207861b8871efa0bc997ceabdd9c90f6cce3ee1b2f7f941b42db + checksum: 10c0/5bbc31695e5d44e97feb267f7aaf4c52908560d184ffeb2e2e57aae058d40125592931883889413e19def3326895ddb41ff45e090fa90b459d8c294b4ffc238c languageName: node linkType: hard "@babel/parser@npm:^7.24.4": - version: 7.24.4 - resolution: "@babel/parser@npm:7.24.4" + version: 7.24.6 + resolution: "@babel/parser@npm:7.24.6" bin: parser: ./bin/babel-parser.js - checksum: 10c0/8381e1efead5069cb7ed2abc3a583f4a86289b2f376c75cecc69f59a8eb36df18274b1886cecf2f97a6a0dff5334b27330f58535be9b3e4e26102cc50e12eac8 + checksum: 10c0/cbef70923078a20fe163b03f4a6482be65ed99d409a57f3091a23ce3a575ee75716c30e7ea9f40b692ac5660f34055f4cbeb66a354fad15a6cf1fca35c3496c5 languageName: node linkType: hard "@babel/runtime@npm:^7.23.2": - version: 7.24.4 - resolution: "@babel/runtime@npm:7.24.4" + version: 7.24.6 + resolution: "@babel/runtime@npm:7.24.6" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/785aff96a3aa8ff97f90958e1e8a7b1d47f793b204b47c6455eaadc3f694f48c97cd5c0a921fe3596d818e71f18106610a164fb0f1c71fd68c622a58269d537c + checksum: 10c0/224ad205de33ea28979baaec89eea4c4d4e9482000dd87d15b97859365511cdd4d06517712504024f5d33a5fb9412f9b91c96f1d923974adf9359e1575cde049 languageName: node linkType: hard "@babel/types@npm:^7.24.0, @babel/types@npm:^7.8.3": - version: 7.24.0 - resolution: "@babel/types@npm:7.24.0" + version: 7.24.6 + resolution: "@babel/types@npm:7.24.6" dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" + "@babel/helper-string-parser": "npm:^7.24.6" + "@babel/helper-validator-identifier": "npm:^7.24.6" to-fast-properties: "npm:^2.0.0" - checksum: 10c0/777a0bb5dbe038ca4c905fdafb1cdb6bdd10fe9d63ce13eca0bd91909363cbad554a53dc1f902004b78c1dcbc742056f877f2c99eeedff647333b1fadf51235d + checksum: 10c0/1d94d92d97ef49030ad7f9e14cfccfeb70b1706dabcaa69037e659ec9d2c3178fb005d2088cce40d88dfc1306153d9157fe038a79ea2be92e5e6b99a59ef80cc languageName: node linkType: hard @@ -210,6 +203,97 @@ __metadata: languageName: node linkType: hard +"@biomejs/biome@npm:^1.7.3": + version: 1.7.3 + resolution: "@biomejs/biome@npm:1.7.3" + dependencies: + "@biomejs/cli-darwin-arm64": "npm:1.7.3" + "@biomejs/cli-darwin-x64": "npm:1.7.3" + "@biomejs/cli-linux-arm64": "npm:1.7.3" + "@biomejs/cli-linux-arm64-musl": "npm:1.7.3" + "@biomejs/cli-linux-x64": "npm:1.7.3" + "@biomejs/cli-linux-x64-musl": "npm:1.7.3" + "@biomejs/cli-win32-arm64": "npm:1.7.3" + "@biomejs/cli-win32-x64": "npm:1.7.3" + dependenciesMeta: + "@biomejs/cli-darwin-arm64": + optional: true + "@biomejs/cli-darwin-x64": + optional: true + "@biomejs/cli-linux-arm64": + optional: true + "@biomejs/cli-linux-arm64-musl": + optional: true + "@biomejs/cli-linux-x64": + optional: true + "@biomejs/cli-linux-x64-musl": + optional: true + "@biomejs/cli-win32-arm64": + optional: true + "@biomejs/cli-win32-x64": + optional: true + bin: + biome: bin/biome + checksum: 10c0/05c95bb4b1fbf1b252cf2124f012f69a00ff5599ecac002b7e3004bfcd927e3d7b5f4935739096b5184653ec96b44ddcc36809d059682e5378bde20c836fb111 + languageName: node + linkType: hard + +"@biomejs/cli-darwin-arm64@npm:1.7.3": + version: 1.7.3 + resolution: "@biomejs/cli-darwin-arm64@npm:1.7.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@biomejs/cli-darwin-x64@npm:1.7.3": + version: 1.7.3 + resolution: "@biomejs/cli-darwin-x64@npm:1.7.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@biomejs/cli-linux-arm64-musl@npm:1.7.3": + version: 1.7.3 + resolution: "@biomejs/cli-linux-arm64-musl@npm:1.7.3" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@biomejs/cli-linux-arm64@npm:1.7.3": + version: 1.7.3 + resolution: "@biomejs/cli-linux-arm64@npm:1.7.3" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@biomejs/cli-linux-x64-musl@npm:1.7.3": + version: 1.7.3 + resolution: "@biomejs/cli-linux-x64-musl@npm:1.7.3" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@biomejs/cli-linux-x64@npm:1.7.3": + version: 1.7.3 + resolution: "@biomejs/cli-linux-x64@npm:1.7.3" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@biomejs/cli-win32-arm64@npm:1.7.3": + version: 1.7.3 + resolution: "@biomejs/cli-win32-arm64@npm:1.7.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@biomejs/cli-win32-x64@npm:1.7.3": + version: 1.7.3 + resolution: "@biomejs/cli-win32-x64@npm:1.7.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@commitlint/cli@npm:^19.3.0": version: 19.3.0 resolution: "@commitlint/cli@npm:19.3.0" @@ -402,16 +486,16 @@ __metadata: languageName: node linkType: hard -"@crawlee/basic@npm:3.9.2, @crawlee/basic@workspace:packages/basic-crawler": +"@crawlee/basic@npm:3.10.1, @crawlee/basic@workspace:packages/basic-crawler": version: 0.0.0-use.local resolution: "@crawlee/basic@workspace:packages/basic-crawler" dependencies: "@apify/log": "npm:^2.4.0" "@apify/timeout": "npm:^0.3.0" "@apify/utilities": "npm:^2.7.10" - "@crawlee/core": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" - "@crawlee/utils": "npm:3.9.2" + "@crawlee/core": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" + "@crawlee/utils": "npm:3.10.1" csv-stringify: "npm:^6.2.0" fs-extra: "npm:^11.0.0" got-scraping: "npm:^4.0.0" @@ -422,14 +506,14 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/browser-pool@npm:3.9.2, @crawlee/browser-pool@workspace:packages/browser-pool": +"@crawlee/browser-pool@npm:3.10.1, @crawlee/browser-pool@workspace:packages/browser-pool": version: 0.0.0-use.local resolution: "@crawlee/browser-pool@workspace:packages/browser-pool" dependencies: "@apify/log": "npm:^2.4.0" "@apify/timeout": "npm:^0.3.0" - "@crawlee/core": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" + "@crawlee/core": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" fingerprint-generator: "npm:^2.0.6" fingerprint-injector: "npm:^2.0.5" lodash.merge: "npm:^4.6.2" @@ -451,39 +535,39 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/browser@npm:3.9.2, @crawlee/browser@workspace:packages/browser-crawler": +"@crawlee/browser@npm:3.10.1, @crawlee/browser@workspace:packages/browser-crawler": version: 0.0.0-use.local resolution: "@crawlee/browser@workspace:packages/browser-crawler" dependencies: "@apify/timeout": "npm:^0.3.0" - "@crawlee/basic": "npm:3.9.2" - "@crawlee/browser-pool": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" - "@crawlee/utils": "npm:3.9.2" + "@crawlee/basic": "npm:3.10.1" + "@crawlee/browser-pool": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" + "@crawlee/utils": "npm:3.10.1" ow: "npm:^0.28.1" tslib: "npm:^2.4.0" type-fest: "npm:^4.0.0" languageName: unknown linkType: soft -"@crawlee/cheerio@npm:3.9.2, @crawlee/cheerio@workspace:packages/cheerio-crawler": +"@crawlee/cheerio@npm:3.10.1, @crawlee/cheerio@workspace:packages/cheerio-crawler": version: 0.0.0-use.local resolution: "@crawlee/cheerio@workspace:packages/cheerio-crawler" dependencies: - "@crawlee/http": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" - "@crawlee/utils": "npm:3.9.2" + "@crawlee/http": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" + "@crawlee/utils": "npm:3.10.1" cheerio: "npm:^1.0.0-rc.12" htmlparser2: "npm:^9.0.0" tslib: "npm:^2.4.0" languageName: unknown linkType: soft -"@crawlee/cli@npm:3.9.2, @crawlee/cli@workspace:packages/cli": +"@crawlee/cli@npm:3.10.1, @crawlee/cli@workspace:packages/cli": version: 0.0.0-use.local resolution: "@crawlee/cli@workspace:packages/cli" dependencies: - "@crawlee/templates": "npm:3.9.2" + "@crawlee/templates": "npm:3.10.1" ansi-colors: "npm:^4.1.3" fs-extra: "npm:^11.0.0" inquirer: "npm:^8.2.4" @@ -495,7 +579,7 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/core@npm:3.9.2, @crawlee/core@npm:^3.9.0, @crawlee/core@workspace:packages/core": +"@crawlee/core@npm:3.10.1, @crawlee/core@npm:^3.9.0, @crawlee/core@workspace:packages/core": version: 0.0.0-use.local resolution: "@crawlee/core@workspace:packages/core" dependencies: @@ -505,9 +589,9 @@ __metadata: "@apify/pseudo_url": "npm:^2.0.30" "@apify/timeout": "npm:^0.3.0" "@apify/utilities": "npm:^2.7.10" - "@crawlee/memory-storage": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" - "@crawlee/utils": "npm:3.9.2" + "@crawlee/memory-storage": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" + "@crawlee/utils": "npm:3.10.1" "@sapphire/async-queue": "npm:^1.5.1" "@types/tough-cookie": "npm:^4.0.2" "@vladfrangu/async_event_emitter": "npm:^2.2.2" @@ -526,15 +610,15 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/http@npm:3.9.2, @crawlee/http@workspace:packages/http-crawler": +"@crawlee/http@npm:3.10.1, @crawlee/http@workspace:packages/http-crawler": version: 0.0.0-use.local resolution: "@crawlee/http@workspace:packages/http-crawler" dependencies: "@apify/timeout": "npm:^0.3.0" "@apify/utilities": "npm:^2.7.10" - "@crawlee/basic": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" - "@crawlee/utils": "npm:3.9.2" + "@crawlee/basic": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" + "@crawlee/utils": "npm:3.10.1" "@types/content-type": "npm:^1.1.5" cheerio: "npm:^1.0.0-rc.12" content-type: "npm:^1.0.4" @@ -547,14 +631,14 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/jsdom@npm:3.9.2, @crawlee/jsdom@workspace:packages/jsdom-crawler": +"@crawlee/jsdom@npm:3.10.1, @crawlee/jsdom@workspace:packages/jsdom-crawler": version: 0.0.0-use.local resolution: "@crawlee/jsdom@workspace:packages/jsdom-crawler" dependencies: "@apify/timeout": "npm:^0.3.0" "@apify/utilities": "npm:^2.7.10" - "@crawlee/http": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" + "@crawlee/http": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" "@types/jsdom": "npm:^21.0.0" cheerio: "npm:^1.0.0-rc.12" jsdom: "npm:^24.0.0" @@ -563,26 +647,26 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/linkedom@npm:3.9.2, @crawlee/linkedom@workspace:packages/linkedom-crawler": +"@crawlee/linkedom@npm:3.10.1, @crawlee/linkedom@workspace:packages/linkedom-crawler": version: 0.0.0-use.local resolution: "@crawlee/linkedom@workspace:packages/linkedom-crawler" dependencies: "@apify/timeout": "npm:^0.3.0" "@apify/utilities": "npm:^2.7.10" - "@crawlee/http": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" - linkedom: "npm:^0.16.0" + "@crawlee/http": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" + linkedom: "npm:^0.18.0" ow: "npm:^0.28.2" tslib: "npm:^2.4.0" languageName: unknown linkType: soft -"@crawlee/memory-storage@npm:3.9.2, @crawlee/memory-storage@workspace:packages/memory-storage": +"@crawlee/memory-storage@npm:3.10.1, @crawlee/memory-storage@workspace:packages/memory-storage": version: 0.0.0-use.local resolution: "@crawlee/memory-storage@workspace:packages/memory-storage" dependencies: "@apify/log": "npm:^2.4.0" - "@crawlee/types": "npm:3.9.2" + "@crawlee/types": "npm:3.10.1" "@sapphire/async-queue": "npm:^1.5.0" "@sapphire/shapeshift": "npm:^3.0.0" content-type: "npm:^1.0.4" @@ -594,23 +678,24 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/playwright@npm:3.9.2, @crawlee/playwright@workspace:packages/playwright-crawler": +"@crawlee/playwright@npm:3.10.1, @crawlee/playwright@workspace:packages/playwright-crawler": version: 0.0.0-use.local resolution: "@crawlee/playwright@workspace:packages/playwright-crawler" dependencies: "@apify/datastructures": "npm:^2.0.0" "@apify/log": "npm:^2.4.0" "@apify/timeout": "npm:^0.3.1" - "@crawlee/browser": "npm:3.9.2" - "@crawlee/browser-pool": "npm:3.9.2" - "@crawlee/core": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" - "@crawlee/utils": "npm:3.9.2" + "@crawlee/browser": "npm:3.10.1" + "@crawlee/browser-pool": "npm:3.10.1" + "@crawlee/core": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" + "@crawlee/utils": "npm:3.10.1" cheerio: "npm:^1.0.0-rc.12" idcac-playwright: "npm:^0.1.2" jquery: "npm:^3.6.0" lodash.isequal: "npm:^4.5.0" ml-logistic-regression: "npm:^2.0.0" + ml-matrix: "npm:^6.11.0" ow: "npm:^0.28.1" string-comparison: "npm:^1.3.0" tslib: "npm:^2.4.0" @@ -622,16 +707,16 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/puppeteer@npm:3.9.2, @crawlee/puppeteer@workspace:packages/puppeteer-crawler": +"@crawlee/puppeteer@npm:3.10.1, @crawlee/puppeteer@workspace:packages/puppeteer-crawler": version: 0.0.0-use.local resolution: "@crawlee/puppeteer@workspace:packages/puppeteer-crawler" dependencies: "@apify/datastructures": "npm:^2.0.0" "@apify/log": "npm:^2.4.0" - "@crawlee/browser": "npm:3.9.2" - "@crawlee/browser-pool": "npm:3.9.2" - "@crawlee/types": "npm:3.9.2" - "@crawlee/utils": "npm:3.9.2" + "@crawlee/browser": "npm:3.10.1" + "@crawlee/browser-pool": "npm:3.10.1" + "@crawlee/types": "npm:3.10.1" + "@crawlee/utils": "npm:3.10.1" cheerio: "npm:^1.0.0-rc.12" devtools-protocol: "npm:*" idcac-playwright: "npm:^0.1.2" @@ -653,10 +738,11 @@ __metadata: "@apify/eslint-config-ts": "npm:^0.4.0" "@apify/log": "npm:^2.4.0" "@apify/tsconfig": "npm:^0.1.0" + "@biomejs/biome": "npm:^1.7.3" "@commitlint/config-conventional": "npm:^19.0.0" - "@playwright/browser-chromium": "npm:1.43.1" - "@playwright/browser-firefox": "npm:1.43.1" - "@playwright/browser-webkit": "npm:1.43.1" + "@playwright/browser-chromium": "npm:1.44.1" + "@playwright/browser-firefox": "npm:1.44.1" + "@playwright/browser-webkit": "npm:1.44.1" "@types/content-type": "npm:^1.1.5" "@types/deep-equal": "npm:^1.0.1" "@types/domhandler": "npm:^2.4.2" @@ -687,20 +773,21 @@ __metadata: cross-env: "npm:^7.0.3" deep-equal: "npm:^2.0.5" eslint: "npm:^8.52.0" + eslint-config-prettier: "npm:^9.1.0" express: "npm:^4.18.1" fs-extra: "npm:^11.0.0" gen-esm-wrapper: "npm:^1.1.3" globby: "npm:^14.0.0" got: "npm:^13.0.0" - husky: "npm:^8.0.1" + husky: "npm:^9.0.11" is-ci: "npm:^3.0.1" lerna: "npm:^8.0.0" lint-staged: "npm:^15.0.0" nock: "npm:^13.4.0" - playwright: "npm:1.43.1" + playwright: "npm:1.44.1" portastic: "npm:^1.0.1" proxy: "npm:^1.0.2" - puppeteer: "npm:22.7.1" + puppeteer: "npm:22.10.0" rimraf: "npm:^5.0.0" tsx: "npm:^4.4.0" turbo: "npm:1.13.3" @@ -710,7 +797,7 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/templates@npm:3.9.2, @crawlee/templates@workspace:packages/templates": +"@crawlee/templates@npm:3.10.1, @crawlee/templates@workspace:packages/templates": version: 0.0.0-use.local resolution: "@crawlee/templates@workspace:packages/templates" dependencies: @@ -722,7 +809,7 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/types@npm:3.9.2, @crawlee/types@npm:^3.3.0, @crawlee/types@npm:^3.9.0, @crawlee/types@workspace:packages/types": +"@crawlee/types@npm:3.10.1, @crawlee/types@npm:^3.3.0, @crawlee/types@npm:^3.9.0, @crawlee/types@workspace:packages/types": version: 0.0.0-use.local resolution: "@crawlee/types@workspace:packages/types" dependencies: @@ -730,30 +817,26 @@ __metadata: languageName: unknown linkType: soft -"@crawlee/utils@npm:3.9.2, @crawlee/utils@npm:^3.9.0, @crawlee/utils@workspace:packages/utils": +"@crawlee/utils@npm:3.10.1, @crawlee/utils@npm:^3.9.0, @crawlee/utils@workspace:packages/utils": version: 0.0.0-use.local resolution: "@crawlee/utils@workspace:packages/utils" dependencies: "@apify/log": "npm:^2.4.0" "@apify/ps-tree": "npm:^1.2.0" - "@crawlee/types": "npm:3.9.2" + "@crawlee/types": "npm:3.10.1" "@types/sax": "npm:^1.2.7" + "@types/whatwg-mimetype": "npm:^3.0.2" cheerio: "npm:^1.0.0-rc.12" + file-type: "npm:^19.0.0" got-scraping: "npm:^4.0.3" ow: "npm:^0.28.1" robots-parser: "npm:^3.0.1" sax: "npm:^1.3.0" tslib: "npm:^2.4.0" + whatwg-mimetype: "npm:^4.0.0" languageName: unknown linkType: soft -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" - conditions: os=aix & cpu=ppc64 - languageName: node - linkType: hard - "@esbuild/aix-ppc64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/aix-ppc64@npm:0.20.2" @@ -761,13 +844,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/android-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-arm64@npm:0.20.2" @@ -775,13 +851,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@esbuild/android-arm@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-arm@npm:0.20.2" @@ -789,13 +858,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - "@esbuild/android-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/android-x64@npm:0.20.2" @@ -803,13 +865,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/darwin-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/darwin-arm64@npm:0.20.2" @@ -817,13 +872,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@esbuild/darwin-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/darwin-x64@npm:0.20.2" @@ -831,13 +879,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/freebsd-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/freebsd-arm64@npm:0.20.2" @@ -845,13 +886,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/freebsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/freebsd-x64@npm:0.20.2" @@ -859,13 +893,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm64@npm:0.19.12" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/linux-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-arm64@npm:0.20.2" @@ -873,13 +900,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm@npm:0.19.12" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@esbuild/linux-arm@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-arm@npm:0.20.2" @@ -887,13 +907,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ia32@npm:0.19.12" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/linux-ia32@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-ia32@npm:0.20.2" @@ -901,13 +914,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-loong64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-loong64@npm:0.19.12" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - "@esbuild/linux-loong64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-loong64@npm:0.20.2" @@ -915,13 +921,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-mips64el@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-mips64el@npm:0.19.12" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - "@esbuild/linux-mips64el@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-mips64el@npm:0.20.2" @@ -929,13 +928,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ppc64@npm:0.19.12" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - "@esbuild/linux-ppc64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-ppc64@npm:0.20.2" @@ -943,13 +935,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-riscv64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-riscv64@npm:0.19.12" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - "@esbuild/linux-riscv64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-riscv64@npm:0.20.2" @@ -957,13 +942,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-s390x@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-s390x@npm:0.19.12" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - "@esbuild/linux-s390x@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-s390x@npm:0.20.2" @@ -971,13 +949,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/linux-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-x64@npm:0.19.12" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - "@esbuild/linux-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/linux-x64@npm:0.20.2" @@ -985,13 +956,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/netbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/netbsd-x64@npm:0.19.12" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/netbsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/netbsd-x64@npm:0.20.2" @@ -999,13 +963,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/openbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/openbsd-x64@npm:0.19.12" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - "@esbuild/openbsd-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/openbsd-x64@npm:0.20.2" @@ -1013,13 +970,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/sunos-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/sunos-x64@npm:0.19.12" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - "@esbuild/sunos-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/sunos-x64@npm:0.20.2" @@ -1027,13 +977,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-arm64@npm:0.19.12" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@esbuild/win32-arm64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-arm64@npm:0.20.2" @@ -1041,13 +984,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-ia32@npm:0.19.12" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@esbuild/win32-ia32@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-ia32@npm:0.20.2" @@ -1055,13 +991,6 @@ __metadata: languageName: node linkType: hard -"@esbuild/win32-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-x64@npm:0.19.12" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@esbuild/win32-x64@npm:0.20.2": version: 0.20.2 resolution: "@esbuild/win32-x64@npm:0.20.2" @@ -1143,10 +1072,10 @@ __metadata: languageName: node linkType: hard -"@inquirer/figures@npm:^1.0.1": - version: 1.0.1 - resolution: "@inquirer/figures@npm:1.0.1" - checksum: 10c0/a1e9d3852e0d33c416eb39d7ee0e898971681a0a5a0d2fad5ebbb63047dd7e8b7bd32872cf2ef09578ce632bd9cc339f7e851dbd4640a9af11224481bf811e14 +"@inquirer/figures@npm:^1.0.2": + version: 1.0.2 + resolution: "@inquirer/figures@npm:1.0.2" + checksum: 10c0/7e74c41385d940d43a97d31386114669986548f878a1d12d8387c36e51f8e491d2cc307ece7670b068982dc3579269bd1258d30ebe36cb19006cf6a20a07dc66 languageName: node linkType: hard @@ -1222,12 +1151,12 @@ __metadata: languageName: node linkType: hard -"@lerna/create@npm:8.1.2": - version: 8.1.2 - resolution: "@lerna/create@npm:8.1.2" +"@lerna/create@npm:8.1.3": + version: 8.1.3 + resolution: "@lerna/create@npm:8.1.3" dependencies: "@npmcli/run-script": "npm:7.0.2" - "@nx/devkit": "npm:>=17.1.2 < 19" + "@nx/devkit": "npm:>=17.1.2 < 20" "@octokit/plugin-enterprise-rest": "npm:6.0.1" "@octokit/rest": "npm:19.0.11" byte-size: "npm:8.1.1" @@ -1264,7 +1193,7 @@ __metadata: npm-packlist: "npm:5.1.1" npm-registry-fetch: "npm:^14.0.5" npmlog: "npm:^6.0.2" - nx: "npm:>=17.1.2 < 19" + nx: "npm:>=17.1.2 < 20" p-map: "npm:4.0.0" p-map-series: "npm:2.1.0" p-queue: "npm:6.6.2" @@ -1280,7 +1209,7 @@ __metadata: slash: "npm:^3.0.0" ssri: "npm:^9.0.1" strong-log-transformer: "npm:2.1.0" - tar: "npm:6.1.11" + tar: "npm:6.2.1" temp-dir: "npm:1.0.0" upath: "npm:2.0.1" uuid: "npm:^9.0.0" @@ -1290,7 +1219,7 @@ __metadata: write-pkg: "npm:4.0.0" yargs: "npm:17.7.2" yargs-parser: "npm:21.1.1" - checksum: 10c0/c175d63fec4df805a4ec76db51c01d4ef15c9c7b2ea7933e36fcad604fe9f63e1352725009ea82598b64822bf02517b193bcd694d703d04152c133e4614951f1 + checksum: 10c0/6a8f470a8151630cbe9217e24ea2197f0c17b147e32ab985c8228312e11145658bcc7b519bac1ca04b834723f2a0e96503f9f80c03b9439c0da534a2128b8e04 languageName: node linkType: hard @@ -1344,17 +1273,17 @@ __metadata: linkType: hard "@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e + checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 languageName: node linkType: hard "@npmcli/git@npm:^5.0.0": - version: 5.0.6 - resolution: "@npmcli/git@npm:5.0.6" + version: 5.0.7 + resolution: "@npmcli/git@npm:5.0.7" dependencies: "@npmcli/promise-spawn": "npm:^7.0.0" lru-cache: "npm:^10.0.1" @@ -1364,7 +1293,7 @@ __metadata: promise-retry: "npm:^2.0.1" semver: "npm:^7.3.5" which: "npm:^4.0.0" - checksum: 10c0/5cb92105517c855f640e97cd9eacf874d14b00c1eb5d96d840378793e7892422a440fb0ea09ac3bc327c73103ae93e4a32bc2482c172e0c84df83926d136aedb + checksum: 10c0/d9895fce3e554e927411ead941d434233585a3edaf8d2ebe3e8d48fdd14e2ce238d227248df30e3300b1c050e982459f4d0b18375bd3c17c4edeb0621da33ade languageName: node linkType: hard @@ -1403,11 +1332,11 @@ __metadata: linkType: hard "@npmcli/promise-spawn@npm:^7.0.0": - version: 7.0.1 - resolution: "@npmcli/promise-spawn@npm:7.0.1" + version: 7.0.2 + resolution: "@npmcli/promise-spawn@npm:7.0.2" dependencies: which: "npm:^4.0.0" - checksum: 10c0/441024049170fc9dd0c793fef7366fd1b2a36c06f1036c52ac4a5d0f2d46deced89f2a94fef20f51aa9934edb4d611ff76b060be2b82086d29d2094ee1b46122 + checksum: 10c0/8f2af5bc2c1b1ccfb9bcd91da8873ab4723616d8bd5af877c0daa40b1e2cbfa4afb79e052611284179cae918c945a1b99ae1c565d78a355bec1a461011e89f71 languageName: node linkType: hard @@ -1444,111 +1373,112 @@ __metadata: languageName: node linkType: hard -"@nrwl/devkit@npm:18.3.4": - version: 18.3.4 - resolution: "@nrwl/devkit@npm:18.3.4" +"@nrwl/devkit@npm:19.1.0": + version: 19.1.0 + resolution: "@nrwl/devkit@npm:19.1.0" dependencies: - "@nx/devkit": "npm:18.3.4" - checksum: 10c0/ef9cb7859206c6c01ebfbeeac13ea8ca239374a2873f00154c58b6c047ff4aee77b837d6cc3bc72302e88bf6847bb2302212c3329b8ea59ea6fc1f380a1ddc23 + "@nx/devkit": "npm:19.1.0" + checksum: 10c0/af8283e4e6383cfaf417037cba61472f5f042a5847c97ae062badda22a5bc385247a77667326ff5c4a563610166d8e78971253bb55160563195a437c858d30f0 languageName: node linkType: hard -"@nrwl/tao@npm:18.3.4": - version: 18.3.4 - resolution: "@nrwl/tao@npm:18.3.4" +"@nrwl/tao@npm:19.1.0": + version: 19.1.0 + resolution: "@nrwl/tao@npm:19.1.0" dependencies: - nx: "npm:18.3.4" + nx: "npm:19.1.0" tslib: "npm:^2.3.0" bin: tao: index.js - checksum: 10c0/4ce1cf373ec9a950f18dd9335cf2b5531174a2a22da8feaca27d600f9d7d8f07003059a271cc3ca8046bbd369687e6496923cf99e46822976b988dcecd89a62b + checksum: 10c0/4ba0d96ca880204e2b076e83b8b5588ae21e42b7edec034a3e1a516f3f2ec4a63679f9b985b041887ac3b1e64a15056dab8fa1e0b281e634ceb0afc635d7107e languageName: node linkType: hard -"@nx/devkit@npm:18.3.4, @nx/devkit@npm:>=17.1.2 < 19": - version: 18.3.4 - resolution: "@nx/devkit@npm:18.3.4" +"@nx/devkit@npm:19.1.0, @nx/devkit@npm:>=17.1.2 < 20": + version: 19.1.0 + resolution: "@nx/devkit@npm:19.1.0" dependencies: - "@nrwl/devkit": "npm:18.3.4" + "@nrwl/devkit": "npm:19.1.0" ejs: "npm:^3.1.7" enquirer: "npm:~2.3.6" ignore: "npm:^5.0.4" + minimatch: "npm:9.0.3" semver: "npm:^7.5.3" tmp: "npm:~0.2.1" tslib: "npm:^2.3.0" yargs-parser: "npm:21.1.1" peerDependencies: - nx: ">= 16 <= 19" - checksum: 10c0/3c6752bd1fc96bfdff1bc4d58b9fb87f33628b1db39cf4db0b4f66782a8b547aad0dd0d3f0620c0464c1d31c1ca999ebce73c7cf70f920776f965cc7dad489e7 + nx: ">= 17 <= 20" + checksum: 10c0/a2e362d1d56415c3cdc9bb15960b8dbc2eed59760ce7cdda1ed72c3d97d08c7ba943484b343e8bde99c002e27a3513708928783b475b6d3544c2c3a686087956 languageName: node linkType: hard -"@nx/nx-darwin-arm64@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-darwin-arm64@npm:18.3.4" +"@nx/nx-darwin-arm64@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-darwin-arm64@npm:19.1.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@nx/nx-darwin-x64@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-darwin-x64@npm:18.3.4" +"@nx/nx-darwin-x64@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-darwin-x64@npm:19.1.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@nx/nx-freebsd-x64@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-freebsd-x64@npm:18.3.4" +"@nx/nx-freebsd-x64@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-freebsd-x64@npm:19.1.0" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@nx/nx-linux-arm-gnueabihf@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-linux-arm-gnueabihf@npm:18.3.4" +"@nx/nx-linux-arm-gnueabihf@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-linux-arm-gnueabihf@npm:19.1.0" conditions: os=linux & cpu=arm languageName: node linkType: hard -"@nx/nx-linux-arm64-gnu@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-linux-arm64-gnu@npm:18.3.4" +"@nx/nx-linux-arm64-gnu@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-linux-arm64-gnu@npm:19.1.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-arm64-musl@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-linux-arm64-musl@npm:18.3.4" +"@nx/nx-linux-arm64-musl@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-linux-arm64-musl@npm:19.1.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@nx/nx-linux-x64-gnu@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-linux-x64-gnu@npm:18.3.4" +"@nx/nx-linux-x64-gnu@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-linux-x64-gnu@npm:19.1.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@nx/nx-linux-x64-musl@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-linux-x64-musl@npm:18.3.4" +"@nx/nx-linux-x64-musl@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-linux-x64-musl@npm:19.1.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@nx/nx-win32-arm64-msvc@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-win32-arm64-msvc@npm:18.3.4" +"@nx/nx-win32-arm64-msvc@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-win32-arm64-msvc@npm:19.1.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@nx/nx-win32-x64-msvc@npm:18.3.4": - version: 18.3.4 - resolution: "@nx/nx-win32-x64-msvc@npm:18.3.4" +"@nx/nx-win32-x64-msvc@npm:19.1.0": + version: 19.1.0 + resolution: "@nx/nx-win32-x64-msvc@npm:19.1.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1712,30 +1642,30 @@ __metadata: languageName: node linkType: hard -"@playwright/browser-chromium@npm:1.43.1": - version: 1.43.1 - resolution: "@playwright/browser-chromium@npm:1.43.1" +"@playwright/browser-chromium@npm:1.44.1": + version: 1.44.1 + resolution: "@playwright/browser-chromium@npm:1.44.1" dependencies: - playwright-core: "npm:1.43.1" - checksum: 10c0/18b5b65bdd75b3b966072012ed49f669b10d4bebeef4223433573ba7f8991dbb24a3cb8cbd2ede2bdf22f5cee21b6cf19bbea3b0e3d369c9fa3d1da3c62f11a9 + playwright-core: "npm:1.44.1" + checksum: 10c0/fd8477472138c39e981a4f13ea9bb0bd746172342159776196fae4b2ccfc8059160016fd9fe753143594322f82c279df6f9ad65c14490c8e32a53c287458d771 languageName: node linkType: hard -"@playwright/browser-firefox@npm:1.43.1": - version: 1.43.1 - resolution: "@playwright/browser-firefox@npm:1.43.1" +"@playwright/browser-firefox@npm:1.44.1": + version: 1.44.1 + resolution: "@playwright/browser-firefox@npm:1.44.1" dependencies: - playwright-core: "npm:1.43.1" - checksum: 10c0/cfe399edaf5744ba9a534a32bfd000a08958bda5f99c67a41facaf718b6394bfe71165cbb78eb60d31827e52f0f4fdfe69f967dce091a87719c1aa26baa65d98 + playwright-core: "npm:1.44.1" + checksum: 10c0/c8936eedf57eca1fbbf6196189a88ff34b8ef3d4ff679a6ecf3a522594343a778354e46477e1f606762f85f8bfbfbb3a891295c8f274389747deef605f0b0eca languageName: node linkType: hard -"@playwright/browser-webkit@npm:1.43.1": - version: 1.43.1 - resolution: "@playwright/browser-webkit@npm:1.43.1" +"@playwright/browser-webkit@npm:1.44.1": + version: 1.44.1 + resolution: "@playwright/browser-webkit@npm:1.44.1" dependencies: - playwright-core: "npm:1.43.1" - checksum: 10c0/717197047bb92e068f8b3c010186c4800e3b69dfaf4aab5c4e4feb90cfb2eb2b261160d91c7c7e0eefd57d00bfc083ec263757a02c3341e1bb736194570b5fee + playwright-core: "npm:1.44.1" + checksum: 10c0/754a403d921f206898f2b66dede75bae087a8fcccf4d4f5efc7d3f160e4bacc33574dce9dad2213ed21359ec13fc2dc37a5e640ba8396aa45d214ee86d77da80 languageName: node linkType: hard @@ -1757,114 +1687,114 @@ __metadata: languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.16.4" +"@rollup/rollup-android-arm-eabi@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.18.0" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-android-arm64@npm:4.16.4" +"@rollup/rollup-android-arm64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-android-arm64@npm:4.18.0" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.16.4" +"@rollup/rollup-darwin-arm64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.18.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.16.4" +"@rollup/rollup-darwin-x64@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.18.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.16.4" +"@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.16.4" +"@rollup/rollup-linux-arm-musleabihf@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.18.0" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.16.4" +"@rollup/rollup-linux-arm64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.18.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.16.4" +"@rollup/rollup-linux-arm64-musl@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.18.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.16.4" +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.16.4" +"@rollup/rollup-linux-riscv64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.18.0" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.16.4" +"@rollup/rollup-linux-s390x-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.18.0" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.16.4" +"@rollup/rollup-linux-x64-gnu@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.18.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.16.4" +"@rollup/rollup-linux-x64-musl@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.18.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.16.4" +"@rollup/rollup-win32-arm64-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.18.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.16.4" +"@rollup/rollup-win32-ia32-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.18.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.16.4": - version: 4.16.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.16.4" +"@rollup/rollup-win32-x64-msvc@npm:4.18.0": + version: 4.18.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.18.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard @@ -1886,6 +1816,13 @@ __metadata: languageName: node linkType: hard +"@sec-ant/readable-stream@npm:^0.4.1": + version: 0.4.1 + resolution: "@sec-ant/readable-stream@npm:0.4.1" + checksum: 10c0/64e9e9cf161e848067a5bf60cdc04d18495dc28bb63a8d9f8993e4dd99b91ad34e4b563c85de17d91ffb177ec17a0664991d2e115f6543e73236a906068987af + languageName: node + linkType: hard + "@sigstore/bundle@npm:^1.1.0": version: 1.1.0 resolution: "@sigstore/bundle@npm:1.1.0" @@ -1895,12 +1832,12 @@ __metadata: languageName: node linkType: hard -"@sigstore/bundle@npm:^2.3.0, @sigstore/bundle@npm:^2.3.1": - version: 2.3.1 - resolution: "@sigstore/bundle@npm:2.3.1" +"@sigstore/bundle@npm:^2.3.2": + version: 2.3.2 + resolution: "@sigstore/bundle@npm:2.3.2" dependencies: - "@sigstore/protobuf-specs": "npm:^0.3.1" - checksum: 10c0/f5cc08e6420055ca20c1fa458725cf3d090974c3650aacfb6ba0b09d9c59149e5f4d8c5bfe9f2253daf2c29548262e9e4ea83b4b2fc4abbaf93cf49ee2687f05 + "@sigstore/protobuf-specs": "npm:^0.3.2" + checksum: 10c0/872a95928236bd9950a2ecc66af1c60a82f6b482a62a20d0f817392d568a60739a2432cad70449ac01e44e9eaf85822d6d9ebc6ade6cb3e79a7d62226622eb5d languageName: node linkType: hard @@ -1918,10 +1855,10 @@ __metadata: languageName: node linkType: hard -"@sigstore/protobuf-specs@npm:^0.3.0, @sigstore/protobuf-specs@npm:^0.3.1": - version: 0.3.1 - resolution: "@sigstore/protobuf-specs@npm:0.3.1" - checksum: 10c0/bc926aeb472dcd1f99e887d54d9402e259e186ee2a15cdb395cdb565fdd3457f84a044ef355c96359c3c625127a93fb3c45c7e3bd2f16ac0912a58a6bf3fc137 +"@sigstore/protobuf-specs@npm:^0.3.2": + version: 0.3.2 + resolution: "@sigstore/protobuf-specs@npm:0.3.2" + checksum: 10c0/108eed419181ff599763f2d28ff5087e7bce9d045919de548677520179fe77fb2e2b7290216c93c7a01bdb2972b604bf44599273c991bbdf628fbe1b9b70aacb languageName: node linkType: hard @@ -1936,15 +1873,17 @@ __metadata: languageName: node linkType: hard -"@sigstore/sign@npm:^2.3.0": - version: 2.3.0 - resolution: "@sigstore/sign@npm:2.3.0" +"@sigstore/sign@npm:^2.3.2": + version: 2.3.2 + resolution: "@sigstore/sign@npm:2.3.2" dependencies: - "@sigstore/bundle": "npm:^2.3.0" + "@sigstore/bundle": "npm:^2.3.2" "@sigstore/core": "npm:^1.0.0" - "@sigstore/protobuf-specs": "npm:^0.3.1" - make-fetch-happen: "npm:^13.0.0" - checksum: 10c0/e11b9318c283604747e0ff6084e17f9da210dd999e8c5c32a229db6b9a9faf54698994458c2a09dec0a1a43ac99eb0d278ca6d5d86045145a96c941aad969e1d + "@sigstore/protobuf-specs": "npm:^0.3.2" + make-fetch-happen: "npm:^13.0.1" + proc-log: "npm:^4.2.0" + promise-retry: "npm:^2.0.1" + checksum: 10c0/a1e7908f3e4898f04db4d713fa10ddb3ae4f851592c9b554f1269073211e1417528b5088ecee60f27039fde5a5426ae573481d77cfd7e4395d2a0ddfcf5f365f languageName: node linkType: hard @@ -1958,24 +1897,24 @@ __metadata: languageName: node linkType: hard -"@sigstore/tuf@npm:^2.3.1": - version: 2.3.2 - resolution: "@sigstore/tuf@npm:2.3.2" +"@sigstore/tuf@npm:^2.3.4": + version: 2.3.4 + resolution: "@sigstore/tuf@npm:2.3.4" dependencies: - "@sigstore/protobuf-specs": "npm:^0.3.0" - tuf-js: "npm:^2.2.0" - checksum: 10c0/c05008fa46efec1546cc2cdb46e54d6a4773cbd05efa3ad7272339b4f935d58634b9f8494b109197b506116fb894206bf1cdb1fc09351a00297c23ef3c2a1a01 + "@sigstore/protobuf-specs": "npm:^0.3.2" + tuf-js: "npm:^2.2.1" + checksum: 10c0/97839882d787196517933df5505fae4634975807cc7adcd1783c7840c2a9729efb83ada47556ec326d544b9cb0d1851af990dc46eebb5fe7ea17bf7ce1fc0b8c languageName: node linkType: hard -"@sigstore/verify@npm:^1.2.0": - version: 1.2.0 - resolution: "@sigstore/verify@npm:1.2.0" +"@sigstore/verify@npm:^1.2.1": + version: 1.2.1 + resolution: "@sigstore/verify@npm:1.2.1" dependencies: - "@sigstore/bundle": "npm:^2.3.1" + "@sigstore/bundle": "npm:^2.3.2" "@sigstore/core": "npm:^1.1.0" - "@sigstore/protobuf-specs": "npm:^0.3.1" - checksum: 10c0/ed0d9cb8c71bde23bd48e40725e5b4bd3ff1595b6d9e4b1ed4f2dfd06f6bf76a3dc69d86f8b2e4488a9cb4ade0d9a41718bd33119b9afca66f90badd52a373fe + "@sigstore/protobuf-specs": "npm:^0.3.2" + checksum: 10c0/af06580a8d5357c31259da1ac7323137054e0ac41e933278d95a4bc409a4463620125cb4c00b502f6bc32fdd68c2293019391b0d31ed921ee3852a9e84358628 languageName: node linkType: hard @@ -2000,6 +1939,13 @@ __metadata: languageName: node linkType: hard +"@sindresorhus/is@npm:^6.3.1": + version: 6.3.1 + resolution: "@sindresorhus/is@npm:6.3.1" + checksum: 10c0/2432ca411aafe7840818493360ba795db07ce7e8efd2bc994736fdbda175e99fa7d6614c7f41a72b28bae68603a86dbd0d810ba45d1ba7c5881929d54049360c + languageName: node + linkType: hard + "@sindresorhus/merge-streams@npm:^2.1.0": version: 2.3.0 resolution: "@sindresorhus/merge-streams@npm:2.3.0" @@ -2016,6 +1962,13 @@ __metadata: languageName: node linkType: hard +"@tokenizer/token@npm:^0.3.0": + version: 0.3.0 + resolution: "@tokenizer/token@npm:0.3.0" + checksum: 10c0/7ab9a822d4b5ff3f5bca7f7d14d46bdd8432528e028db4a52be7fbf90c7f495cc1af1324691dda2813c6af8dc4b8eb29de3107d4508165f9aa5b53e7d501f155 + languageName: node + linkType: hard + "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -2054,13 +2007,13 @@ __metadata: languageName: node linkType: hard -"@tufjs/models@npm:2.0.0": - version: 2.0.0 - resolution: "@tufjs/models@npm:2.0.0" +"@tufjs/models@npm:2.0.1": + version: 2.0.1 + resolution: "@tufjs/models@npm:2.0.1" dependencies: "@tufjs/canonical-json": "npm:2.0.0" - minimatch: "npm:^9.0.3" - checksum: 10c0/252f525b05526077430920b30b125e197a3d711f4c6d1ceeee9cea5044035e4d94e57db481d96bd8e9d1ce5ee23fcc9fe989e7e0c9c2aec7e1edc27326ee16e6 + minimatch: "npm:^9.0.4" + checksum: 10c0/ad9e82fd921954501fd90ed34ae062254637595577ad13fdc1e076405c0ea5ee7d8aebad09e63032972fd92b07f1786c15b24a195a171fc8ac470ca8e2ffbcc4 languageName: node linkType: hard @@ -2130,14 +2083,14 @@ __metadata: linkType: hard "@types/express-serve-static-core@npm:^4.17.33": - version: 4.19.0 - resolution: "@types/express-serve-static-core@npm:4.19.0" + version: 4.19.1 + resolution: "@types/express-serve-static-core@npm:4.19.1" dependencies: "@types/node": "npm:*" "@types/qs": "npm:*" "@types/range-parser": "npm:*" "@types/send": "npm:*" - checksum: 10c0/38a13dfbb38d18526276e68dae1097eb0ebef296e76bff2a9bf6831c052c2f87797e910c87bd3f0dd1a1b4136241c9d7c841779a00b22576d12aa9b483a63349 + checksum: 10c0/8e202374a7013fbbc5a3abd5111dd7ab73c4a6e9da4ffc1808d6e68be7a1dbd37e013b74e47aa6febc8efa459120058a1cbde6f2d509b2ad28fac301e1ee353a languageName: node linkType: hard @@ -2175,7 +2128,7 @@ __metadata: languageName: node linkType: hard -"@types/http-cache-semantics@npm:^4.0.2": +"@types/http-cache-semantics@npm:^4.0.2, @types/http-cache-semantics@npm:^4.0.4": version: 4.0.4 resolution: "@types/http-cache-semantics@npm:4.0.4" checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 @@ -2219,13 +2172,6 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.15": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db - languageName: node - linkType: hard - "@types/json5@npm:^0.0.29": version: 0.0.29 resolution: "@types/json5@npm:0.0.29" @@ -2261,9 +2207,9 @@ __metadata: linkType: hard "@types/lodash@npm:*": - version: 4.17.0 - resolution: "@types/lodash@npm:4.17.0" - checksum: 10c0/4c5b41c9a6c41e2c05d08499e96f7940bcf194dcfa84356235b630da920c2a5e05f193618cea76006719bec61c76617dff02defa9d29934f9f6a76a49291bd8f + version: 4.17.4 + resolution: "@types/lodash@npm:4.17.4" + checksum: 10c0/0124c64cb9fe7a0f78b6777955abd05ef0d97844d49118652eae45f8fa57bfb7f5a7a9bccc0b5a84c0a6dc09631042e4590cb665acb9d58dfd5e6543c75341ec languageName: node linkType: hard @@ -2296,11 +2242,11 @@ __metadata: linkType: hard "@types/node@npm:*, @types/node@npm:^20.0.0": - version: 20.12.7 - resolution: "@types/node@npm:20.12.7" + version: 20.12.12 + resolution: "@types/node@npm:20.12.12" dependencies: undici-types: "npm:~5.26.4" - checksum: 10c0/dce80d63a3b91892b321af823d624995c61e39c6a223cc0ac481a44d337640cc46931d33efb3beeed75f5c85c3bda1d97cef4c5cd4ec333caf5dee59cff6eca0 + checksum: 10c0/f374b763c744e8f16e4f38cf6e2c0eef31781ec9228c9e43a6f267880fea420fab0a238b59f10a7cb3444e49547c5e3785787e371fc242307310995b21988812 languageName: node linkType: hard @@ -2366,7 +2312,7 @@ __metadata: languageName: node linkType: hard -"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.8": +"@types/semver@npm:^7.3.12": version: 7.5.8 resolution: "@types/semver@npm:7.5.8" checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa @@ -2429,6 +2375,13 @@ __metadata: languageName: node linkType: hard +"@types/whatwg-mimetype@npm:^3.0.2": + version: 3.0.2 + resolution: "@types/whatwg-mimetype@npm:3.0.2" + checksum: 10c0/dad39d1e4abe760a0a963c84bbdbd26b1df0eb68aff83bdf6ecbb50ad781ead777f6906d19a87007790b750f7500a12e5624d31fc6a1529d14bd19b5c3a316d1 + languageName: node + linkType: hard + "@types/yargs-parser@npm:*": version: 21.0.3 resolution: "@types/yargs-parser@npm:21.0.3" @@ -2455,19 +2408,17 @@ __metadata: linkType: hard "@typescript-eslint/eslint-plugin@npm:^7.0.1": - version: 7.7.1 - resolution: "@typescript-eslint/eslint-plugin@npm:7.7.1" + version: 7.10.0 + resolution: "@typescript-eslint/eslint-plugin@npm:7.10.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/type-utils": "npm:7.7.1" - "@typescript-eslint/utils": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" - debug: "npm:^4.3.4" + "@typescript-eslint/scope-manager": "npm:7.10.0" + "@typescript-eslint/type-utils": "npm:7.10.0" + "@typescript-eslint/utils": "npm:7.10.0" + "@typescript-eslint/visitor-keys": "npm:7.10.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - semver: "npm:^7.6.0" ts-api-utils: "npm:^1.3.0" peerDependencies: "@typescript-eslint/parser": ^7.0.0 @@ -2475,44 +2426,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/11a085240e7daf4bdeb011aa53ac7cfeea6263c60d53607823f5c314eb5c9d559b28fce0d6686acb9702ee3d0cb0406534fafae61163e5a903eaf818c48194ad + checksum: 10c0/bf3f0118ea5961c3eb01894678246458a329d82dda9ac7c2f5bfe77896410d05a08a4655e533bcb1ed2a3132ba6421981ec8c2ed0a3545779d9603ea231947ae languageName: node linkType: hard "@typescript-eslint/parser@npm:^7.0.1": - version: 7.7.1 - resolution: "@typescript-eslint/parser@npm:7.7.1" + version: 7.10.0 + resolution: "@typescript-eslint/parser@npm:7.10.0" dependencies: - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/typescript-estree": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" + "@typescript-eslint/scope-manager": "npm:7.10.0" + "@typescript-eslint/types": "npm:7.10.0" + "@typescript-eslint/typescript-estree": "npm:7.10.0" + "@typescript-eslint/visitor-keys": "npm:7.10.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.56.0 peerDependenciesMeta: typescript: optional: true - checksum: 10c0/ace43eeb8123bbee61e936650e1d57a2cf70f2030870c6dcad8602fce3f7cdf2cce350121dbbc66cffd60bac36652f426a1c5293c45ed28998b90cd95673b5c9 + checksum: 10c0/4c4fbf43b5b05d75b766acb803d3dd078c6e080641a77f9e48ba005713466738ea4a71f0564fa3ce520988d65158d14c8c952ba01ccbc431ab4a05935db5ce6d languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/scope-manager@npm:7.7.1" +"@typescript-eslint/scope-manager@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/scope-manager@npm:7.10.0" dependencies: - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" - checksum: 10c0/4032da8fce8922044a6b659c8435ba203377778d5b7de6a5572c1172f2e3cf8ddd890a0f9e083c5d5315a9c2dba323707528ee4ad3cc1be2bd334de2527ef5cb + "@typescript-eslint/types": "npm:7.10.0" + "@typescript-eslint/visitor-keys": "npm:7.10.0" + checksum: 10c0/1d4f7ee137b95bd423b5a1b0d03251202dfc19bd8b6adfa5ff5df25fd5aa30e2d8ca50ab0d8d2e92441670ecbc2a82b3c2dbe39a4f268ec1ee1c1e267f7fd1d1 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/type-utils@npm:7.7.1" +"@typescript-eslint/type-utils@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/type-utils@npm:7.10.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:7.7.1" - "@typescript-eslint/utils": "npm:7.7.1" + "@typescript-eslint/typescript-estree": "npm:7.10.0" + "@typescript-eslint/utils": "npm:7.10.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependencies: @@ -2520,23 +2471,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/bd083c4106e207aa8c2a71251eca52d23c7ea905399b8c62004f3bb1e85b9c88d601db9dcecae88beef0f8362d53450bb2721aab353ee731c1665496fea3fbda + checksum: 10c0/55e9a6690f9cedb79d30abb1990b161affaa2684dac246b743223353812c9c1e3fd2d923c67b193c6a3624a07e1c82c900ce7bf5b6b9891c846f04cb480ebd9f languageName: node linkType: hard -"@typescript-eslint/types@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/types@npm:7.7.1" - checksum: 10c0/7d240503d9d0b12d68c8204167690609f02ededb77dcb035c1c8b932da08cf43553829c29a5f7889824a7337463c300343bc5abe532479726d4c83443a7e2704 +"@typescript-eslint/types@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/types@npm:7.10.0" + checksum: 10c0/f01d9330b93cc362ba7967ab5037396f64742076450e1f93139fa69cbe93a6ece3ed55d68ab780c9b7d07ef4a7c645da410305216a2cfc5dec7eba49ee65ab23 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/typescript-estree@npm:7.7.1" +"@typescript-eslint/typescript-estree@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/typescript-estree@npm:7.10.0" dependencies: - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/visitor-keys": "npm:7.7.1" + "@typescript-eslint/types": "npm:7.10.0" + "@typescript-eslint/visitor-keys": "npm:7.10.0" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -2546,34 +2497,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10c0/c6b32bd96fd13b9da0a30de01935066f7505f6214f5759e3cd019f7d1852f7bf19358765f62e51de72be47647656aa0e8f07ac0ab316c4149a4e6bd1dd12cbb6 + checksum: 10c0/6200695834c566e52e2fa7331f1a05019f7815969d8c1e1e237b85a99664d36f41ccc16384eff3f8582a0ecb75f1cc315b56ee9283b818da37f24fa4d42f1d7a languageName: node linkType: hard -"@typescript-eslint/utils@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/utils@npm:7.7.1" +"@typescript-eslint/utils@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/utils@npm:7.10.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.15" - "@types/semver": "npm:^7.5.8" - "@typescript-eslint/scope-manager": "npm:7.7.1" - "@typescript-eslint/types": "npm:7.7.1" - "@typescript-eslint/typescript-estree": "npm:7.7.1" - semver: "npm:^7.6.0" + "@typescript-eslint/scope-manager": "npm:7.10.0" + "@typescript-eslint/types": "npm:7.10.0" + "@typescript-eslint/typescript-estree": "npm:7.10.0" peerDependencies: eslint: ^8.56.0 - checksum: 10c0/0986b8c297d6bfdbd2ac8cd3bcf447ef9b934e2dae536771d3368a5c284a0b16c0ea041f82aa100c48d05acc33198e1a3d9d721d3319ae80abba0f5e69c21633 + checksum: 10c0/6724471f94f2788f59748f7efa2a3a53ea910099993bee2fa5746ab5acacecdc9fcb110c568b18099ddc946ea44919ed394bff2bd055ba81fc69f5e6297b73bf languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:7.7.1": - version: 7.7.1 - resolution: "@typescript-eslint/visitor-keys@npm:7.7.1" +"@typescript-eslint/visitor-keys@npm:7.10.0": + version: 7.10.0 + resolution: "@typescript-eslint/visitor-keys@npm:7.10.0" dependencies: - "@typescript-eslint/types": "npm:7.7.1" + "@typescript-eslint/types": "npm:7.10.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/19cbd14ac9a234d847f457cbd880cbd98b83c331a46d2dc2d8c0e6cb54ce6159552f6dd2f7236035be1a71f13f48df4a2aa09e70ad1f1e2ff3da7c3622927bd3 + checksum: 10c0/049e812bcd28869059d04c7bf3543bb55f5205f468b777439c4f120417fb856fb6024cb1d25291aa12556bd08e84f043a96d754ffb2cde37abb604d6f3c51634 languageName: node linkType: hard @@ -2585,8 +2533,8 @@ __metadata: linkType: hard "@vitest/coverage-v8@npm:^1.0.0": - version: 1.5.2 - resolution: "@vitest/coverage-v8@npm:1.5.2" + version: 1.6.0 + resolution: "@vitest/coverage-v8@npm:1.6.0" dependencies: "@ampproject/remapping": "npm:^2.2.1" "@bcoe/v8-coverage": "npm:^0.2.3" @@ -2602,62 +2550,62 @@ __metadata: strip-literal: "npm:^2.0.0" test-exclude: "npm:^6.0.0" peerDependencies: - vitest: 1.5.2 - checksum: 10c0/cc982753969ca31033072324121288fc1945bc7ad09cc00ade9e2d29852acbfb97b177e7bfd0ab6c4cacab1e6600da1e287ed11e340745ffbe55d19212c25cc7 + vitest: 1.6.0 + checksum: 10c0/a7beaf2a88b628a9dc16ddca7589f2b2e4681598e6788d68423dffbb06c608edc52b2dd421ada069eb3cfd83f8f592ddd6e8b8db2d037bf13965a56c5e5835ac languageName: node linkType: hard -"@vitest/expect@npm:1.5.2": - version: 1.5.2 - resolution: "@vitest/expect@npm:1.5.2" +"@vitest/expect@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/expect@npm:1.6.0" dependencies: - "@vitest/spy": "npm:1.5.2" - "@vitest/utils": "npm:1.5.2" + "@vitest/spy": "npm:1.6.0" + "@vitest/utils": "npm:1.6.0" chai: "npm:^4.3.10" - checksum: 10c0/4e8400a55f9e2d4a5a5e2be8c5679fb0a3bfa7550085597b4022320bd9d8f70663707bb4ea02a5403b5327f405d7bc3de5dd21bbf43a8aabc6ceecfc83760ba8 + checksum: 10c0/a4351f912a70543e04960f5694f1f1ac95f71a856a46e87bba27d3eb72a08c5d11d35021cbdc6077452a152e7d93723fc804bba76c2cc53c8896b7789caadae3 languageName: node linkType: hard -"@vitest/runner@npm:1.5.2": - version: 1.5.2 - resolution: "@vitest/runner@npm:1.5.2" +"@vitest/runner@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/runner@npm:1.6.0" dependencies: - "@vitest/utils": "npm:1.5.2" + "@vitest/utils": "npm:1.6.0" p-limit: "npm:^5.0.0" pathe: "npm:^1.1.1" - checksum: 10c0/9fc3e668817ceb49785a366959281eee31739b393b7629d19534a0f3044558663130275cf0631c1821cdf916b491bc3e8b57da1cfaeefa66a99473c08c4e7621 + checksum: 10c0/27d67fa51f40effe0e41ee5f26563c12c0ef9a96161f806036f02ea5eb9980c5cdf305a70673942e7a1e3d472d4d7feb40093ae93024ef1ccc40637fc65b1d2f languageName: node linkType: hard -"@vitest/snapshot@npm:1.5.2": - version: 1.5.2 - resolution: "@vitest/snapshot@npm:1.5.2" +"@vitest/snapshot@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/snapshot@npm:1.6.0" dependencies: magic-string: "npm:^0.30.5" pathe: "npm:^1.1.1" pretty-format: "npm:^29.7.0" - checksum: 10c0/67ae235e59f1adec1e6a44e2a8ea1d2ee98f2416d3ccf566798474ee98943b87b3f20c2098e193866b01780ae4c767239e4f94dbbb3daf0f0978b8106e8e86b1 + checksum: 10c0/be027fd268d524589ff50c5fad7b4faa1ac5742b59ac6c1dc6f5a3930aad553560e6d8775e90ac4dfae4be746fc732a6f134ba95606a1519707ce70db3a772a5 languageName: node linkType: hard -"@vitest/spy@npm:1.5.2": - version: 1.5.2 - resolution: "@vitest/spy@npm:1.5.2" +"@vitest/spy@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/spy@npm:1.6.0" dependencies: tinyspy: "npm:^2.2.0" - checksum: 10c0/d66de2873f762ba9a45ca03fe9d11db0c1910635e02289a5b54746c41bd68366b9d198b265e13a8608cc21774f4f197afb25acbba5c0769e651598df0eaab5b3 + checksum: 10c0/df66ea6632b44fb76ef6a65c1abbace13d883703aff37cd6d062add6dcd1b883f19ce733af8e0f7feb185b61600c6eb4042a518e4fb66323d0690ec357f9401c languageName: node linkType: hard -"@vitest/utils@npm:1.5.2": - version: 1.5.2 - resolution: "@vitest/utils@npm:1.5.2" +"@vitest/utils@npm:1.6.0": + version: 1.6.0 + resolution: "@vitest/utils@npm:1.6.0" dependencies: diff-sequences: "npm:^29.6.3" estree-walker: "npm:^3.0.3" loupe: "npm:^2.3.7" pretty-format: "npm:^29.7.0" - checksum: 10c0/019eeac016deb5d2434db4990b2ba1ebf37434a020c3d6bcf163c77af80e01dd9add7b3d379bdacd91497847026a5bd2aafe393035c48f5296ce5275bad00126 + checksum: 10c0/8b0d19835866455eb0b02b31c5ca3d8ad45f41a24e4c7e1f064b480f6b2804dc895a70af332f14c11ed89581011b92b179718523f55f5b14787285a0321b1301 languageName: node linkType: hard @@ -2685,14 +2633,14 @@ __metadata: languageName: node linkType: hard -"@zkochan/js-yaml@npm:0.0.6": - version: 0.0.6 - resolution: "@zkochan/js-yaml@npm:0.0.6" +"@zkochan/js-yaml@npm:0.0.7": + version: 0.0.7 + resolution: "@zkochan/js-yaml@npm:0.0.7" dependencies: argparse: "npm:^2.0.1" bin: js-yaml: bin/js-yaml.js - checksum: 10c0/5ce27ae75fb1db9657d4065bf6b380b4c0f756feb1bdf42bfde40551a74bcc0ec918f748cbdbd5d95b7107d00bc2f731ee731b5cfe93acb6f7da5639b16aa1f8 + checksum: 10c0/c8b3525717912811f9422ed50e94c5751ed6f771eb1b7e5cde097f14835654931e2bdaecb1e5fc37b51cf8d822410a307f16dd1581d46149398c30215f3f9bac languageName: node linkType: hard @@ -2814,14 +2762,14 @@ __metadata: linkType: hard "ajv@npm:^8.11.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" + version: 8.13.0 + resolution: "ajv@npm:8.13.0" dependencies: - fast-deep-equal: "npm:^3.1.1" + fast-deep-equal: "npm:^3.1.3" json-schema-traverse: "npm:^1.0.0" require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.2.2" - checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + uri-js: "npm:^4.4.1" + checksum: 10c0/14c6497b6f72843986d7344175a1aa0e2c35b1e7f7475e55bc582cddb765fca7e6bf950f465dc7846f817776d9541b706f4b5b3fbedd8dfdeb5fce6f22864264 languageName: node linkType: hard @@ -2927,8 +2875,8 @@ __metadata: linkType: hard "apify@npm:*": - version: 3.2.0 - resolution: "apify@npm:3.2.0" + version: 3.2.2 + resolution: "apify@npm:3.2.2" dependencies: "@apify/consts": "npm:^2.23.0" "@apify/input_secrets": "npm:^1.1.40" @@ -2939,11 +2887,12 @@ __metadata: "@crawlee/types": "npm:^3.9.0" "@crawlee/utils": "npm:^3.9.0" apify-client: "npm:^2.9.0" + fs-extra: "npm:^11.2.0" ow: "npm:^0.28.2" semver: "npm:^7.5.4" tslib: "npm:^2.6.2" ws: "npm:^7.5.9" - checksum: 10c0/7c45be02d8ab90cb0efe5a426f2233268a26c14a5940db59f88f71b87c21badd81a659441e7cec17fa07566201c4a2a31df663e1164593bc6af45fda601a3e34 + checksum: 10c0/e817d7c4541eb42eae43f4855cc1abe2b5b031bb2a176def39612b1b9adbb22ed19b6791a4978b07dc6dfc2dea483023d10edd908bb5b7ce9006e61a07243e7d languageName: node linkType: hard @@ -3233,13 +3182,13 @@ __metadata: linkType: hard "axios@npm:^1.6.0, axios@npm:^1.6.7": - version: 1.6.8 - resolution: "axios@npm:1.6.8" + version: 1.7.2 + resolution: "axios@npm:1.7.2" dependencies: follow-redirects: "npm:^1.15.6" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: 10c0/0f22da6f490335479a89878bc7d5a1419484fbb437b564a80c34888fc36759ae4f56ea28d55a191695e5ed327f0bad56e7ff60fb6770c14d1be6501505d47ab9 + checksum: 10c0/cbd47ce380fe045313364e740bb03b936420b8b5558c7ea36a4563db1258c658f05e40feb5ddd41f6633fdd96d37ac2a76f884dad599c5b0224b4c451b3fa7ae languageName: node linkType: hard @@ -3292,11 +3241,11 @@ __metadata: linkType: hard "bare-path@npm:^2.0.0, bare-path@npm:^2.1.0": - version: 2.1.2 - resolution: "bare-path@npm:2.1.2" + version: 2.1.3 + resolution: "bare-path@npm:2.1.3" dependencies: bare-os: "npm:^2.1.0" - checksum: 10c0/d61512d6479077d3fa5e6d73b382b4af7fdc182872159866b8e182f59c4a521dcb163a86f1a217f4f113f19706086c4b19fa21e8729a4dabc81c5a1f64c1e4ea + checksum: 10c0/35587e177fc8fa5b13fb90bac8779b5ce49c99016d221ddaefe2232d02bd4295d79b941e14ae19fda75ec42a6fe5fb66c07d83ae7ec11462178e66b7be65ca74 languageName: node linkType: hard @@ -3401,12 +3350,12 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" dependencies: - fill-range: "npm:^7.0.1" - checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 languageName: node linkType: hard @@ -3506,8 +3455,8 @@ __metadata: linkType: hard "cacache@npm:^18.0.0": - version: 18.0.2 - resolution: "cacache@npm:18.0.2" + version: 18.0.3 + resolution: "cacache@npm:18.0.3" dependencies: "@npmcli/fs": "npm:^3.1.0" fs-minipass: "npm:^3.0.0" @@ -3521,7 +3470,7 @@ __metadata: ssri: "npm:^10.0.0" tar: "npm:^6.1.11" unique-filename: "npm:^3.0.0" - checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc + checksum: 10c0/dfda92840bb371fb66b88c087c61a74544363b37a265023223a99965b16a16bbb87661fe4948718d79df6e0cc04e85e62784fbcf1832b2a5e54ff4c46fbb45b7 languageName: node linkType: hard @@ -3547,6 +3496,21 @@ __metadata: languageName: node linkType: hard +"cacheable-request@npm:^12.0.1": + version: 12.0.1 + resolution: "cacheable-request@npm:12.0.1" + dependencies: + "@types/http-cache-semantics": "npm:^4.0.4" + get-stream: "npm:^9.0.1" + http-cache-semantics: "npm:^4.1.1" + keyv: "npm:^4.5.4" + mimic-response: "npm:^4.0.0" + normalize-url: "npm:^8.0.1" + responselike: "npm:^3.0.0" + checksum: 10c0/3ccc26519c8dd0821fcb21fa00781e55f05ab6e1da1487fbbee9c8c03435a3cf72c29a710a991cebe398fb9a5274e2a772fc488546d402db8dc21310764ed83a + languageName: node + linkType: hard + "call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": version: 1.0.7 resolution: "call-bind@npm:1.0.7" @@ -3600,9 +3564,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.30001587": - version: 1.0.30001612 - resolution: "caniuse-lite@npm:1.0.30001612" - checksum: 10c0/d6b405ff06f4e913bc779f9183fa68001c9d6b8526a7dd1b99c60587dd21a01aa8def3d8462cf6214f0181f1c21b9245611ff65241cf9c967fc742e86ece5065 + version: 1.0.30001621 + resolution: "caniuse-lite@npm:1.0.30001621" + checksum: 10c0/c7e7fb021ca32b26394ddf0d62faa8a7919c2e50f8a0dcc51f02a96b7b46fff69a81d6b7ead711367fcaf9dfbc6c795320553b6f84dcb393806a10efeb756ce7 languageName: node linkType: hard @@ -3921,10 +3885,10 @@ __metadata: languageName: node linkType: hard -"commander@npm:11.1.0": - version: 11.1.0 - resolution: "commander@npm:11.1.0" - checksum: 10c0/13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179 +"commander@npm:12.1.0": + version: 12.1.0 + resolution: "commander@npm:12.1.0" + checksum: 10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9 languageName: node linkType: hard @@ -4201,18 +4165,18 @@ __metadata: version: 0.0.0-use.local resolution: "crawlee@workspace:packages/crawlee" dependencies: - "@crawlee/basic": "npm:3.9.2" - "@crawlee/browser": "npm:3.9.2" - "@crawlee/browser-pool": "npm:3.9.2" - "@crawlee/cheerio": "npm:3.9.2" - "@crawlee/cli": "npm:3.9.2" - "@crawlee/core": "npm:3.9.2" - "@crawlee/http": "npm:3.9.2" - "@crawlee/jsdom": "npm:3.9.2" - "@crawlee/linkedom": "npm:3.9.2" - "@crawlee/playwright": "npm:3.9.2" - "@crawlee/puppeteer": "npm:3.9.2" - "@crawlee/utils": "npm:3.9.2" + "@crawlee/basic": "npm:3.10.1" + "@crawlee/browser": "npm:3.10.1" + "@crawlee/browser-pool": "npm:3.10.1" + "@crawlee/cheerio": "npm:3.10.1" + "@crawlee/cli": "npm:3.10.1" + "@crawlee/core": "npm:3.10.1" + "@crawlee/http": "npm:3.10.1" + "@crawlee/jsdom": "npm:3.10.1" + "@crawlee/linkedom": "npm:3.10.1" + "@crawlee/playwright": "npm:3.10.1" + "@crawlee/puppeteer": "npm:3.10.1" + "@crawlee/utils": "npm:3.10.1" import-local: "npm:^3.1.0" tslib: "npm:^2.4.0" peerDependencies: @@ -4288,9 +4252,9 @@ __metadata: linkType: hard "csv-stringify@npm:^6.2.0": - version: 6.4.6 - resolution: "csv-stringify@npm:6.4.6" - checksum: 10c0/df23b1ff125a6b8634a5b1878b6255e6a666391c4e904b0105e5f23a0bfe1b1abe27cf6c7d8ea923557226b25d93b2b4ae1202fa6b0c17d3bcb0397e9078ff83 + version: 6.5.0 + resolution: "csv-stringify@npm:6.5.0" + checksum: 10c0/838f793d28458fcaf2bc84ac7d33e918792a7ea004ffbffbb9553e7d0e9de46ef7e2b306096f8299634561e2b78b808299c4aa629943ff96d65375c6e03194b8 languageName: node linkType: hard @@ -4518,7 +4482,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -4590,16 +4554,16 @@ __metadata: linkType: hard "devtools-protocol@npm:*": - version: 0.0.1292262 - resolution: "devtools-protocol@npm:0.0.1292262" - checksum: 10c0/6fb5c1f271d5593a0865080f539f681c35499defb19ea4bd97592f9b65d5e546264685439f38b9c3310c1a00c788937c0c7f7b8906550e696e6a7be5847c47bd + version: 0.0.1305504 + resolution: "devtools-protocol@npm:0.0.1305504" + checksum: 10c0/e7e13fbb3cb5431dc4168971d781873d12a2b20296891e26a7e736957d925e35133ffb7105b39ce1241a0b289219046f5026430084213bf81b020ed3984e11af languageName: node linkType: hard -"devtools-protocol@npm:0.0.1273771": - version: 0.0.1273771 - resolution: "devtools-protocol@npm:0.0.1273771" - checksum: 10c0/e4ed409473fa975e303f7f2fec5a4dd141847070a99477ada684e2f7aa032b8c1424eec326c629319f1f69f0ad1236b9ed54a84cbfa85dd729125ea7512756cb +"devtools-protocol@npm:0.0.1286932": + version: 0.0.1286932 + resolution: "devtools-protocol@npm:0.0.1286932" + checksum: 10c0/2a8d0bd15ce77ca7bce1dfc4b019d968cc4a81753f95454d7b0b9b53d724d6ac88c9e1d228d01a23a268c526e992539e0c880aa8559c5d4468cdb0313e815bd0 languageName: node linkType: hard @@ -4765,9 +4729,9 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.4.668": - version: 1.4.749 - resolution: "electron-to-chromium@npm:1.4.749" - checksum: 10c0/6a448071e12918fd053fb8d4472178d8c916c9242b8ba0e0c5cb66d7c2f8602bc50e6a6d8bc48bff1fac67be63713e859ddae3353c28ee43cad8970b0ed78aba + version: 1.4.783 + resolution: "electron-to-chromium@npm:1.4.783" + checksum: 10c0/d112e5602e2ee7516ead648e2d2449027f1106147858442781ac475f9a3861a783cb6c8f4638316800f5eff2c4a1f046cd412704678c90479c5417bf204de572 languageName: node linkType: hard @@ -4818,12 +4782,12 @@ __metadata: linkType: hard "enhanced-resolve@npm:^5.12.0": - version: 5.16.0 - resolution: "enhanced-resolve@npm:5.16.0" + version: 5.16.1 + resolution: "enhanced-resolve@npm:5.16.1" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.2.0" - checksum: 10c0/dd69669cbb638ccacefd03e04d5e195ee6a99b7f5f8012f86d2df7781834de357923e06064ea621137c4ce0b37cc12b872b4e6d1ac6ab15fe98e7f1dfbbb08c4 + checksum: 10c0/57d52625b978f18b32351a03006699de1e3695ce27af936ab4f1f98d3a4c825b219b445910bb4eef398303bbb5f37d7e382f842513d0f3a32614b78f6fd07ab7 languageName: node linkType: hard @@ -5024,7 +4988,7 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.20.1": +"esbuild@npm:^0.20.1, esbuild@npm:~0.20.2": version: 0.20.2 resolution: "esbuild@npm:0.20.2" dependencies: @@ -5104,87 +5068,7 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:~0.19.10": - version: 0.19.12 - resolution: "esbuild@npm:0.19.12" - dependencies: - "@esbuild/aix-ppc64": "npm:0.19.12" - "@esbuild/android-arm": "npm:0.19.12" - "@esbuild/android-arm64": "npm:0.19.12" - "@esbuild/android-x64": "npm:0.19.12" - "@esbuild/darwin-arm64": "npm:0.19.12" - "@esbuild/darwin-x64": "npm:0.19.12" - "@esbuild/freebsd-arm64": "npm:0.19.12" - "@esbuild/freebsd-x64": "npm:0.19.12" - "@esbuild/linux-arm": "npm:0.19.12" - "@esbuild/linux-arm64": "npm:0.19.12" - "@esbuild/linux-ia32": "npm:0.19.12" - "@esbuild/linux-loong64": "npm:0.19.12" - "@esbuild/linux-mips64el": "npm:0.19.12" - "@esbuild/linux-ppc64": "npm:0.19.12" - "@esbuild/linux-riscv64": "npm:0.19.12" - "@esbuild/linux-s390x": "npm:0.19.12" - "@esbuild/linux-x64": "npm:0.19.12" - "@esbuild/netbsd-x64": "npm:0.19.12" - "@esbuild/openbsd-x64": "npm:0.19.12" - "@esbuild/sunos-x64": "npm:0.19.12" - "@esbuild/win32-arm64": "npm:0.19.12" - "@esbuild/win32-ia32": "npm:0.19.12" - "@esbuild/win32-x64": "npm:0.19.12" - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d - languageName: node - linkType: hard - -"escalade@npm:^3.1.1": +"escalade@npm:^3.1.1, escalade@npm:^3.1.2": version: 3.1.2 resolution: "escalade@npm:3.1.2" checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287 @@ -5262,6 +5146,17 @@ __metadata: languageName: node linkType: hard +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + languageName: node + linkType: hard + "eslint-import-resolver-node@npm:^0.3.9": version: 0.3.9 resolution: "eslint-import-resolver-node@npm:0.3.9" @@ -5373,11 +5268,11 @@ __metadata: linkType: hard "eslint-plugin-react-hooks@npm:^4.3.0, eslint-plugin-react-hooks@npm:^4.6.0": - version: 4.6.1 - resolution: "eslint-plugin-react-hooks@npm:4.6.1" + version: 4.6.2 + resolution: "eslint-plugin-react-hooks@npm:4.6.2" peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - checksum: 10c0/c7b6cf91dc92d4d69311cc9d83bc944abb131aa843284a2b5312323cee8c26425c31027b8d9626d4c909055b42f1a413eadb29cf0025adf689bcfde99dcd498a + checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc languageName: node linkType: hard @@ -5766,6 +5661,17 @@ __metadata: languageName: node linkType: hard +"file-type@npm:^19.0.0": + version: 19.0.0 + resolution: "file-type@npm:19.0.0" + dependencies: + readable-web-to-node-stream: "npm:^3.0.2" + strtok3: "npm:^7.0.0" + token-types: "npm:^5.0.1" + checksum: 10c0/1884c3627f5922365f86cb19f107850fe7b72d78bef5c2affc92aa098ba414c944e3763101068236345737f44a5b6da13bb0ba79de4c4e3b1b1c68e1958643d9 + languageName: node + linkType: hard + "filelist@npm:^1.0.4": version: 1.0.4 resolution: "filelist@npm:1.0.4" @@ -5775,12 +5681,12 @@ __metadata: languageName: node linkType: hard -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" dependencies: to-regex-range: "npm:^5.0.1" - checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 languageName: node linkType: hard @@ -5839,22 +5745,22 @@ __metadata: languageName: node linkType: hard -"fingerprint-generator@npm:^2.0.6, fingerprint-generator@npm:^2.1.50": - version: 2.1.50 - resolution: "fingerprint-generator@npm:2.1.50" +"fingerprint-generator@npm:^2.0.6, fingerprint-generator@npm:^2.1.51": + version: 2.1.51 + resolution: "fingerprint-generator@npm:2.1.51" dependencies: - generative-bayesian-network: "npm:^2.1.50" - header-generator: "npm:^2.1.50" + generative-bayesian-network: "npm:^2.1.51" + header-generator: "npm:^2.1.51" tslib: "npm:^2.4.0" - checksum: 10c0/3c74293f0a6f307df112d12ffe2cc7032118a39e9a38a61da455be73ce99377dd292130177276ccf58b0d7265ca170efeba4f4bf246da01e363394afb8e9ef82 + checksum: 10c0/04036af3c958c006a5a6e20573df645983155143574a279cd59cecaf63446a5db4fd602b044317c05d2533fc9b1f404415ae27dd16e70ef578152a67f257cfdc languageName: node linkType: hard "fingerprint-injector@npm:^2.0.5": - version: 2.1.50 - resolution: "fingerprint-injector@npm:2.1.50" + version: 2.1.51 + resolution: "fingerprint-injector@npm:2.1.51" dependencies: - fingerprint-generator: "npm:^2.1.50" + fingerprint-generator: "npm:^2.1.51" tslib: "npm:^2.4.0" peerDependencies: playwright: ^1.22.2 @@ -5864,7 +5770,7 @@ __metadata: optional: true puppeteer: optional: true - checksum: 10c0/b0494d75ed2ed6c7f8c3b98899061d43509486f2de013652c9fdb73299f6d6641c96fb6636094161bdf6d57e724dec7fddbf6d3c87a1ed8f3a457b5cf3c3bf88 + checksum: 10c0/59c59181420af163c89206eec42edaba91064afedd33fd30d6479f10d044ee9c8e3bce09c3c4a6dd33aefacfe262fe562f99ed1767c2aa3054cee042de19f3dd languageName: node linkType: hard @@ -5931,6 +5837,13 @@ __metadata: languageName: node linkType: hard +"form-data-encoder@npm:^4.0.2": + version: 4.0.2 + resolution: "form-data-encoder@npm:4.0.2" + checksum: 10c0/559d3130e265316452434eaf68d68560fb36392ff4d04614683419de4fb43c3dbe152dc303599fae382ce24d3451a6d3d289d3bcc182ae3d8ad32e7ce8e35e53 + languageName: node + linkType: hard + "form-data@npm:^4.0.0": version: 4.0.0 resolution: "form-data@npm:4.0.0" @@ -6097,13 +6010,13 @@ __metadata: languageName: node linkType: hard -"generative-bayesian-network@npm:^2.1.50": - version: 2.1.50 - resolution: "generative-bayesian-network@npm:2.1.50" +"generative-bayesian-network@npm:^2.1.51": + version: 2.1.51 + resolution: "generative-bayesian-network@npm:2.1.51" dependencies: adm-zip: "npm:^0.5.9" tslib: "npm:^2.4.0" - checksum: 10c0/b1fc587e91edca33cc525f9ca1f3f3bd041725ca999476f10e1292e89f6e76f1d854b0e3e606ed016015bc14226046215e153d19bc9025b554fce0e4227fee09 + checksum: 10c0/d656066ca9c7ee52d80b3524c569c8642676a1ee84f35e63e2a3c099cc8cbb9abb895b6f94d4ee8976ed9c6f63dd6eeb4dd22fb2f2b3b6ed639bd268955073a8 languageName: node linkType: hard @@ -6192,6 +6105,16 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^9.0.1": + version: 9.0.1 + resolution: "get-stream@npm:9.0.1" + dependencies: + "@sec-ant/readable-stream": "npm:^0.4.1" + is-stream: "npm:^4.0.1" + checksum: 10c0/d70e73857f2eea1826ac570c3a912757dcfbe8a718a033fa0c23e12ac8e7d633195b01710e0559af574cbb5af101009b42df7b6f6b29ceec8dbdf7291931b948 + languageName: node + linkType: hard + "get-symbol-description@npm:^1.0.2": version: 1.0.2 resolution: "get-symbol-description@npm:1.0.2" @@ -6203,12 +6126,12 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.2": - version: 4.7.3 - resolution: "get-tsconfig@npm:4.7.3" +"get-tsconfig@npm:^4.5.0, get-tsconfig@npm:^4.7.5": + version: 4.7.5 + resolution: "get-tsconfig@npm:4.7.5" dependencies: resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/b15ca9d5d0887ebfccadc9fe88b6ff3827a5691ec90e7608a5e9c74bef959c14aba62f6bb88ac7f50322395731789a2cf654244f00e10f4f76349911b6846d6f + checksum: 10c0/a917dff2ba9ee187c41945736bf9bbab65de31ce5bc1effd76267be483a7340915cff232199406379f26517d2d0a4edcdbcda8cca599c2480a0f2cf1e1de3efa languageName: node linkType: hard @@ -6319,17 +6242,17 @@ __metadata: linkType: hard "glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": - version: 10.3.12 - resolution: "glob@npm:10.3.12" + version: 10.4.1 + resolution: "glob@npm:10.4.1" dependencies: foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.6" - minimatch: "npm:^9.0.1" - minipass: "npm:^7.0.4" - path-scurry: "npm:^1.10.2" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + path-scurry: "npm:^1.11.1" bin: glob: dist/esm/bin.mjs - checksum: 10c0/f60cefdc1cf3f958b2bb5823e1b233727f04916d489dc4641d76914f016e6704421e06a83cbb68b0cb1cb9382298b7a88075b844ad2127fc9727ea22b18b0711 + checksum: 10c0/77f2900ed98b9cc2a0e1901ee5e476d664dae3cd0f1b662b8bfd4ccf00d0edc31a11595807706a274ca10e1e251411bbf2e8e976c82bed0d879a9b89343ed379 languageName: node linkType: hard @@ -6391,11 +6314,12 @@ __metadata: linkType: hard "globalthis@npm:^1.0.3": - version: 1.0.3 - resolution: "globalthis@npm:1.0.3" + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" dependencies: - define-properties: "npm:^1.1.3" - checksum: 10c0/0db6e9af102a5254630351557ac15e6909bc7459d3e3f6b001e59fe784c96d31108818f032d9095739355a88467459e6488ff16584ee6250cd8c27dec05af4b0 + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 languageName: node linkType: hard @@ -6444,17 +6368,17 @@ __metadata: linkType: hard "got-scraping@npm:^4.0.0, got-scraping@npm:^4.0.3": - version: 4.0.5 - resolution: "got-scraping@npm:4.0.5" + version: 4.0.6 + resolution: "got-scraping@npm:4.0.6" dependencies: - got: "npm:^13.0.0" + got: "npm:^14.2.1" header-generator: "npm:^2.1.41" http2-wrapper: "npm:^2.2.0" mimic-response: "npm:^4.0.0" ow: "npm:^1.1.1" quick-lru: "npm:^7.0.0" tslib: "npm:^2.6.2" - checksum: 10c0/780974d31eadefcb58fc751834d9718c9ec598dea58ca076131b4a67b323ff400f57dfc9a05eacbba5a8e716c7612742e52a7401f33fb740bfaf38f4a349750f + checksum: 10c0/126e76c43122ef025e53931a9de5ef96b2f77e869f2d09d7696ec6a7b9189572cfc1580676ccff719e2e202ec195cd265ac1c08f5a3a15d83a0a8d982345a11e languageName: node linkType: hard @@ -6477,6 +6401,25 @@ __metadata: languageName: node linkType: hard +"got@npm:^14.2.1": + version: 14.3.0 + resolution: "got@npm:14.3.0" + dependencies: + "@sindresorhus/is": "npm:^6.3.1" + "@szmarczak/http-timer": "npm:^5.0.1" + cacheable-lookup: "npm:^7.0.0" + cacheable-request: "npm:^12.0.1" + decompress-response: "npm:^6.0.0" + form-data-encoder: "npm:^4.0.2" + get-stream: "npm:^8.0.1" + http2-wrapper: "npm:^2.2.1" + lowercase-keys: "npm:^3.0.0" + p-cancelable: "npm:^4.0.1" + responselike: "npm:^3.0.0" + checksum: 10c0/c2fe6a1411cd6f3334bda48b4b027035e0c4a0587344c652f193d4ca7b782d43ec29b1781c796572f4621676eeafe36d2bd9e371cb7e1d1982e65f3630a4dcb6 + languageName: node + linkType: hard + "graceful-fs@npm:4.2.11, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" @@ -6594,15 +6537,15 @@ __metadata: languageName: node linkType: hard -"header-generator@npm:^2.1.41, header-generator@npm:^2.1.50": - version: 2.1.50 - resolution: "header-generator@npm:2.1.50" +"header-generator@npm:^2.1.41, header-generator@npm:^2.1.51": + version: 2.1.51 + resolution: "header-generator@npm:2.1.51" dependencies: browserslist: "npm:^4.21.1" - generative-bayesian-network: "npm:^2.1.50" + generative-bayesian-network: "npm:^2.1.51" ow: "npm:^0.28.1" tslib: "npm:^2.4.0" - checksum: 10c0/681cda69a5c8f9fe8151b224df9c373b748d5ca067c3bf7d3ce6a7e7aefc5db02b325169c01606285dd8867d6374841cbf2ebedbdade0a3a52b7c8a4a43b5d59 + checksum: 10c0/2d109e4bd8343bce49f71525264c8ff8ef80cfab90d7ba828c019e01644b165173ee8d7f9e7c16b21bdd7ffa3837e9bf1e2d118bd4225b517f162ee211306d5b languageName: node linkType: hard @@ -6641,11 +6584,11 @@ __metadata: linkType: hard "hosted-git-info@npm:^7.0.0": - version: 7.0.1 - resolution: "hosted-git-info@npm:7.0.1" + version: 7.0.2 + resolution: "hosted-git-info@npm:7.0.2" dependencies: lru-cache: "npm:^10.0.1" - checksum: 10c0/361c4254f717f06d581a5a90aa0156a945e662e05ebbb533c1fa9935f10886d8247db48cbbcf9667f02e519e6479bf16dcdcf3124c3030e76c4c3ca2c88ee9d3 + checksum: 10c0/b19dbd92d3c0b4b0f1513cf79b0fc189f54d6af2129eeb201de2e9baaa711f1936929c848b866d9c8667a0f956f34bf4f07418c12be1ee9ca74fd9246335ca1f languageName: node linkType: hard @@ -6737,7 +6680,7 @@ __metadata: languageName: node linkType: hard -"http2-wrapper@npm:^2.1.10, http2-wrapper@npm:^2.2.0": +"http2-wrapper@npm:^2.1.10, http2-wrapper@npm:^2.2.0, http2-wrapper@npm:^2.2.1": version: 2.2.1 resolution: "http2-wrapper@npm:2.2.1" dependencies: @@ -6790,12 +6733,12 @@ __metadata: languageName: node linkType: hard -"husky@npm:^8.0.1": - version: 8.0.3 - resolution: "husky@npm:8.0.3" +"husky@npm:^9.0.11": + version: 9.0.11 + resolution: "husky@npm:9.0.11" bin: - husky: lib/bin.js - checksum: 10c0/6722591771c657b91a1abb082e07f6547eca79144d678e586828ae806499d90dce2a6aee08b66183fd8b085f19d20e0990a2ad396961746b4c8bd5bdb619d668 + husky: bin.mjs + checksum: 10c0/2c787dcf74a837fc9a4fea7da907509d4bd9a289f4ea10ecc9d86279e4d4542b0f5f6443a619bccae19e265f2677172cc2b86aae5c932a35a330cc227d914605 languageName: node linkType: hard @@ -6824,7 +6767,7 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13": +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb @@ -6841,11 +6784,11 @@ __metadata: linkType: hard "ignore-walk@npm:^6.0.4": - version: 6.0.4 - resolution: "ignore-walk@npm:6.0.4" + version: 6.0.5 + resolution: "ignore-walk@npm:6.0.5" dependencies: minimatch: "npm:^9.0.0" - checksum: 10c0/6dd2ea369f3d32d90cb26ca6647bc6e112ed483433270ed89b8055dd708d00777c2cbc85b93b43f53e2100851277fd1539796a758ae4c64b84445d4f1da5fd8f + checksum: 10c0/8bd6d37c82400016c7b6538b03422dde8c9d7d3e99051c8357dd205d499d42828522fb4fbce219c9c21b4b069079445bacdc42bbd3e2e073b52856c2646d8a39 languageName: node linkType: hard @@ -6879,9 +6822,9 @@ __metadata: linkType: hard "import-meta-resolve@npm:^4.0.0": - version: 4.0.0 - resolution: "import-meta-resolve@npm:4.0.0" - checksum: 10c0/709375e01f8c3a87b7870991ca29c630d71bb7e22b7bb0f622613173d87b41b4043b4a983800e6d38ab3867496a46f82d30df0cbc2e55792c91c23193eea67a1 + version: 4.1.0 + resolution: "import-meta-resolve@npm:4.1.0" + checksum: 10c0/42f3284b0460635ddf105c4ad99c6716099c3ce76702602290ad5cbbcd295700cbc04e4bdf47bacf9e3f1a4cec2e1ff887dabc20458bef398f9de22ddff45ef5 languageName: node linkType: hard @@ -6976,10 +6919,10 @@ __metadata: linkType: hard "inquirer@npm:^9.0.0": - version: 9.2.19 - resolution: "inquirer@npm:9.2.19" + version: 9.2.22 + resolution: "inquirer@npm:9.2.22" dependencies: - "@inquirer/figures": "npm:^1.0.1" + "@inquirer/figures": "npm:^1.0.2" "@ljharb/through": "npm:^2.3.13" ansi-escapes: "npm:^4.3.2" chalk: "npm:^5.3.0" @@ -6994,7 +6937,7 @@ __metadata: string-width: "npm:^4.2.3" strip-ansi: "npm:^6.0.1" wrap-ansi: "npm:^6.2.0" - checksum: 10c0/9015947d7f27ed11c8c609c26222e748121df00b6030df06fb7a0c99cb5ffc09f8afa1c4c969c93ec9add7682e540a70e7736ee60f0f816b91cedd17a620e7e6 + checksum: 10c0/a7dc69a42b634a7222e75783d733a24d776bff43dcc77c6f0a47637dbc02a362de182b30165ede7978cd9fe7d22bae14fdd84e0cbfaec8c2b0a89d9131867bca languageName: node linkType: hard @@ -7343,6 +7286,13 @@ __metadata: languageName: node linkType: hard +"is-stream@npm:^4.0.1": + version: 4.0.1 + resolution: "is-stream@npm:4.0.1" + checksum: 10c0/2706c7f19b851327ba374687bc4a3940805e14ca496dc672b9629e744d143b1ad9c6f1b162dece81c7bfbc0f83b32b61ccc19ad2e05aad2dd7af347408f60c7f + languageName: node + linkType: hard + "is-string@npm:^1.0.5, is-string@npm:^1.0.7": version: 1.0.7 resolution: "is-string@npm:1.0.7" @@ -7526,22 +7476,22 @@ __metadata: languageName: node linkType: hard -"jackspeak@npm:^2.3.6": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" +"jackspeak@npm:^3.1.2": + version: 3.1.2 + resolution: "jackspeak@npm:3.1.2" dependencies: "@isaacs/cliui": "npm:^8.0.2" "@pkgjs/parseargs": "npm:^0.11.0" dependenciesMeta: "@pkgjs/parseargs": optional: true - checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 + checksum: 10c0/5f1922a1ca0f19869e23f0dc4374c60d36e922f7926c76fecf8080cc6f7f798d6a9caac1b9428327d14c67731fd551bb3454cb270a5e13a0718f3b3660ec3d5d languageName: node linkType: hard "jake@npm:^10.8.5": - version: 10.8.7 - resolution: "jake@npm:10.8.7" + version: 10.9.1 + resolution: "jake@npm:10.9.1" dependencies: async: "npm:^3.2.3" chalk: "npm:^4.0.2" @@ -7549,7 +7499,7 @@ __metadata: minimatch: "npm:^3.1.2" bin: jake: bin/cli.js - checksum: 10c0/89326d01a8bc110d02d973729a66394c79a34b34461116f5c530a2a2dbc30265683fe6737928f75df9178e9d369ff1442f5753fb983d525e740eefdadc56a103 + checksum: 10c0/dda972431a926462f08fcf583ea8997884216a43daa5cce81cb42e7e661dc244f836c0a802fde23439c6e1fc59743d1c0be340aa726d3b17d77557611a5cd541 languageName: node linkType: hard @@ -7688,9 +7638,9 @@ __metadata: linkType: hard "json-parse-even-better-errors@npm:^3.0.0": - version: 3.0.1 - resolution: "json-parse-even-better-errors@npm:3.0.1" - checksum: 10c0/bc40600b14231dff1ff911d269c7ed89fbf3dbedf25cad3f47c10ff9cbb998ce03921372a17f27f3c7cfed76e679bc6c02a7b4cb2604b0ba68cd51ed16899492 + version: 3.0.2 + resolution: "json-parse-even-better-errors@npm:3.0.2" + checksum: 10c0/147f12b005768abe9fab78d2521ce2b7e1381a118413d634a40e6d907d7d10f5e9a05e47141e96d6853af7cc36d2c834d0a014251be48791e037ff2f13d2b94b languageName: node linkType: hard @@ -7781,7 +7731,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.5.3, keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -7798,9 +7748,9 @@ __metadata: linkType: hard "language-subtag-registry@npm:^0.3.20": - version: 0.3.22 - resolution: "language-subtag-registry@npm:0.3.22" - checksum: 10c0/d1e09971260a7cd3b9fdeb190d33af0b6e99c8697013537d9aaa15f7856d9d83aee128ba8078e219df0a7cf4b8dd18d1a0c188f6543b500d92a2689d2d114b70 + version: 0.3.23 + resolution: "language-subtag-registry@npm:0.3.23" + checksum: 10c0/e9b05190421d2cd36dd6c95c28673019c927947cb6d94f40ba7e77a838629ee9675c94accf897fbebb07923187deb843b8fbb8935762df6edafe6c28dcb0b86c languageName: node linkType: hard @@ -7814,12 +7764,12 @@ __metadata: linkType: hard "lerna@npm:^8.0.0": - version: 8.1.2 - resolution: "lerna@npm:8.1.2" + version: 8.1.3 + resolution: "lerna@npm:8.1.3" dependencies: - "@lerna/create": "npm:8.1.2" + "@lerna/create": "npm:8.1.3" "@npmcli/run-script": "npm:7.0.2" - "@nx/devkit": "npm:>=17.1.2 < 19" + "@nx/devkit": "npm:>=17.1.2 < 20" "@octokit/plugin-enterprise-rest": "npm:6.0.1" "@octokit/rest": "npm:19.0.11" byte-size: "npm:8.1.1" @@ -7862,7 +7812,7 @@ __metadata: npm-packlist: "npm:5.1.1" npm-registry-fetch: "npm:^14.0.5" npmlog: "npm:^6.0.2" - nx: "npm:>=17.1.2 < 19" + nx: "npm:>=17.1.2 < 20" p-map: "npm:4.0.0" p-map-series: "npm:2.1.0" p-pipe: "npm:3.1.0" @@ -7880,7 +7830,7 @@ __metadata: slash: "npm:3.0.0" ssri: "npm:^9.0.1" strong-log-transformer: "npm:2.1.0" - tar: "npm:6.1.11" + tar: "npm:6.2.1" temp-dir: "npm:1.0.0" typescript: "npm:>=3 < 6" upath: "npm:2.0.1" @@ -7893,7 +7843,7 @@ __metadata: yargs-parser: "npm:21.1.1" bin: lerna: dist/cli.js - checksum: 10c0/de1777aca8863253aad0b2fe8a00fe2cec1a652d9c9552cd0b8d45985f9eb7004ca0dfb17c56c29aae49694a776f7a42a7c64edb7a7a8ed613eb51dc070412a2 + checksum: 10c0/690e4bc332e0f62ad6f09d69c799a2143ffe771f20784aa8a923e18e084d4214249a8a32cafa3e8b23479e058f8d78fe43b9e8c3b69c86c0b26f9ca93b879cb5 languageName: node linkType: hard @@ -7940,10 +7890,10 @@ __metadata: languageName: node linkType: hard -"lilconfig@npm:3.0.0": - version: 3.0.0 - resolution: "lilconfig@npm:3.0.0" - checksum: 10c0/7f5ee7a658dc016cacf146815e8d88b06f06f4402823b8b0934e305a57a197f55ccc9c5cd4fb5ea1b2b821c8ccaf2d54abd59602a4931af06eabda332388d3e6 +"lilconfig@npm:3.1.1": + version: 3.1.1 + resolution: "lilconfig@npm:3.1.1" + checksum: 10c0/311b559794546894e3fe176663427326026c1c644145be9e8041c58e268aa9328799b8dfe7e4dd8c6a4ae305feae95a1c9e007db3569f35b42b6e1bc8274754c languageName: node linkType: hard @@ -7961,50 +7911,50 @@ __metadata: languageName: node linkType: hard -"linkedom@npm:^0.16.0": - version: 0.16.11 - resolution: "linkedom@npm:0.16.11" +"linkedom@npm:^0.18.0": + version: 0.18.0 + resolution: "linkedom@npm:0.18.0" dependencies: css-select: "npm:^5.1.0" cssom: "npm:^0.5.0" html-escaper: "npm:^3.0.3" htmlparser2: "npm:^9.1.0" uhyphen: "npm:^0.2.0" - checksum: 10c0/6a8928ac91f84caa2c4ba6253989f42521139a5c5a3e386df5fc259ccd256cfd3eb1a6009afd74dbef64133358dc1c99ab181f909567f9f04d00eb260c9fea84 + checksum: 10c0/bbc89ea131ec4b21af668421912679df6842750ee402600dac956d56a0eae69e97f4fd5d8b0c68b1dadd29f050d425595fe894d6d738da5146776412fc33f27a languageName: node linkType: hard "lint-staged@npm:^15.0.0": - version: 15.2.2 - resolution: "lint-staged@npm:15.2.2" + version: 15.2.4 + resolution: "lint-staged@npm:15.2.4" dependencies: chalk: "npm:5.3.0" - commander: "npm:11.1.0" + commander: "npm:12.1.0" debug: "npm:4.3.4" execa: "npm:8.0.1" - lilconfig: "npm:3.0.0" - listr2: "npm:8.0.1" - micromatch: "npm:4.0.5" + lilconfig: "npm:3.1.1" + listr2: "npm:8.2.1" + micromatch: "npm:4.0.6" pidtree: "npm:0.6.0" string-argv: "npm:0.3.2" - yaml: "npm:2.3.4" + yaml: "npm:2.4.2" bin: lint-staged: bin/lint-staged.js - checksum: 10c0/a1ba6c7ee53e30a0f6ea9a351d95d3d0d2be916a41b561e22907e9ea513eb18cb3dbe65bff3ec13fad15777999efe56b2e2a95427e31d12a9b7e7948c3630ee2 + checksum: 10c0/a2638337cc2a8713f63bad3c1be86729f4ab25b276e225bf8da1949de2a1bdbd5ac6067a18b6c2ff3bd89cb689f6e2eb0ea596bddfd4e8bb60c49b4b97cb1d5b languageName: node linkType: hard -"listr2@npm:8.0.1": - version: 8.0.1 - resolution: "listr2@npm:8.0.1" +"listr2@npm:8.2.1": + version: 8.2.1 + resolution: "listr2@npm:8.2.1" dependencies: cli-truncate: "npm:^4.0.0" colorette: "npm:^2.0.20" eventemitter3: "npm:^5.0.1" log-update: "npm:^6.0.0" - rfdc: "npm:^1.3.0" + rfdc: "npm:^1.3.1" wrap-ansi: "npm:^9.0.0" - checksum: 10c0/b565d6ceb3a4c2dbe0c1735c0fd907afd0d6f89de21aced8e05187b2d88ca2f8f9ebc5d743885396a00f05f13146f6be744d098a56ce0402cf1cd131485a7ff1 + checksum: 10c0/ac32cba8e5c79bcf0dbbb43c2fcc73e47902320c1fa1891074fefb3aa3dfaeef9c76348da22909f65334ba9bee1140bfc903e2f0c64427dd08ef4ba8f6b1dbd0 languageName: node linkType: hard @@ -8214,9 +8164,9 @@ __metadata: linkType: hard "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": - version: 10.2.1 - resolution: "lru-cache@npm:10.2.1" - checksum: 10c0/e5b4aa7c60e154d27b8ff3e375f8c8cba6be5e94d4048d757588dc371941c15c11ab859d3a402dab33d338d082be9af569761af27a6bc0a9d91376900abb690e + version: 10.2.2 + resolution: "lru-cache@npm:10.2.2" + checksum: 10c0/402d31094335851220d0b00985084288136136992979d0e015f0f1697e15d1c86052d7d53ae86b614e5b058425606efffc6969a31a091085d7a2b80a8a1e26d6 languageName: node linkType: hard @@ -8298,9 +8248,9 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^13.0.0": - version: 13.0.0 - resolution: "make-fetch-happen@npm:13.0.0" +"make-fetch-happen@npm:^13.0.0, make-fetch-happen@npm:^13.0.1": + version: 13.0.1 + resolution: "make-fetch-happen@npm:13.0.1" dependencies: "@npmcli/agent": "npm:^2.0.0" cacache: "npm:^18.0.0" @@ -8311,9 +8261,10 @@ __metadata: minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" negotiator: "npm:^0.6.3" + proc-log: "npm:^4.2.0" promise-retry: "npm:^2.0.1" ssri: "npm:^10.0.0" - checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 + checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e languageName: node linkType: hard @@ -8399,13 +8350,23 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:4.0.5, micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" +"micromatch@npm:4.0.6": + version: 4.0.6 + resolution: "micromatch@npm:4.0.6" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^4.0.2" + checksum: 10c0/38c62036b45f6d0062e96845c5652464bcfdb1ec21c8eec227c57048171529a5407321cdc7266b6c950c0f357d38dae33dc33f8de96f4b44b87670ed33c0c713 + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.7 + resolution: "micromatch@npm:4.0.7" dependencies: - braces: "npm:^3.0.2" + braces: "npm:^3.0.3" picomatch: "npm:^2.3.1" - checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + checksum: 10c0/58fa99bc5265edec206e9163a1d2cec5fabc46a5b473c45f4a700adce88c2520456ae35f2b301e4410fb3afb27e9521fb2813f6fc96be0a48a89430e0916a772 languageName: node linkType: hard @@ -8514,7 +8475,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^9.0.0, minimatch@npm:^9.0.1, minimatch@npm:^9.0.3, minimatch@npm:^9.0.4": +"minimatch@npm:^9.0.0, minimatch@npm:^9.0.4": version: 9.0.4 resolution: "minimatch@npm:9.0.4" dependencies: @@ -8560,8 +8521,8 @@ __metadata: linkType: hard "minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" dependencies: encoding: "npm:^0.1.13" minipass: "npm:^7.0.3" @@ -8570,7 +8531,7 @@ __metadata: dependenciesMeta: encoding: optional: true - checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 + checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b languageName: node linkType: hard @@ -8634,10 +8595,10 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4": - version: 7.0.4 - resolution: "minipass@npm:7.0.4" - checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 languageName: node linkType: hard @@ -8705,7 +8666,7 @@ __metadata: languageName: node linkType: hard -"ml-matrix@npm:^6.5.0": +"ml-matrix@npm:^6.11.0, ml-matrix@npm:^6.5.0": version: 6.11.0 resolution: "ml-matrix@npm:6.11.0" dependencies: @@ -8715,15 +8676,15 @@ __metadata: languageName: node linkType: hard -"mlly@npm:^1.4.2, mlly@npm:^1.6.1": - version: 1.6.1 - resolution: "mlly@npm:1.6.1" +"mlly@npm:^1.4.2, mlly@npm:^1.7.0": + version: 1.7.0 + resolution: "mlly@npm:1.7.0" dependencies: acorn: "npm:^8.11.3" pathe: "npm:^1.1.2" - pkg-types: "npm:^1.0.3" - ufo: "npm:^1.3.2" - checksum: 10c0/a7bf26b3d4f83b0f5a5232caa3af44be08b464f562f31c11d885d1bc2d43b7d717137d47b0c06fdc69e1b33ffc09f902b6d2b18de02c577849d40914e8785092 + pkg-types: "npm:^1.1.0" + ufo: "npm:^1.5.3" + checksum: 10c0/0b90e5b86e35897fd830624635b30052d0dfeb01b62a021fff4c0a5f46fbc617db685acfbc8c1c7cdcf687d9ffb8d54f3c1b0087ab953232cb3c158a2fb2d770 languageName: node linkType: hard @@ -8900,13 +8861,13 @@ __metadata: linkType: hard "nopt@npm:^7.0.0": - version: 7.2.0 - resolution: "nopt@npm:7.2.0" + version: 7.2.1 + resolution: "nopt@npm:7.2.1" dependencies: abbrev: "npm:^2.0.0" bin: nopt: bin/nopt.js - checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 languageName: node linkType: hard @@ -8947,18 +8908,18 @@ __metadata: linkType: hard "normalize-package-data@npm:^6.0.0": - version: 6.0.0 - resolution: "normalize-package-data@npm:6.0.0" + version: 6.0.1 + resolution: "normalize-package-data@npm:6.0.1" dependencies: hosted-git-info: "npm:^7.0.0" is-core-module: "npm:^2.8.1" semver: "npm:^7.3.5" validate-npm-package-license: "npm:^3.0.4" - checksum: 10c0/dbd7c712c1e016a4b682640a53b44e9290c9db7b94355c71234bafee1534bef4c5dc3970c30c7ee2c4990a3c07e963e15e211b61624d58eb857d867ec71d3bb6 + checksum: 10c0/a44ef2312e6372b70fa48eb84081bdff509476abcd7e9ea3fe2f890a20aeb02068f6739230d2fa40f6a4494450a0a51dbfe00444ea83df3411451278ec94a911 languageName: node linkType: hard -"normalize-url@npm:^8.0.0": +"normalize-url@npm:^8.0.0, normalize-url@npm:^8.0.1": version: 8.0.1 resolution: "normalize-url@npm:8.0.1" checksum: 10c0/eb439231c4b84430f187530e6fdac605c5048ef4ec556447a10c00a91fc69b52d8d8298d9d608e68d3e0f7dc2d812d3455edf425e0f215993667c3183bcab1ef @@ -8975,11 +8936,11 @@ __metadata: linkType: hard "npm-bundled@npm:^3.0.0": - version: 3.0.0 - resolution: "npm-bundled@npm:3.0.0" + version: 3.0.1 + resolution: "npm-bundled@npm:3.0.1" dependencies: npm-normalize-package-bin: "npm:^3.0.0" - checksum: 10c0/65fcc621ba6e183be2715e3bbbf29d85e65e986965f06ee5e96a293d62dfad59ee57a9dcdd1c591eab156e03d58b3c35926b4211ce792d683458e15bb9f642c7 + checksum: 10c0/7975590a50b7ce80dd9f3eddc87f7e990c758f2f2c4d9313dd67a9aca38f1a5ac0abe20d514b850902c441e89d2346adfc3c6f1e9cbab3ea28ebb653c4442440 languageName: node linkType: hard @@ -9065,14 +9026,14 @@ __metadata: linkType: hard "npm-pick-manifest@npm:^9.0.0": - version: 9.0.0 - resolution: "npm-pick-manifest@npm:9.0.0" + version: 9.0.1 + resolution: "npm-pick-manifest@npm:9.0.1" dependencies: npm-install-checks: "npm:^6.0.0" npm-normalize-package-bin: "npm:^3.0.0" npm-package-arg: "npm:^11.0.0" semver: "npm:^7.3.5" - checksum: 10c0/930859b70fb7b8cd8aee1c9819c2fbe95db5ae246398fbd6eaa819793675e36be97da2b4d19e1b56a913a016f7a0a33070cd3ed363ad522d5dbced9c0d94d037 + checksum: 10c0/c9b93a533b599bccba4f5d7ba313725d83a0058d981e8318176bfbb3a6c9435acd1a995847eaa3ffb45162161947db9b0674ceee13cfe716b345573ca1073d8e languageName: node linkType: hard @@ -9147,30 +9108,30 @@ __metadata: linkType: hard "nwsapi@npm:^2.2.7": - version: 2.2.9 - resolution: "nwsapi@npm:2.2.9" - checksum: 10c0/e6ebbaedf44d1c1e13f7193e5129c8da1b2e8064862b70458ab9bd9e9640b8ad035a0e48d509e787527ecdddea74d5a02798420cd971264a4e03c2b173fadac8 - languageName: node - linkType: hard - -"nx@npm:18.3.4, nx@npm:>=17.1.2 < 19": - version: 18.3.4 - resolution: "nx@npm:18.3.4" - dependencies: - "@nrwl/tao": "npm:18.3.4" - "@nx/nx-darwin-arm64": "npm:18.3.4" - "@nx/nx-darwin-x64": "npm:18.3.4" - "@nx/nx-freebsd-x64": "npm:18.3.4" - "@nx/nx-linux-arm-gnueabihf": "npm:18.3.4" - "@nx/nx-linux-arm64-gnu": "npm:18.3.4" - "@nx/nx-linux-arm64-musl": "npm:18.3.4" - "@nx/nx-linux-x64-gnu": "npm:18.3.4" - "@nx/nx-linux-x64-musl": "npm:18.3.4" - "@nx/nx-win32-arm64-msvc": "npm:18.3.4" - "@nx/nx-win32-x64-msvc": "npm:18.3.4" + version: 2.2.10 + resolution: "nwsapi@npm:2.2.10" + checksum: 10c0/43dfa150387bd2a578e37556d0ae3330d5617f99e5a7b64e3400d4c2785620762aa6169caf8f5fbce17b7ef29c372060b602594320c374fba0a39da4163d77ed + languageName: node + linkType: hard + +"nx@npm:19.1.0, nx@npm:>=17.1.2 < 20": + version: 19.1.0 + resolution: "nx@npm:19.1.0" + dependencies: + "@nrwl/tao": "npm:19.1.0" + "@nx/nx-darwin-arm64": "npm:19.1.0" + "@nx/nx-darwin-x64": "npm:19.1.0" + "@nx/nx-freebsd-x64": "npm:19.1.0" + "@nx/nx-linux-arm-gnueabihf": "npm:19.1.0" + "@nx/nx-linux-arm64-gnu": "npm:19.1.0" + "@nx/nx-linux-arm64-musl": "npm:19.1.0" + "@nx/nx-linux-x64-gnu": "npm:19.1.0" + "@nx/nx-linux-x64-musl": "npm:19.1.0" + "@nx/nx-win32-arm64-msvc": "npm:19.1.0" + "@nx/nx-win32-x64-msvc": "npm:19.1.0" "@yarnpkg/lockfile": "npm:^1.1.0" "@yarnpkg/parsers": "npm:3.0.0-rc.46" - "@zkochan/js-yaml": "npm:0.0.6" + "@zkochan/js-yaml": "npm:0.0.7" axios: "npm:^1.6.0" chalk: "npm:^4.1.0" cli-cursor: "npm:3.1.0" @@ -9184,7 +9145,6 @@ __metadata: fs-extra: "npm:^11.1.0" ignore: "npm:^5.0.4" jest-diff: "npm:^29.4.1" - js-yaml: "npm:4.1.0" jsonc-parser: "npm:3.2.0" lines-and-columns: "npm:~2.0.3" minimatch: "npm:9.0.3" @@ -9233,7 +9193,7 @@ __metadata: bin: nx: bin/nx.js nx-cloud: bin/nx-cloud.js - checksum: 10c0/4ea923fc1312ebb2237a2af08c580b7bea99bf70a6ad6ed985084d6241de3e399ed1cd3588724baf2b6c8dc5eef745b7aa05d80070ef252d34b54d492cbcbd62 + checksum: 10c0/140c46c0066b6a2e3fe264118be1d9567f33b782cd360b210a916664241dfa1ca0c0360ccbdccde4bf52abeb03dd24de1f92129143ba12c0aca8b64753bc6247 languageName: node linkType: hard @@ -9384,16 +9344,16 @@ __metadata: linkType: hard "optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" + version: 0.9.4 + resolution: "optionator@npm:0.9.4" dependencies: - "@aashutoshrathi/word-wrap": "npm:^1.2.3" deep-is: "npm:^0.1.3" fast-levenshtein: "npm:^2.0.6" levn: "npm:^0.4.1" prelude-ls: "npm:^1.2.1" type-check: "npm:^0.4.0" - checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c + word-wrap: "npm:^1.2.5" + checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675 languageName: node linkType: hard @@ -9470,6 +9430,13 @@ __metadata: languageName: node linkType: hard +"p-cancelable@npm:^4.0.1": + version: 4.0.1 + resolution: "p-cancelable@npm:4.0.1" + checksum: 10c0/12636623f46784ba962b6fe7a1f34d021f1d9a2cc12c43e270baa715ea872d5c8c7d9f086ed420b8b9817e91d9bbe92c14c90e5dddd4a9968c81a2a7aef7089d + languageName: node + linkType: hard + "p-finally@npm:^1.0.0": version: 1.0.0 resolution: "p-finally@npm:1.0.0" @@ -9815,13 +9782,13 @@ __metadata: languageName: node linkType: hard -"path-scurry@npm:^1.10.2, path-scurry@npm:^1.6.1": - version: 1.10.2 - resolution: "path-scurry@npm:1.10.2" +"path-scurry@npm:^1.11.1, path-scurry@npm:^1.6.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" dependencies: lru-cache: "npm:^10.2.0" minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/d723777fbf9627f201e64656680f66ebd940957eebacf780e6cce1c2919c29c116678b2d7dbf8821b3a2caa758d125f4444005ccec886a25c8f324504e48e601 + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d languageName: node linkType: hard @@ -9878,6 +9845,13 @@ __metadata: languageName: node linkType: hard +"peek-readable@npm:^5.0.0": + version: 5.0.0 + resolution: "peek-readable@npm:5.0.0" + checksum: 10c0/060aece3a907a157b4839aa923b61b664b59cac7296dc8d8e0ddcc39065a4f1e328dd2f171c8a49e869aabc6e076a1be59f939183fb0ababc81f3c870006d672 + languageName: node + linkType: hard + "pend@npm:~1.2.0": version: 1.2.0 resolution: "pend@npm:1.2.0" @@ -9885,10 +9859,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 +"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1": + version: 1.0.1 + resolution: "picocolors@npm:1.0.1" + checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400 languageName: node linkType: hard @@ -9899,6 +9873,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + "pidtree@npm:0.6.0": version: 0.6.0 resolution: "pidtree@npm:0.6.0" @@ -9945,38 +9926,38 @@ __metadata: languageName: node linkType: hard -"pkg-types@npm:^1.0.3": - version: 1.1.0 - resolution: "pkg-types@npm:1.1.0" +"pkg-types@npm:^1.0.3, pkg-types@npm:^1.1.0": + version: 1.1.1 + resolution: "pkg-types@npm:1.1.1" dependencies: confbox: "npm:^0.1.7" - mlly: "npm:^1.6.1" + mlly: "npm:^1.7.0" pathe: "npm:^1.1.2" - checksum: 10c0/b350da13d2dab7dc2fa9d65a08a2038d841d8d8c94bf3878dd911a522e20da50d6662bab510fa329e363e403892374b3b847ebf7b3e10011805cdefb00f228fd + checksum: 10c0/c7d167935de7207479e5829086040d70bea289f31fc1331f17c83e996a4440115c9deba2aa96de839ea66e1676d083c9ca44b33886f87bffa6b49740b67b6fcb languageName: node linkType: hard -"playwright-core@npm:1.43.1": - version: 1.43.1 - resolution: "playwright-core@npm:1.43.1" +"playwright-core@npm:1.44.1": + version: 1.44.1 + resolution: "playwright-core@npm:1.44.1" bin: playwright-core: cli.js - checksum: 10c0/e99f087c5f2b9ab6c379945311ea6e9e90c33cefecd8f950a0716e498dfdded738d6738266af307806d7730eacda8410c7563030690b9acf80c0b268781470b6 + checksum: 10c0/6ffa3a04822b3df86d7f47a97e4f20318c0c50868ba4311820e6626ecadaab1424fbd0a3d01f0b4228adc0c781115e44b801742a4970b88739f804d82f142d68 languageName: node linkType: hard -"playwright@npm:1.43.1": - version: 1.43.1 - resolution: "playwright@npm:1.43.1" +"playwright@npm:1.44.1": + version: 1.44.1 + resolution: "playwright@npm:1.44.1" dependencies: fsevents: "npm:2.3.2" - playwright-core: "npm:1.43.1" + playwright-core: "npm:1.44.1" dependenciesMeta: fsevents: optional: true bin: playwright: cli.js - checksum: 10c0/7edc1e12b8f3b791c7e8d1f9c595be35c6eaf8100f9550d5e35e979aca0bc229734e65f200f2a02dc7e21630cc40c171d7b25f5f6ccf628c79e4a2d4690909ab + checksum: 10c0/de827d17746b18ae2ec67d510a640d8ceebf8ee8e3d8399bccffa83b76a967498ca377777e4e6a1daaef4b3c86cb2c44c7468de53d2d915acc61b3b89c032738 languageName: node linkType: hard @@ -10036,7 +10017,7 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^4.0.0": +"proc-log@npm:^4.0.0, proc-log@npm:^4.2.0": version: 4.2.0 resolution: "proc-log@npm:4.2.0" checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 @@ -10075,11 +10056,11 @@ __metadata: linkType: hard "promzard@npm:^1.0.0": - version: 1.0.1 - resolution: "promzard@npm:1.0.1" + version: 1.0.2 + resolution: "promzard@npm:1.0.2" dependencies: read: "npm:^3.0.1" - checksum: 10c0/8445442ff1ff71a2ac2d91ca6a0908631cf6573745298afe52283af23ec00c2dc6276ac4e75cd9bb521c126d33d268c5e5682c93eda492a5dcca8a76e0f671b3 + checksum: 10c0/d53c4ecb8b606b7e4bdeab14ac22c5f81a57463d29de1b8fe43bbc661106d9e4a79d07044bd3f69bde82c7ebacba7307db90a9699bc20482ce637bdea5fb8e4b languageName: node linkType: hard @@ -10198,30 +10179,30 @@ __metadata: languageName: node linkType: hard -"puppeteer-core@npm:22.7.1": - version: 22.7.1 - resolution: "puppeteer-core@npm:22.7.1" +"puppeteer-core@npm:22.10.0": + version: 22.10.0 + resolution: "puppeteer-core@npm:22.10.0" dependencies: "@puppeteer/browsers": "npm:2.2.3" chromium-bidi: "npm:0.5.19" debug: "npm:4.3.4" - devtools-protocol: "npm:0.0.1273771" - ws: "npm:8.16.0" - checksum: 10c0/3e7b7f2acff17f4501edd721abbfbaa826c229a25fab280f907d5812bb8d2409fdbd4d9e4846f260579f41790170daa15cfa1ec67ff365ea9bf655ace2bbda4c + devtools-protocol: "npm:0.0.1286932" + ws: "npm:8.17.0" + checksum: 10c0/3332dd764bdc8aa651a43a1dc7b8cc098a6dadaa4814dd4749a56437cdb280271b8679d9fb6736575b556f08f36741f4a1d28c9c5090393edd35233c6ea1562f languageName: node linkType: hard -"puppeteer@npm:22.7.1": - version: 22.7.1 - resolution: "puppeteer@npm:22.7.1" +"puppeteer@npm:22.10.0": + version: 22.10.0 + resolution: "puppeteer@npm:22.10.0" dependencies: "@puppeteer/browsers": "npm:2.2.3" cosmiconfig: "npm:9.0.0" - devtools-protocol: "npm:0.0.1273771" - puppeteer-core: "npm:22.7.1" + devtools-protocol: "npm:0.0.1286932" + puppeteer-core: "npm:22.10.0" bin: puppeteer: lib/esm/puppeteer/node/cli.js - checksum: 10c0/6f7e1e171b519fd0c57c3f668f76ce12b096ee419e6e2e1627fe3ebb55b8884fa4bd41789e66fbb9b2e2c33a2dd06cd87133d77d20d9e63cd36719d182a4e123 + checksum: 10c0/28b155641ae0ab51d64d38fa17c9822179b70183d10944ace67e87f9c66f8e20384ac6e502c5db4ede0a4356950caef0c53e1e60cbf33fd27beb86ba802d8957 languageName: node linkType: hard @@ -10303,9 +10284,9 @@ __metadata: linkType: hard "react-is@npm:^18.0.0": - version: 18.3.0 - resolution: "react-is@npm:18.3.0" - checksum: 10c0/88fed0b155686de74699d8815115be449b15b17ec78e0d6df994af5b9d02d0661fd5688a9ef43fd0a140b8db1e39786b611803addf413477209820e2d7ac793e + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 languageName: node linkType: hard @@ -10339,14 +10320,14 @@ __metadata: linkType: hard "read-package-json@npm:^7.0.0": - version: 7.0.0 - resolution: "read-package-json@npm:7.0.0" + version: 7.0.1 + resolution: "read-package-json@npm:7.0.1" dependencies: glob: "npm:^10.2.2" json-parse-even-better-errors: "npm:^3.0.0" normalize-package-data: "npm:^6.0.0" npm-normalize-package-bin: "npm:^3.0.0" - checksum: 10c0/a2d373d0f87613fe86ec49c7e4bcdaf2a14967c258c6ccfd9585dec8b21e3d5bfe422c460648fb30e8c93fc13579da0d9c9c65adc5ec4e95ec888d99e4bccc79 + checksum: 10c0/4bb2ad7dc6f460d0db04c5ef6ad7e9644d9566f07fa3563a938aedf0ee4b5ea0f0e2c5a321f79a73b34488ade0bd5937a7671ee3b453c42cd9d5e7e9b07c57f3 languageName: node linkType: hard @@ -10438,6 +10419,15 @@ __metadata: languageName: node linkType: hard +"readable-web-to-node-stream@npm:^3.0.2": + version: 3.0.2 + resolution: "readable-web-to-node-stream@npm:3.0.2" + dependencies: + readable-stream: "npm:^3.6.0" + checksum: 10c0/533d5cd1580232a2c753e52a245be13fc552e6f82c5053a8a8da7ea1063d73a34f936a86b3d4433cdb4a13dd683835cfc87f230936cb96d329a1e28b6040f42e + languageName: node + linkType: hard + "redent@npm:^3.0.0": version: 3.0.0 resolution: "redent@npm:3.0.0" @@ -10642,7 +10632,7 @@ __metadata: languageName: node linkType: hard -"rfdc@npm:^1.3.0": +"rfdc@npm:^1.3.1": version: 1.3.1 resolution: "rfdc@npm:1.3.1" checksum: 10c0/69f65e3ed30970f8055fac9fbbef9ce578800ca19554eab1dcbffe73a4b8aef536bc4248313889cf25e3b4e38b212c721eabe30856575bf2b2bc3d90f8ba93ef @@ -10650,13 +10640,13 @@ __metadata: linkType: hard "rimraf@npm:*, rimraf@npm:^5.0.0": - version: 5.0.5 - resolution: "rimraf@npm:5.0.5" + version: 5.0.7 + resolution: "rimraf@npm:5.0.7" dependencies: glob: "npm:^10.3.7" bin: rimraf: dist/esm/bin.mjs - checksum: 10c0/d50dbe724f33835decd88395b25ed35995077c60a50ae78ded06e0185418914e555817aad1b4243edbff2254548c2f6ad6f70cc850040bebb4da9e8cc016f586 + checksum: 10c0/bd6dbfaa98ae34ce1e54d1e06045d2d63e8859d9a1979bb4a4628b652b459a2d17b17dc20ee072b034bd2d09bd691e801d24c4d9cfe94e16fdbcc8470a1d4807 languageName: node linkType: hard @@ -10690,25 +10680,25 @@ __metadata: linkType: hard "rollup@npm:^4.13.0": - version: 4.16.4 - resolution: "rollup@npm:4.16.4" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.16.4" - "@rollup/rollup-android-arm64": "npm:4.16.4" - "@rollup/rollup-darwin-arm64": "npm:4.16.4" - "@rollup/rollup-darwin-x64": "npm:4.16.4" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.16.4" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.16.4" - "@rollup/rollup-linux-arm64-gnu": "npm:4.16.4" - "@rollup/rollup-linux-arm64-musl": "npm:4.16.4" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.16.4" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.16.4" - "@rollup/rollup-linux-s390x-gnu": "npm:4.16.4" - "@rollup/rollup-linux-x64-gnu": "npm:4.16.4" - "@rollup/rollup-linux-x64-musl": "npm:4.16.4" - "@rollup/rollup-win32-arm64-msvc": "npm:4.16.4" - "@rollup/rollup-win32-ia32-msvc": "npm:4.16.4" - "@rollup/rollup-win32-x64-msvc": "npm:4.16.4" + version: 4.18.0 + resolution: "rollup@npm:4.18.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.18.0" + "@rollup/rollup-android-arm64": "npm:4.18.0" + "@rollup/rollup-darwin-arm64": "npm:4.18.0" + "@rollup/rollup-darwin-x64": "npm:4.18.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.18.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.18.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.18.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.18.0" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.18.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.18.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.18.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.18.0" + "@rollup/rollup-linux-x64-musl": "npm:4.18.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.18.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.18.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.18.0" "@types/estree": "npm:1.0.5" fsevents: "npm:~2.3.2" dependenciesMeta: @@ -10748,7 +10738,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/f88017e8a599b055c555fe9b9dc2eee3def3067701600492a2dc2ed3ba78c3f0b1d7927f9ed934afef936167a73447121e8f7fbc4804b73f6c181e2d7f52e853 + checksum: 10c0/7d0239f029c48d977e0d0b942433bed9ca187d2328b962fc815fc775d0fdf1966ffcd701fef265477e999a1fb01bddcc984fc675d1b9d9864bf8e1f1f487e23e languageName: node linkType: hard @@ -10860,7 +10850,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:7.6.0, semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": +"semver@npm:7.6.0": version: 7.6.0 resolution: "semver@npm:7.6.0" dependencies: @@ -10880,6 +10870,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.3.8, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.0": + version: 7.6.2 + resolution: "semver@npm:7.6.2" + bin: + semver: bin/semver.js + checksum: 10c0/97d3441e97ace8be4b1976433d1c32658f6afaff09f143e52c593bae7eef33de19e3e369c88bd985ce1042c6f441c80c6803078d1de2a9988080b66684cbb30c + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -11027,16 +11026,16 @@ __metadata: linkType: hard "sigstore@npm:^2.2.0": - version: 2.3.0 - resolution: "sigstore@npm:2.3.0" + version: 2.3.1 + resolution: "sigstore@npm:2.3.1" dependencies: - "@sigstore/bundle": "npm:^2.3.1" + "@sigstore/bundle": "npm:^2.3.2" "@sigstore/core": "npm:^1.0.0" - "@sigstore/protobuf-specs": "npm:^0.3.1" - "@sigstore/sign": "npm:^2.3.0" - "@sigstore/tuf": "npm:^2.3.1" - "@sigstore/verify": "npm:^1.2.0" - checksum: 10c0/13271fc0d0960a61994faf1a9c165429e74b09d090fb3f9dbe63b8c4ce5e275ade8abf5c72b738684888a8b87538ec2c4691d7a06c6023c0f2ff8f1aea104f2d + "@sigstore/protobuf-specs": "npm:^0.3.2" + "@sigstore/sign": "npm:^2.3.2" + "@sigstore/tuf": "npm:^2.3.4" + "@sigstore/verify": "npm:^1.2.1" + checksum: 10c0/8906b1074130d430d707e46f15c66eb6996891dc0d068705f1884fb1251a4a367f437267d44102cdebcee34f1768b3f30131a2ec8fb7aac74ba250903a459aa7 languageName: node linkType: hard @@ -11164,9 +11163,9 @@ __metadata: linkType: hard "spdx-license-ids@npm:^3.0.0": - version: 3.0.17 - resolution: "spdx-license-ids@npm:3.0.17" - checksum: 10c0/ddf9477b5afc70f1a7d3bf91f0b8e8a1c1b0fa65d2d9a8b5c991b1a2ba91b693d8b9749700119d5ce7f3fbf307ac421087ff43d321db472605e98a5804f80eac + version: 3.0.18 + resolution: "spdx-license-ids@npm:3.0.18" + checksum: 10c0/c64ba03d4727191c8fdbd001f137d6ab51386c350d5516be8a4576c2e74044cb27bc8a758f6a04809da986cc0b14213f069b04de72caccecbc9f733753ccde32 languageName: node linkType: hard @@ -11219,11 +11218,11 @@ __metadata: linkType: hard "ssri@npm:^10.0.0, ssri@npm:^10.0.1": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" + version: 10.0.6 + resolution: "ssri@npm:10.0.6" dependencies: minipass: "npm:^7.0.3" - checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 + checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 languageName: node linkType: hard @@ -11517,6 +11516,16 @@ __metadata: languageName: node linkType: hard +"strtok3@npm:^7.0.0": + version: 7.0.0 + resolution: "strtok3@npm:7.0.0" + dependencies: + "@tokenizer/token": "npm:^0.3.0" + peek-readable: "npm:^5.0.0" + checksum: 10c0/63a72b10a302719242bfd31ca53955a06bb091dfec46ef14ca10c4b17ab15780ed8365cd5b270cfbde92d571f677539957add436e4bf9cccdf9977b40d762583 + languageName: node + linkType: hard + "supports-color@npm:^2.0.0": version: 2.0.0 resolution: "supports-color@npm:2.0.0" @@ -11604,21 +11613,7 @@ __metadata: languageName: node linkType: hard -"tar@npm:6.1.11": - version: 6.1.11 - resolution: "tar@npm:6.1.11" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^3.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/5a016f5330f43815420797b87ade578e2ea60affd47439c988a3fc8f7bb6b36450d627c31ba6a839346fae248b4c8c12bb06bb0716211f37476838c7eff91f05 - languageName: node - linkType: hard - -"tar@npm:^6.1.11, tar@npm:^6.1.2": +"tar@npm:6.2.1, tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.2.1 resolution: "tar@npm:6.2.1" dependencies: @@ -11716,21 +11711,21 @@ __metadata: languageName: node linkType: hard -"tldts-core@npm:^6.1.18": - version: 6.1.18 - resolution: "tldts-core@npm:6.1.18" - checksum: 10c0/c54895464f030ed96fe8f41abd08328fa7c1e095e72b5f67de10bcaddbef5c8156368eab8d05d1f7ac381fa2b7c11d0623c44fa2b156721af718497c17a27bd2 +"tldts-core@npm:^6.1.21": + version: 6.1.21 + resolution: "tldts-core@npm:6.1.21" + checksum: 10c0/f458056d665398204e62ffccc8ac821d63f58ec115de3351f9611ce46aceac22db0db0d809a395e1327770d0cb5ad69c6abdbf539e5463ba4c4b93e1114bd987 languageName: node linkType: hard "tldts@npm:^6.0.0": - version: 6.1.18 - resolution: "tldts@npm:6.1.18" + version: 6.1.21 + resolution: "tldts@npm:6.1.21" dependencies: - tldts-core: "npm:^6.1.18" + tldts-core: "npm:^6.1.21" bin: tldts: bin/cli.js - checksum: 10c0/0c650ba3d5a67a85f6087ce6ef3198a3d7d21b2538cca6317aed6fbb38585a5cff97a1e97563fdb35f603c87798258bca75d0debd09dc6288920a4116aaff930 + checksum: 10c0/7686fb459c0131522f4842737dcc1fb25c98ef51be25b2ed12cfc70abe720903eda2fb98477d24644fc5828ff7f5666f7755cc85363d3bcd36f40ec160d34237 languageName: node linkType: hard @@ -11773,15 +11768,25 @@ __metadata: languageName: node linkType: hard +"token-types@npm:^5.0.1": + version: 5.0.1 + resolution: "token-types@npm:5.0.1" + dependencies: + "@tokenizer/token": "npm:^0.3.0" + ieee754: "npm:^1.2.1" + checksum: 10c0/cb671b2b52271362816d22b7a076082b0da033cd7807992b81ae53cfd8541bd013ac29e455c3c7a8bb4f88aa1c5315a12353c3599b7f568df238d3c1723f9d8d + languageName: node + linkType: hard + "tough-cookie@npm:^4.0.0, tough-cookie@npm:^4.1.3": - version: 4.1.3 - resolution: "tough-cookie@npm:4.1.3" + version: 4.1.4 + resolution: "tough-cookie@npm:4.1.4" dependencies: psl: "npm:^1.1.33" punycode: "npm:^2.1.1" universalify: "npm:^0.2.0" url-parse: "npm:^1.5.3" - checksum: 10c0/4fc0433a0cba370d57c4b240f30440c848906dee3180bb6e85033143c2726d322e7e4614abb51d42d111ebec119c4876ed8d7247d4113563033eebbc1739c831 + checksum: 10c0/aca7ff96054f367d53d1e813e62ceb7dd2eda25d7752058a74d64b7266fd07be75908f3753a32ccf866a2f997604b414cfb1916d6e7f69bc64d9d9939b0d6c45 languageName: node linkType: hard @@ -11862,18 +11867,18 @@ __metadata: linkType: hard "tsx@npm:^4.4.0": - version: 4.7.3 - resolution: "tsx@npm:4.7.3" + version: 4.11.0 + resolution: "tsx@npm:4.11.0" dependencies: - esbuild: "npm:~0.19.10" + esbuild: "npm:~0.20.2" fsevents: "npm:~2.3.3" - get-tsconfig: "npm:^4.7.2" + get-tsconfig: "npm:^4.7.5" dependenciesMeta: fsevents: optional: true bin: tsx: dist/cli.mjs - checksum: 10c0/d86e7e3807369c91c1d3e24f45f678455fa14cb8f56e0dd0ae9b3a010a89d631901d0fb8fbb1a074c2fee3f99acf4201c43a1c50f977e36e0b6ffe4dfba7d15a + checksum: 10c0/f8a714cd81c55c25c16b2fc4e879d517d37bedce8b74dee06c767d19b7e1a8b60e1eff3066b9fe8f66539eb8350dd4d16b51be4d1dd83af75bd8ddc8efcd0991 languageName: node linkType: hard @@ -11888,14 +11893,14 @@ __metadata: languageName: node linkType: hard -"tuf-js@npm:^2.2.0": - version: 2.2.0 - resolution: "tuf-js@npm:2.2.0" +"tuf-js@npm:^2.2.1": + version: 2.2.1 + resolution: "tuf-js@npm:2.2.1" dependencies: - "@tufjs/models": "npm:2.0.0" + "@tufjs/models": "npm:2.0.1" debug: "npm:^4.3.4" - make-fetch-happen: "npm:^13.0.0" - checksum: 10c0/9a11793feed2aa798c1a50107a0f031034b4a670016684e0d0b7d97be3fff7f98f53783c30120bce795c16d58f1b951410bb673aae92cc2437d641cc7457e215 + make-fetch-happen: "npm:^13.0.1" + checksum: 10c0/7c17b097571f001730d7be0aeaec6bec46ed2f25bf73990b1133c383d511a1ce65f831e5d6d78770940a85b67664576ff0e4c98e5421bab6d33ff36e4be500c8 languageName: node linkType: hard @@ -12036,9 +12041,9 @@ __metadata: linkType: hard "type-fest@npm:^4.0.0": - version: 4.17.0 - resolution: "type-fest@npm:4.17.0" - checksum: 10c0/7c474dca230b351f184fed07c037a9440d10c10f2570b1f591bded4760361d89efbeec0185038dde6557b3ea6622dba3579d8b36d5415b89ec9efbc8781a6f22 + version: 4.18.2 + resolution: "type-fest@npm:4.18.2" + checksum: 10c0/5e669128bf7cbc9f9cea4e4862c974517a1d9f77652589c2ac0908a8be5d852d4e52593ed14f4d8a44a604fb5e8a8ec1b658e461acd8bb7592f5e5265a04cbab languageName: node linkType: hard @@ -12131,7 +12136,7 @@ __metadata: languageName: node linkType: hard -"ufo@npm:^1.3.2": +"ufo@npm:^1.5.3": version: 1.5.3 resolution: "ufo@npm:1.5.3" checksum: 10c0/1df10702582aa74f4deac4486ecdfd660e74be057355f1afb6adfa14243476cf3d3acff734ccc3d0b74e9bfdefe91d578f3edbbb0a5b2430fe93cd672370e024 @@ -12244,20 +12249,20 @@ __metadata: linkType: hard "update-browserslist-db@npm:^1.0.13": - version: 1.0.13 - resolution: "update-browserslist-db@npm:1.0.13" + version: 1.0.16 + resolution: "update-browserslist-db@npm:1.0.16" dependencies: - escalade: "npm:^3.1.1" - picocolors: "npm:^1.0.0" + escalade: "npm:^3.1.2" + picocolors: "npm:^1.0.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6 + checksum: 10c0/5995399fc202adbb51567e4810e146cdf7af630a92cc969365a099150cb00597e425cc14987ca7080b09a4d0cfd2a3de53fbe72eebff171aed7f9bb81f9bf405 languageName: node linkType: hard -"uri-js@npm:^4.2.2": +"uri-js@npm:^4.2.2, uri-js@npm:^4.4.1": version: 4.4.1 resolution: "uri-js@npm:4.4.1" dependencies: @@ -12332,7 +12337,7 @@ __metadata: languageName: node linkType: hard -"validate-npm-package-name@npm:5.0.0, validate-npm-package-name@npm:^5.0.0": +"validate-npm-package-name@npm:5.0.0": version: 5.0.0 resolution: "validate-npm-package-name@npm:5.0.0" dependencies: @@ -12350,6 +12355,13 @@ __metadata: languageName: node linkType: hard +"validate-npm-package-name@npm:^5.0.0": + version: 5.0.1 + resolution: "validate-npm-package-name@npm:5.0.1" + checksum: 10c0/903e738f7387404bb72f7ac34e45d7010c877abd2803dc2d614612527927a40a6d024420033132e667b1bade94544b8a1f65c9431a4eb30d0ce0d80093cd1f74 + languageName: node + linkType: hard + "vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -12357,9 +12369,9 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:1.5.2": - version: 1.5.2 - resolution: "vite-node@npm:1.5.2" +"vite-node@npm:1.6.0": + version: 1.6.0 + resolution: "vite-node@npm:1.6.0" dependencies: cac: "npm:^6.7.14" debug: "npm:^4.3.4" @@ -12368,7 +12380,7 @@ __metadata: vite: "npm:^5.0.0" bin: vite-node: vite-node.mjs - checksum: 10c0/a5e90ae2b3ec912fbdf22ecf10f1b0d769e2fd1f24c5e4090488be03068b994dbcf9bea492d5c5fbde77f45a0e328e90a48a9ecdcb5eab30709e6d221aa0c7bd + checksum: 10c0/0807e6501ac7763e0efa2b4bd484ce99fb207e92c98624c9f8999d1f6727ac026e457994260fa7fdb7060d87546d197081e46a705d05b0136a38b6f03715cbc2 languageName: node linkType: hard @@ -12389,8 +12401,8 @@ __metadata: linkType: hard "vite@npm:^5.0.0": - version: 5.2.10 - resolution: "vite@npm:5.2.10" + version: 5.2.11 + resolution: "vite@npm:5.2.11" dependencies: esbuild: "npm:^0.20.1" fsevents: "npm:~2.3.3" @@ -12424,19 +12436,19 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/d50630ac8de807a6185cd9b5763b3969b2950a454cf6a4482f3780f183865e8d6f7e3aa57dd70ede1c493aaa861efb25b43562287efbcf8b471b7f3b88857a33 + checksum: 10c0/664b8d68e4f5152ae16bd2041af1bbaf11c43630ac461835bc31ff7d019913b33e465386e09f66dc1037d7aeefbb06939e0173787c063319bc2bd30c3b9ad8e4 languageName: node linkType: hard "vitest@npm:^1.4.0": - version: 1.5.2 - resolution: "vitest@npm:1.5.2" + version: 1.6.0 + resolution: "vitest@npm:1.6.0" dependencies: - "@vitest/expect": "npm:1.5.2" - "@vitest/runner": "npm:1.5.2" - "@vitest/snapshot": "npm:1.5.2" - "@vitest/spy": "npm:1.5.2" - "@vitest/utils": "npm:1.5.2" + "@vitest/expect": "npm:1.6.0" + "@vitest/runner": "npm:1.6.0" + "@vitest/snapshot": "npm:1.6.0" + "@vitest/spy": "npm:1.6.0" + "@vitest/utils": "npm:1.6.0" acorn-walk: "npm:^8.3.2" chai: "npm:^4.3.10" debug: "npm:^4.3.4" @@ -12450,13 +12462,13 @@ __metadata: tinybench: "npm:^2.5.1" tinypool: "npm:^0.8.3" vite: "npm:^5.0.0" - vite-node: "npm:1.5.2" + vite-node: "npm:1.6.0" why-is-node-running: "npm:^2.2.2" peerDependencies: "@edge-runtime/vm": "*" "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.5.2 - "@vitest/ui": 1.5.2 + "@vitest/browser": 1.6.0 + "@vitest/ui": 1.6.0 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -12474,7 +12486,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10c0/1ad3a33d3ab5faeb4baa9c9ba62b34e94c00a6e140ba2a8589224d6b9db89e3a3d6753d1d1ecb85cbcb0f9023b22d8066dfde7f31e1733484f2ea5cf640f4969 + checksum: 10c0/065da5b8ead51eb174d93dac0cd50042ca9539856dc25e340ea905d668c41961f7e00df3e388e6c76125b2c22091db2e8465f993d0f6944daf9598d549e562e7 languageName: node linkType: hard @@ -12647,6 +12659,13 @@ __metadata: languageName: node linkType: hard +"word-wrap@npm:^1.2.5": + version: 1.2.5 + resolution: "word-wrap@npm:1.2.5" + checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20 + languageName: node + linkType: hard + "wordwrap@npm:^1.0.0": version: 1.0.0 resolution: "wordwrap@npm:1.0.0" @@ -12751,9 +12770,9 @@ __metadata: languageName: node linkType: hard -"ws@npm:8.16.0, ws@npm:^8.16.0": - version: 8.16.0 - resolution: "ws@npm:8.16.0" +"ws@npm:8.17.0, ws@npm:^8.16.0": + version: 8.17.0 + resolution: "ws@npm:8.17.0" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -12762,7 +12781,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 10c0/a7783bb421c648b1e622b423409cb2a58ac5839521d2f689e84bc9dc41d59379c692dd405b15a997ea1d4c0c2e5314ad707332d0c558f15232d2bc07c0b4618a + checksum: 10c0/55241ec93a66fdfc4bf4f8bc66c8eb038fda2c7a4ee8f6f157f2ca7dc7aa76aea0c0da0bf3adb2af390074a70a0e45456a2eaf80e581e630b75df10a64b0a990 languageName: node linkType: hard @@ -12816,10 +12835,12 @@ __metadata: languageName: node linkType: hard -"yaml@npm:2.3.4": - version: 2.3.4 - resolution: "yaml@npm:2.3.4" - checksum: 10c0/cf03b68f8fef5e8516b0f0b54edaf2459f1648317fc6210391cf606d247e678b449382f4bd01f77392538429e306c7cba8ff46ff6b37cac4de9a76aff33bd9e1 +"yaml@npm:2.4.2": + version: 2.4.2 + resolution: "yaml@npm:2.4.2" + bin: + yaml: bin.mjs + checksum: 10c0/280ddb2e43ffa7d91a95738e80c8f33e860749cdc25aa6d9e4d350a28e174fd7e494e4aa023108aaee41388e451e3dc1292261d8f022aabcf90df9c63d647549 languageName: node linkType: hard From 7a2ecfa7044eb412b80d6326ad669612d496b31d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 21 Jun 2024 04:19:14 +0000 Subject: [PATCH 2/2] chore(deps): bump ws from 7.5.9 to 7.5.10 in /website Bumps [ws](https://github.com/websockets/ws) from 7.5.9 to 7.5.10. - [Release notes](https://github.com/websockets/ws/releases) - [Commits](https://github.com/websockets/ws/compare/7.5.9...7.5.10) --- updated-dependencies: - dependency-name: ws dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> --- website/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/yarn.lock b/website/yarn.lock index b0873364f5a4..38df999172cc 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -14147,8 +14147,8 @@ __metadata: linkType: hard "ws@npm:^7.3.1": - version: 7.5.9 - resolution: "ws@npm:7.5.9" + version: 7.5.10 + resolution: "ws@npm:7.5.10" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -14157,7 +14157,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 10c0/aec4ef4eb65821a7dde7b44790f8699cfafb7978c9b080f6d7a98a7f8fc0ce674c027073a78574c94786ba7112cc90fa2cc94fc224ceba4d4b1030cff9662494 + checksum: 10c0/bd7d5f4aaf04fae7960c23dcb6c6375d525e00f795dd20b9385902bd008c40a94d3db3ce97d878acc7573df852056ca546328b27b39f47609f80fb22a0a9b61d languageName: node linkType: hard